Page MenuHomeHEPForge

No OneTemporary

This file is larger than 256 KB, so syntax highlighting was skipped.
This document is not UTF8. It was detected as ISO-8859-1 (Latin 1) and converted to UTF8 for display.
Index: tags/siscone-3.0.2/examples/mem_check
===================================================================
--- tags/siscone-3.0.2/examples/mem_check (revision 0)
+++ tags/siscone-3.0.2/examples/mem_check (revision 398)
@@ -0,0 +1,48 @@
+#!/bin/bash
+
+# this assumes that
+# - you have pprof, sed, dc and awk
+# - you have linked test with google profiler libraries (see src/Makefile)
+get_mem_usage_event(){
+ echo $i;
+ HEAPPROFILE=hp ./test $i
+ heap_file=`ls -1 *.heap | tail -n 1`
+ pprof --text --alloc_space --files ./test $heap_file | grep "??" > m.dat
+ mem_used=`awk '{print $4}' m.dat`
+}
+
+save_to_file(){
+ echo $i" "$mem_usage" "$mem_usage2 >> mem_usage.dat
+}
+
+#rm mem_usage.dat
+
+get_mem_usage(){
+ mem_usage=0.0
+ mem_usage2=0.0
+ for (( j=0 ; j<$N_runs ; j++ )); do
+ get_mem_usage_event
+ mem_usage=`echo "6 k $mem_usage $mem_used + p" | dc`
+ mem_usage2=`echo "6 k $mem_usage2 $mem_used $mem_used * + p" | dc`
+ done
+ mem_usage=`echo "6 k $mem_usage $N_runs / p" | dc`
+ mem_usage2=`echo "6 k $mem_usage2 $N_runs / $mem_usage $mem_usage * - p" | dc`
+ save_to_file
+}
+
+N_runs=1000
+for (( i=10 ; i<100 ; i+=10 )); do
+ get_mem_usage
+done
+N_runs=100
+for (( i=100 ; i<1000 ; i+=50 )); do
+ get_mem_usage
+done
+N_runs=10
+for (( i=1000 ; i<5001 ; i+=500 )); do
+ get_mem_usage
+done
+#N_runs=5
+#for (( i=6000 ; i<6001 ; i+=500 )); do
+# get_mem_usage
+#done
Property changes on: tags/siscone-3.0.2/examples/mem_check
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/siscone-3.0.2/examples/spherical.cpp
===================================================================
--- tags/siscone-3.0.2/examples/spherical.cpp (revision 0)
+++ tags/siscone-3.0.2/examples/spherical.cpp (revision 398)
@@ -0,0 +1,97 @@
+///////////////////////////////////////////////////////////////////////////////
+// File: spherical.cpp //
+// Description: example program for the CSphsiscone class (spherical SISCone)//
+// This file is part of the SISCone project. //
+// WARNING: this is not the main SISCone trunk but //
+// an adaptation to spherical coordinates //
+// For more details, see http://projects.hepforge.org/siscone //
+// //
+// Copyright (c) 2006 Gavin Salam and Gregory Soyez //
+// //
+// This program is free software; you can redistribute it and/or modify //
+// it under the terms of the GNU General Public License as published by //
+// the Free Software Foundation; either version 2 of the License, or //
+// (at your option) any later version. //
+// //
+// This program is distributed in the hope that it will be useful, //
+// but WITHOUT ANY WARRANTY; without even the implied warranty of //
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
+// GNU General Public License for more details. //
+// //
+// You should have received a copy of the GNU General Public License //
+// along with this program; if not, write to the Free Software //
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
+// //
+// $Revision:: 227 $//
+// $Date:: 2008-06-12 20:00:44 -0400 (Thu, 12 Jun 2008) $//
+///////////////////////////////////////////////////////////////////////////////
+
+#include <stdio.h>
+#include <iostream>
+#include <iomanip>
+#include "siscone/spherical/momentum.h"
+#include "siscone/spherical/siscone.h"
+
+#define R 0.7
+#define f 0.5
+#define f_alt 0.75
+
+using namespace std;
+using namespace siscone_spherical;
+
+int main(){
+ vector<CSphmomentum> particles; // list of particles
+ CSphsiscone siscone; // main object for the cone algorithm
+ int i; // loop index
+ int N; // number of particles
+ double px,py,pz,E; // particles 4-momentum
+ char fline[512]; // line to read from a file
+
+ // read particles
+ FILE *flux;
+ flux = fopen("events/single-event.dat", "r");
+ if (flux==NULL){
+ cerr << "cannot read event" << endl;
+ return 1;
+ }
+
+ N=0;
+ while (fgets(fline, 512, flux)!=NULL){
+ if (fline[0]!='#'){ // skip lines beginning with '#'
+ if (sscanf(fline, "%le%le%le%le", &px, &py, &pz, &E)==4){
+ particles.push_back(CSphmomentum(px, py, pz, E));
+ N++;
+ } else {
+ cout << "error in reading event file Giving up." << endl;
+ fclose(flux);
+ return 2;
+ }
+ }
+ }
+ fclose(flux);
+
+ // compute jets
+ // first compute with multiple passes (default)
+ i=siscone.compute_jets(particles, R, f);
+ cout << " " << i << " jets found in multi-pass run" << endl;
+
+ // then, recompute it with a different f
+ i=siscone.recompute_jets(f_alt);
+ cout << " " << i << " jets found with alternative f" << endl;
+
+ // one pass
+ i=siscone.compute_jets(particles, R, f, 1);
+ cout << " " << i << " jets found in single-pass run" << endl;
+
+ // show jets
+ vector<CSphjet>::iterator it_j;
+ int i1;
+ fprintf(stdout, "# theta phi px py pz E \n");
+ for (it_j = siscone.jets.begin(), i1=0 ;
+ it_j != siscone.jets.end() ; it_j++, i1++){
+ fprintf(stdout, "Jet %3d: %8.3f %8.3f %10.3f %10.3f %10.3f %10.3f\n",
+ i1, it_j->v._theta, it_j->v._phi, it_j->v.px, it_j->v.py, it_j->v.pz, it_j->v.E);
+ }
+
+ return 0;
+}
Index: tags/siscone-3.0.2/examples/options.cpp
===================================================================
--- tags/siscone-3.0.2/examples/options.cpp (revision 0)
+++ tags/siscone-3.0.2/examples/options.cpp (revision 398)
@@ -0,0 +1,242 @@
+///////////////////////////////////////////////////////////////////////////////
+// File: options.cpp //
+// Description: management of the cmdline options of the main program //
+// This file is part of the SISCone project. //
+// For more details, see http://projects.hepforge.org/siscone //
+// //
+// Copyright (c) 2006 Gavin Salam and Gregory Soyez //
+// //
+// This program is free software; you can redistribute it and/or modify //
+// it under the terms of the GNU General Public License as published by //
+// the Free Software Foundation; either version 2 of the License, or //
+// (at your option) any later version. //
+// //
+// This program is distributed in the hope that it will be useful, //
+// but WITHOUT ANY WARRANTY; without even the implied warranty of //
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
+// GNU General Public License for more details. //
+// //
+// You should have received a copy of the GNU General Public License //
+// along with this program; if not, write to the Free Software //
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
+// //
+// $Revision:: $//
+// $Date:: $//
+///////////////////////////////////////////////////////////////////////////////
+
+#include "options.h"
+#include <string.h>
+#include <getopt.h>
+#include <iostream>
+
+using namespace std;
+using namespace siscone;
+
+#define N_DEFAULT -1
+#define R_DEFAULT 0.7
+#define THRESHOLD_DEFAULT 0.5
+#define PTMIN_DEFAULT 0.0
+#define NPASS_DEFAULT 0
+#define DEFAULT_EVENT "events/single-event.dat"
+#define SM_DEFAULT SM_pttilde
+
+/*******************************************
+ * Coptions implementation *
+ * options for the 'cone' sample *
+ *******************************************/
+
+// default ctor
+//--------------
+Coptions::Coptions(){
+ // set default flags values
+ help_flag=0;
+ version_flag=0;
+ verbose_flag=1;
+
+ // set default options values
+ N_stop = N_DEFAULT;
+ R = R_DEFAULT;
+ f = THRESHOLD_DEFAULT;
+ npass = NPASS_DEFAULT;
+ ev_name = NULL;
+ SM_var = SM_DEFAULT;
+}
+
+
+// default dtor
+//--------------
+Coptions::~Coptions(){
+ if (ev_name!=NULL)
+ delete[] ev_name;
+}
+
+
+// parse oprions
+// - argc number of arguments from the command line
+// - argv arguments from the command line
+// return 1 on error, 0 on success
+//---------------------------------
+int Coptions::parse_options(int argc, char **argv){
+ int opt_param;
+ int option_index;
+ bool stop=false;
+
+ // browse the command-line options{
+ static struct option siscone_options[]={
+ // options that set a flag
+ {"verbose", no_argument, &verbose_flag, 1},
+ {"quiet", no_argument, &verbose_flag, 0},
+ {"help", no_argument, &help_flag , 1},
+ {"version", no_argument, &version_flag, 1},
+ // options setting parameters
+ {"number", required_argument, NULL, 'N'},
+ {"radius", required_argument, NULL, 'R'},
+ {"fraction", required_argument, NULL, 'f'},
+ {"ptmin", required_argument, NULL, 'p'},
+ {"npass", required_argument, NULL, 'n'},
+ {"event", required_argument, NULL, 'e'},
+ {"sm", required_argument, NULL, 's'},
+ {0,0,0,0}
+ };
+
+
+ do{
+ // getopt_long stores the option index here.
+ option_index=0;
+
+ // retreive options
+ opt_param = getopt_long(argc, argv, "hvqN:R:f:p:n:e:s:",
+ siscone_options, &option_index);
+
+ // Detect the end of the options.
+ if (opt_param == -1)
+ stop=true;
+
+ // branch according to 'opt_param'
+ switch (opt_param){
+ case 'h': help_flag = 1; break; // help
+ case 'v': verbose_flag = 1; break; // verbose
+ case 'q': verbose_flag = 0; break; // quiet
+ case 'N': // max number of paprticles
+ sscanf(optarg, "%d", &N_stop);
+ if (N_stop<=0){
+ cout << "Warning: the specified number of particles must be positive. Using default one" << endl;
+ N_stop = N_DEFAULT;
+ }
+ break;
+ case 'R':
+ sscanf(optarg, "%lf", &R);
+ if (R<=0){
+ cout << "Warning: the specified cone radius must be positive. Using default one" << endl;
+ R = R_DEFAULT;
+ }
+ break;
+ case 'f':
+ sscanf(optarg, "%lf", &f);
+ if ((f<0) || (f>1)){
+ cout << "Warning: the specified split/merge threshold must be in [0,1]. Using default one" << endl;
+ f = THRESHOLD_DEFAULT;
+ }
+ break;
+ case 'p':
+ sscanf(optarg, "%lf", &ptmin);
+ if (ptmin<0){
+ cout << "Warning: the specified minimal pT must be non-negative. Using default one" << endl;
+ ptmin = PTMIN_DEFAULT;
+ }
+ break;
+ case 'n': // max number of paprticles
+ sscanf(optarg, "%d", &npass);
+ if (npass<0){
+ cout << "Warning: the specified number of passes must be non negative. Using default one" << endl;
+ npass = NPASS_DEFAULT;
+ }
+ break;
+ case 'e':
+ if (ev_name==NULL){
+ ev_name = new char[strlen(optarg)+1];
+ strcpy(ev_name, optarg);
+ }
+ break;
+ case 's':
+ char tmp[512];
+ strcpy(tmp, optarg);
+ if (strcmp(tmp, "pttilde")==0){
+ SM_var = SM_pttilde;
+ } else if (strcmp(tmp, "mt")==0){
+ SM_var = SM_mt;
+ } else if (strcmp(tmp, "pt")==0){
+ SM_var = SM_pt;
+ } else if (strcmp(tmp, "Et")==0){
+ SM_var = SM_Et;
+ } else {
+ cout << "Warning: the specified varible for split--merge is not valid (should be pttilde, pt, mt or Et). Using pttilde as the default one." << endl;
+ SM_var = SM_pttilde;
+ }
+ break;
+ case 0:
+ case -1:
+ break;
+ case '?':
+ fprintf(stderr, "Giving up.\n");
+ return 1;
+ break;
+ default:
+ if (!help_flag){
+ fprintf(stderr, "unrecognized option %c. Giving up.\n", opt_param);
+ return 1;
+ }
+ }
+ } while (!stop);
+
+ if (ev_name==NULL){
+ ev_name = new char[strlen(DEFAULT_EVENT)+1];
+ strcpy(ev_name, DEFAULT_EVENT);
+ }
+
+ return 0;
+}
+
+
+// print the help message
+//------------------------
+int Coptions::print_help(){
+ cout << siscone_package_name() << " " << siscone_version() << endl;
+ cout << "Usage: " << siscone_package_name() << " <args>" << endl;
+ cout << endl;
+ cout << "Here is an exhaustive list of the arguments:" << endl;
+ cout << "Parameters control (with default values):" << endl;
+ cout << " -n <val>, --number=<val> : set the maximum number of particles allowed (all)" << endl;
+ cout << " -R <val>, --radius=<val> : set the radius (" << R_DEFAULT << ")" << endl;
+ cout << " -f <val>, --fraction=<val>: set the overlap parameter (" << THRESHOLD_DEFAULT << ")" << endl;
+ cout << " -p <val>, --ptmin=<val> : set the minimal pT for protojets (" << PTMIN_DEFAULT << ")" << endl;
+ cout << " -n <val>, --npass=<val> : set the maximal number of passes (0 for no limit) (" << NPASS_DEFAULT << ")" << endl;
+ cout << " -e <val>, --event=<val> : set the event filename (" << DEFAULT_EVENT << ")" << endl;
+ cout << " -s <val>, --sm=<val> : variable for split--merge: pttilde, mt, pt or Et (pttilde)" << endl;
+ cout << endl;
+ cout << "Output flags" << endl;
+ cout << " --version : show version information" << endl;
+ cout << " -h, --help : show this message" << endl;
+ cout << " -v, --verbose: be verbose (on by default)" << endl;
+ cout << " -q, --quiet : be quiet" << endl;
+ cout << endl;
+
+ return 0;
+}
+
+
+// print program version
+//-----------------------
+int Coptions::print_version(){
+ cout << siscone_package_name() << " " << siscone_version() << endl;
+ cout << "Copyright (C) 2006." << endl;
+ cout << siscone_package_name() << " comes with NO WARRANTY," << endl;
+ cout << "to the extent permitted by law." << endl;
+ cout << "You may redistribute copies of " << siscone_package_name() << endl;
+ cout << "under the terms of the GNU General Public License." << endl;
+ cout << "For more information about these matters," << endl;
+ cout << "see the files named COPYING." << endl;
+ cout << "Please send bugs or comments to AUTHORS" << endl;
+
+ return 0;
+}
Property changes on: tags/siscone-3.0.2/examples/options.cpp
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Date Rev
\ No newline at end of property
Index: tags/siscone-3.0.2/examples/test.cpp
===================================================================
--- tags/siscone-3.0.2/examples/test.cpp (revision 0)
+++ tags/siscone-3.0.2/examples/test.cpp (revision 398)
@@ -0,0 +1,119 @@
+///////////////////////////////////////////////////////////////////////////////
+// File: test.cpp //
+// Description: example program that implements tests with random particles //
+// and output various informations //
+// //
+// Note: for a usage example of SISCone, we advise looking at main.cpp //
+// or http://projects.hepforge.org/siscone/usage.html //
+// //
+// This file is part of the SISCone project. //
+// For more details, see http://projects.hepforge.org/siscone //
+// //
+// Copyright (c) 2006 Gavin Salam and Gregory Soyez //
+// //
+// This program is free software; you can redistribute it and/or modify //
+// it under the terms of the GNU General Public License as published by //
+// the Free Software Foundation; either version 2 of the License, or //
+// (at your option) any later version. //
+// //
+// This program is distributed in the hope that it will be useful, //
+// but WITHOUT ANY WARRANTY; without even the implied warranty of //
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
+// GNU General Public License for more details. //
+// //
+// You should have received a copy of the GNU General Public License //
+// along with this program; if not, write to the Free Software //
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
+// //
+// $Revision:: $//
+// $Date:: $//
+///////////////////////////////////////////////////////////////////////////////
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <time.h>
+#include <sys/time.h>
+#include <iostream>
+#include <math.h>
+
+#include "siscone/momentum.h"
+#include "siscone/siscone.h"
+
+#define N_default 500
+#define R 0.7
+#define F 0.75
+
+using namespace std;
+using namespace siscone;
+
+int main(int argc, char* argv[]){
+ vector<Cmomentum> particles;
+ Cmomentum *v;
+ double phi=0, eta=0, pt=1;
+ unsigned int N;
+
+ unsigned int i;
+ FILE *flux;
+
+ if (argc==1){
+ //cout << "using default number of particles" << endl;
+ N = N_default;
+ } else {
+ sscanf(argv[1], "%u", &N);
+ //cout << "using " << N << " particles" << endl;
+ }
+
+ // Initialise random number generator
+ timeval timestamp;
+ gettimeofday(&timestamp, NULL);
+ srand(timestamp.tv_usec);
+
+ // build particle list
+ cout << "build particle list" << endl;
+ flux = fopen("particles.dat", "w+");
+ for (i=0;i<N;i++){
+ // uniform eta between -5 and 5
+ eta = -5.0+10.0*rand()/(RAND_MAX+1.0);
+
+ // uniform azimuth
+ phi = 2.0*M_PI*rand()/(RAND_MAX+1.0);
+
+ // logarithmically uniform pt (between 1e-3 and 100 GeV)
+ pt = exp(log(0.001)+log(1e5)*rand()/(RAND_MAX+1.0));
+
+ particles.push_back(Cmomentum(pt*cos(phi), pt*sin(phi), pt*sinh(eta), pt*cosh(eta)));
+
+ fprintf(flux, "%e\t%e\t%e\n", particles[i].eta, particles[i].phi,particles[i].perp());
+ }
+ fclose(flux);
+
+ cout << "SISCone: initialise engine" << endl;
+ Csiscone siscone;
+
+ // cluster the event
+ cout << "cluster the event" << endl;
+ siscone.compute_jets(particles, R, F);
+
+#ifdef DEBUG_STABLE_CONES
+ cout << "hash_candidates=" << siscone.nb_hash_cones_total << " in " << siscone.nb_hash_occupied_total << " cells" << endl;
+#endif
+ // save list of stable cones
+ cout << "save stable cone results:" << endl;
+ unsigned int pass;
+ flux = fopen("protocones.dat", "w+");
+ for (pass=0;pass<siscone.protocones_list.size();pass++){
+ cout << " pass " << pass << " found " << siscone.protocones_list[pass].size()
+ << " stable cones" << endl;
+ fprintf(flux, "# pass %d: %u stable cones\n", pass,
+ (unsigned int) siscone.protocones_list[pass].size());
+ for (i=0;i<siscone.protocones_list[pass].size();i++){
+ v = &(siscone.protocones_list[pass][i]);
+ fprintf(flux, "%e\t%e\t%e\n", v->eta, v->phi, v->perp());
+ }
+ }
+ fclose(flux);
+
+ cout << "bye..." << endl;
+
+ return 0;
+}
Property changes on: tags/siscone-3.0.2/examples/test.cpp
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Date Rev
\ No newline at end of property
Index: tags/siscone-3.0.2/examples/options.h
===================================================================
--- tags/siscone-3.0.2/examples/options.h (revision 0)
+++ tags/siscone-3.0.2/examples/options.h (revision 398)
@@ -0,0 +1,74 @@
+///////////////////////////////////////////////////////////////////////////////
+// File: options.h //
+// Description: management of the cmdline options of the main program //
+// This file is part of the SISCone project. //
+// For more details, see http://projects.hepforge.org/siscone //
+// //
+// Copyright (c) 2006 Gavin Salam and Gregory Soyez //
+// //
+// This program is free software; you can redistribute it and/or modify //
+// it under the terms of the GNU General Public License as published by //
+// the Free Software Foundation; either version 2 of the License, or //
+// (at your option) any later version. //
+// //
+// This program is distributed in the hope that it will be useful, //
+// but WITHOUT ANY WARRANTY; without even the implied warranty of //
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
+// GNU General Public License for more details. //
+// //
+// You should have received a copy of the GNU General Public License //
+// along with this program; if not, write to the Free Software //
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
+// //
+// $Revision:: $//
+// $Date:: $//
+///////////////////////////////////////////////////////////////////////////////
+
+#ifndef __OPTIONS_H__
+#define __OPTIONS_H__
+
+#include "siscone/siscone.h"
+
+/**
+ * \class Coptions
+
+ * options for the 'cone' sample
+ */
+class Coptions{
+ public:
+ /// default ctor
+ Coptions();
+
+ /// default dtor
+ ~Coptions();
+
+ /// parse oprions
+ /// \param argc number of arguments from the command line
+ /// \param argv arguments from the command line
+ /// \return 1 on error, 0 on success
+ int parse_options(int argc, char **argv);
+
+ /// print the help message
+ int print_help();
+
+ /// print program version
+ int print_version();
+
+ // flags
+ int help_flag; ///< do we need to print the help message
+ int version_flag; ///< do we need to print the version description
+ int verbose_flag; ///< do we need to print the help message
+
+ // options
+ int N_stop; ///< maximum number of particle
+ double R; ///< cone radius
+ double f; ///< split/merge threshold
+ double ptmin; ///< minimal pT for jet candidates
+ char *ev_name; ///< event to read
+ int npass; ///< number of passes (0 for \infty)
+
+ /// variable for split-merge
+ siscone::Esplit_merge_scale SM_var;
+};
+
+#endif
Property changes on: tags/siscone-3.0.2/examples/options.h
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Date Rev
\ No newline at end of property
Index: tags/siscone-3.0.2/examples/sample.cpp
===================================================================
--- tags/siscone-3.0.2/examples/sample.cpp (revision 0)
+++ tags/siscone-3.0.2/examples/sample.cpp (revision 398)
@@ -0,0 +1,95 @@
+///////////////////////////////////////////////////////////////////////////////
+// File: sample.cpp //
+// Description: example program for the Csiscone class (see documentation) //
+// This file is part of the SISCone project. //
+// For more details, see http://projects.hepforge.org/siscone //
+// //
+// Copyright (c) 2006 Gavin Salam and Gregory Soyez //
+// //
+// This program is free software; you can redistribute it and/or modify //
+// it under the terms of the GNU General Public License as published by //
+// the Free Software Foundation; either version 2 of the License, or //
+// (at your option) any later version. //
+// //
+// This program is distributed in the hope that it will be useful, //
+// but WITHOUT ANY WARRANTY; without even the implied warranty of //
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
+// GNU General Public License for more details. //
+// //
+// You should have received a copy of the GNU General Public License //
+// along with this program; if not, write to the Free Software //
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
+// //
+// $Revision:: $//
+// $Date:: $//
+///////////////////////////////////////////////////////////////////////////////
+
+#include <stdio.h>
+#include <iostream>
+#include <iomanip>
+#include "siscone/momentum.h"
+#include "siscone/siscone.h"
+
+#define R 0.7
+#define f 0.5
+#define f_alt 0.75
+
+using namespace std;
+using namespace siscone;
+
+int main(){
+ vector<Cmomentum> particles; // list of particles
+ Csiscone siscone; // main object for the cone algorithm
+ int i; // loop index
+ int N; // number of particles
+ double px,py,pz,E; // particles 4-momentum
+ char fline[512]; // line to read from a file
+
+ // read particles
+ FILE *flux;
+ flux = fopen("events/single-event.dat", "r");
+ if (flux==NULL){
+ cerr << "cannot read event" << endl;
+ return 1;
+ }
+
+ N=0;
+ while (fgets(fline, 512, flux)!=NULL){
+ if (fline[0]!='#'){ // skip lines beginning with '#'
+ if (sscanf(fline, "%le%le%le%le", &px, &py, &pz, &E)==4){
+ particles.push_back(Cmomentum(px, py, pz, E));
+ N++;
+ } else {
+ cout << "error in reading event file Giving up." << endl;
+ fclose(flux);
+ return 2;
+ }
+ }
+ }
+ fclose(flux);
+
+ // compute jets
+ // first compute with multiple passes (default)
+ i=siscone.compute_jets(particles, R, f);
+ cout << " " << i << " jets found in multi-pass run" << endl;
+
+ // then, recompute it with a different f
+ i=siscone.recompute_jets(f_alt);
+ cout << " " << i << " jets found with alternative f" << endl;
+
+ // one pass
+ i=siscone.compute_jets(particles, R, f, 1);
+ cout << " " << i << " jets found in single-pass run" << endl;
+
+ // show jets
+ vector<Cjet>::iterator it_j;
+ int i1;
+ fprintf(stdout, "# pT eta phi px py pz E \n");
+ for (it_j = siscone.jets.begin(), i1=0 ;
+ it_j != siscone.jets.end() ; it_j++, i1++){
+ fprintf(stdout, "Jet %3d: %10.3f %8.3f %8.3f %10.3f %10.3f %10.3f %10.3f\n",
+ i1, it_j->v.perp(), it_j->v.eta, it_j->v.phi, it_j->v.px, it_j->v.py, it_j->v.pz, it_j->v.E);
+ }
+
+ return 0;
+}
Property changes on: tags/siscone-3.0.2/examples/sample.cpp
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Date Rev
\ No newline at end of property
Index: tags/siscone-3.0.2/examples/times.cpp
===================================================================
--- tags/siscone-3.0.2/examples/times.cpp (revision 0)
+++ tags/siscone-3.0.2/examples/times.cpp (revision 398)
@@ -0,0 +1,124 @@
+///////////////////////////////////////////////////////////////////////////////
+// File: times.cpp //
+// Description: example program that computes execution times //
+// This file is part of the SISCone project. //
+// For more details, see http://projects.hepforge.org/siscone //
+// //
+// Copyright (c) 2006 Gavin Salam and Gregory Soyez //
+// //
+// This program is free software; you can redistribute it and/or modify //
+// it under the terms of the GNU General Public License as published by //
+// the Free Software Foundation; either version 2 of the License, or //
+// (at your option) any later version. //
+// //
+// This program is distributed in the hope that it will be useful, //
+// but WITHOUT ANY WARRANTY; without even the implied warranty of //
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
+// GNU General Public License for more details. //
+// //
+// You should have received a copy of the GNU General Public License //
+// along with this program; if not, write to the Free Software //
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
+// //
+// $Revision:: $//
+// $Date:: $//
+///////////////////////////////////////////////////////////////////////////////
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <time.h>
+#include <sys/time.h>
+#include <iostream>
+#include <math.h>
+
+#include "siscone/momentum.h"
+#include "siscone/siscone.h"
+
+#define Nruns 32
+#define R 0.7
+#define f 0.5
+
+using namespace std;
+using namespace siscone;
+
+timeval time_start, time_end;
+
+// compute time spent between time_start and time_end
+int time_spent(){
+ timeval time_diff;
+
+ // compute different with initial time
+ time_diff.tv_sec = time_end.tv_sec-time_start.tv_sec;
+ if (time_end.tv_usec > time_start.tv_usec){
+ time_diff.tv_usec = time_end.tv_usec-time_start.tv_usec;
+ } else {
+ time_diff.tv_sec--;
+ time_diff.tv_usec = (1000000+time_end.tv_usec)-time_start.tv_usec;
+ }
+
+ return 1000000*time_diff.tv_sec+time_diff.tv_usec;
+}
+
+
+
+int main(){
+ vector<Cmomentum> particles;
+ Csiscone siscone;
+ double eta,phi;
+
+ // number of events and particles
+ int i, N;
+ int n_ev, part_inc;
+
+ // time statistics variables
+ int time_siscone;
+
+ // save files
+ FILE *flux;
+
+ // initialise random number generator
+ cout << "initialise random number generator" << endl;
+ timeval timestamp;
+
+ gettimeofday(&timestamp, NULL);
+ srand(timestamp.tv_usec);
+
+ flux = fopen("times.dat", "w+");
+
+ N = 1;
+ part_inc = 1;
+ do{
+ fprintf(stdout, "\r%5d particles\n", N);
+ time_siscone=0;
+
+ for (n_ev=0;n_ev<Nruns;n_ev++){
+ // build particle list
+ particles.clear();
+ for (i=0;i<N;i++){
+ eta = -3.0+6.0*rand()/(RAND_MAX+1.0);
+ phi = 2.0*M_PI*rand()/(RAND_MAX+1.0);
+ particles.push_back(Cmomentum(cos(phi), sin(phi), tanh(eta), 1.0));
+ }
+
+ // run siscone
+ gettimeofday(&time_start, NULL);
+ siscone.compute_jets(particles, R, f);
+ gettimeofday(&time_end, NULL);
+ time_siscone+=time_spent();
+ }
+
+ fprintf(flux, "%d\t%e\n", N, time_siscone/(1.0*Nruns));
+
+ N+=part_inc;
+ if (N==(part_inc<<3))
+ part_inc <<= 1;
+ // } while (N<=1024);
+ } while (N<=1024);
+
+ fclose(flux);
+ fprintf(stdout, "\n");
+
+ cout << "bye..." << endl;
+
+ return 0;
+}
Property changes on: tags/siscone-3.0.2/examples/times.cpp
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Date Rev
\ No newline at end of property
Index: tags/siscone-3.0.2/examples/makefile.static
===================================================================
--- tags/siscone-3.0.2/examples/makefile.static (revision 0)
+++ tags/siscone-3.0.2/examples/makefile.static (revision 398)
@@ -0,0 +1,93 @@
+CC = g++
+OUT = siscone
+OUT_AREA = area
+OUT_TEST = test
+OUT_TIMES = times
+OUT_SAMPLE = sample
+OUT_SPHERE = spherical
+CFLAGS = -I.. -Wall -g -O3 -ffast-math
+
+LDFLAGS = -lm -L../siscone -lsiscone -L../siscone/spherical -lsiscone_spherical #-lprofiler -lpthread -ltcmalloc
+ifeq ($(shell whoami),salam)
+ # needed for Gavin to include tcmalloc
+ LDFLAGS += -L/ada1/lpthe/salam/software/local/lib
+endif
+
+OBJS_MAIN = options.o main.o
+OBJS_AREA = options.o area.o
+OBJS_TEST = test.o
+OBJS_TIMES = times.o
+OBJS_SAMPLE = sample.o
+OBJS_SPHERE = spherical.o
+
+OBJS_ALL = options.o main.o area.o sample.o test.o times.o spherical.o
+SRCS = $(patsubst %.o,%.cpp,$(OBJS_ALL))
+
+
+%.o: %.cpp %.h
+ $(CC) -c $(CFLAGS) $<
+
+%.o: %.cpp
+ $(CC) -c $(CFLAGS) $<
+
+all: main area sample test times spherical
+
+main: $(OBJS_MAIN)
+ $(CC) -o $(OUT) $(OBJS_MAIN) $(LDFLAGS)
+
+area: $(OBJS_AREA)
+ $(CC) -o $(OUT_AREA) $(OBJS_AREA) $(LDFLAGS)
+
+test: $(OBJS_TEST)
+ $(CC) -o $(OUT_TEST) $(OBJS_TEST) $(LDFLAGS)
+
+times: $(OBJS_TIMES)
+ $(CC) -o $(OUT_TIMES) $(OBJS_TIMES) $(LDFLAGS)
+
+sample: $(OBJS_SAMPLE)
+ $(CC) -o $(OUT_SAMPLE) $(OBJS_SAMPLE) $(LDFLAGS)
+
+spherical: $(OBJS_SPHERE)
+ $(CC) -o $(OUT_SPHERE) $(OBJS_SPHERE) $(LDFLAGS)
+
+.PHONY: clean
+
+clean:
+ rm -f *.o *~
+
+
+depend:
+ makedepend -I.. -Y -f makefile.static -- -- $(SRCS)
+# DO NOT DELETE
+
+options.o: options.h ../siscone/siscone.h ../siscone/protocones.h
+options.o: ../siscone/momentum.h ../siscone/reference.h ../siscone/geom_2d.h
+options.o: ../siscone/defines.h ../siscone/vicinity.h ../siscone/quadtree.h
+options.o: ../siscone/hash.h ../siscone/split_merge.h
+main.o: ../siscone/momentum.h ../siscone/reference.h ../siscone/geom_2d.h
+main.o: ../siscone/defines.h ../siscone/siscone.h ../siscone/protocones.h
+main.o: ../siscone/momentum.h ../siscone/vicinity.h ../siscone/quadtree.h
+main.o: ../siscone/hash.h ../siscone/split_merge.h options.h
+area.o: ../siscone/momentum.h ../siscone/reference.h ../siscone/geom_2d.h
+area.o: ../siscone/defines.h ../siscone/siscone.h ../siscone/protocones.h
+area.o: ../siscone/momentum.h ../siscone/vicinity.h ../siscone/quadtree.h
+area.o: ../siscone/hash.h ../siscone/split_merge.h ../siscone/area.h
+area.o: ../siscone/siscone.h options.h
+sample.o: ../siscone/momentum.h ../siscone/reference.h ../siscone/geom_2d.h
+sample.o: ../siscone/defines.h ../siscone/siscone.h ../siscone/protocones.h
+sample.o: ../siscone/momentum.h ../siscone/vicinity.h ../siscone/quadtree.h
+sample.o: ../siscone/hash.h ../siscone/split_merge.h
+test.o: ../siscone/momentum.h ../siscone/reference.h ../siscone/geom_2d.h
+test.o: ../siscone/defines.h ../siscone/siscone.h ../siscone/protocones.h
+test.o: ../siscone/momentum.h ../siscone/vicinity.h ../siscone/quadtree.h
+test.o: ../siscone/hash.h ../siscone/split_merge.h
+times.o: ../siscone/momentum.h ../siscone/reference.h ../siscone/geom_2d.h
+times.o: ../siscone/defines.h ../siscone/siscone.h ../siscone/protocones.h
+times.o: ../siscone/momentum.h ../siscone/vicinity.h ../siscone/quadtree.h
+times.o: ../siscone/hash.h ../siscone/split_merge.h
+spherical.o: ../siscone/spherical/momentum.h ../siscone/reference.h
+spherical.o: ../siscone/geom_2d.h ../siscone/defines.h ../siscone/defines.h
+spherical.o: ../siscone/spherical/siscone.h ../siscone/protocones.h
+spherical.o: ../siscone/momentum.h ../siscone/reference.h
+spherical.o: ../siscone/vicinity.h ../siscone/quadtree.h ../siscone/hash.h
+spherical.o: ../siscone/split_merge.h
Index: tags/siscone-3.0.2/examples/events/Pythia-dijet-ptmin100-lhc-pileup-1ev.dat
===================================================================
--- tags/siscone-3.0.2/examples/events/Pythia-dijet-ptmin100-lhc-pileup-1ev.dat (revision 0)
+++ tags/siscone-3.0.2/examples/events/Pythia-dijet-ptmin100-lhc-pileup-1ev.dat (revision 398)
@@ -0,0 +1,3307 @@
+# ../../../pythia/gen-events -ptmin 100 -pileup -lhc -nev 30 -out Pythia-dijet-ptmin100-lhc-pileup-30ev.dat
+# Random generator sequence: 19780503
+# Stamped by ../../../pythia/gen-events on 23/08/2006 at 18:25:23
+#SUBSTART
+ -1.3598775254 0.5822195287 -24.1335768542 24.1792733147
+ 0.8663229239 -0.3013374784 0.1632310365 1.3231613056
+ 0.4434779745 0.4335357412 0.3149948156 0.7094557572
+ 1.5403449823 2.0056611503 6.8774302512 7.3874716086
+ -0.0208757896 0.4764750324 1.4455035020 1.6001829862
+ -0.9675278162 -0.7717017918 34.2295364305 34.2647508173
+ -0.2732736291 0.3850770678 3.1129720448 3.1516721849
+ -0.4151246280 -0.5583789874 61.8863064449 61.8903750249
+ 0.2505725770 -0.1368444352 94.0104580994 94.0155866697
+ 0.4545758930 0.4251970627 79.0027229156 79.0107616192
+ 0.7531391871 1.6122915805 352.0858657516 352.0916164248
+ 0.2626769609 0.1902867483 2.0468286413 2.0770641550
+ 0.6374402923 -0.7964382657 971.1496020883 971.1505911191
+ 0.7539223667 -0.0231700815 496.5975051342 496.5980975810
+ 2.8449672335 1.9772319616 -2.9150263932 4.5299164945
+ -0.2389089172 1.0006337851 -0.4113027868 1.2129123567
+ -0.0388212876 0.0396050883 -0.4210693432 0.4470512634
+ -0.4626101376 0.0274569056 0.1485929362 0.6931686965
+ 0.2252893138 -0.1509959392 0.9577173120 1.3687838702
+ -0.1038330359 -0.6151532938 8.1332483599 8.2109240863
+ -1.6705791824 -1.9248359662 16.6603884292 16.8803057291
+ 0.2111684369 -0.3548191671 3.1079425313 3.1383555110
+ -0.6983638375 -0.1837448331 2.4152807360 2.5247841555
+ -0.3292191059 -0.5824086098 4.0399727790 4.0973704798
+ 5.4116770051 1.7213282599 -2.4696639950 6.1941859045
+ 0.7536903837 -0.8760507793 -7.4226664615 7.5133861438
+ -0.2242604478 0.1934868119 -13.0313933037 13.0684846836
+ 0.5595197358 -1.4075450456 -229.2228037405 229.2278505763
+ 0.0894125125 -0.2609655155 -53.9232564410 53.9241426690
+ -0.3141856830 0.5188153125 -209.3209225007 209.3223832262
+ 0.3203567704 -0.0070948033 -49.8687006452 49.8699254323
+ -0.1076263224 0.2222075179 -0.5912791344 0.6557822855
+ 1.9060967450 -0.6783910906 -3.3126157601 3.8841115113
+ -0.5483521900 -0.2428739016 -117.7774804476 117.7790900721
+ 0.2253077081 -0.1563694631 -213.1441920385 213.1444141762
+ -0.0861190874 -0.1015692673 70.8606095526 70.8608721281
+ -0.3261428214 0.4503078497 132.6828125170 132.6840509010
+ -0.8575792217 0.4048661367 419.4903287191 419.4914239021
+ -0.9794062849 -0.1382740500 426.1436892728 426.1448600455
+ -0.0625522584 0.2082771916 -15.0554377987 15.0576551717
+ -0.7797180026 1.2045678600 -76.1766571081 76.1959633042
+ 0.1876344650 0.7547509086 -29.9368443366 29.9472700633
+ 0.0088854881 0.4568060733 -22.0156960584 22.0404168352
+ -0.2581428480 -0.0694352798 -5.7683377884 5.7762149902
+ -0.2186858502 0.0387544102 -10.8897789153 10.8929376209
+ -0.9726196764 -0.0306813543 -13.5804035477 13.6159381125
+ -0.2509196496 -0.1930862855 -0.9152992451 0.9685121023
+ -0.1826252636 -0.3208145868 -1.0630857838 1.1253556637
+ -0.2227621917 -0.0275423660 -1.1866891102 1.3062496121
+ -0.5780825849 0.0923075493 -2.2925889668 2.3661496845
+ -0.2482283113 -0.3375662426 -2.3933315322 2.4297333363
+ 1.9247206706 -1.4502112472 0.0458072805 2.5869967942
+ 0.4691019502 -0.1865311974 -0.2261220102 0.5704923099
+ 0.1286468681 0.2872603231 0.0760473711 0.3238081416
+ 1.5398436207 0.6128189962 0.5640945963 1.7506765012
+ 0.8023596358 -0.0191706076 3.5680139232 3.6598294548
+ 0.3158463899 0.2854570753 0.6957625394 0.8275324647
+ 0.8029693841 1.4746024092 5.4465825566 5.7012238535
+ 0.2266758526 0.8519124979 3.4492605886 3.5601313816
+ 0.2314343335 0.5855989658 2.8417136037 2.9106398274
+ -0.5218996049 0.8471035076 18.6522994424 18.7024337941
+ 0.1191178641 0.1264046109 3.6905462594 3.6972663778
+ -0.3492157344 -0.1238052549 11.9226644629 11.9292366499
+ -0.3991802178 -0.0130471740 41.3883204791 41.4009103636
+ -0.9092229178 -1.6211273632 49.0057468044 49.0409824544
+ -0.2235227902 -0.1921881788 14.7685372738 14.7714790032
+ -0.1014577929 0.0829991902 9.1151517447 9.1171625884
+ -0.3074072468 -0.5220016096 26.4488300573 26.4561349422
+ -1.5679271297 -3.0637468538 104.4363405730 104.4931272972
+ 0.1348866536 -0.0006136246 12.8891215434 12.8905829477
+ -0.2139517852 -0.0776839446 8.2871915696 8.2903168982
+ 0.1978202593 -0.1031505794 26.6177613184 26.6190621602
+ -0.0947285389 -0.1074859059 32.2259253605 32.2265460737
+ -0.5684876897 0.0015312328 91.0172962757 91.0239209973
+ 0.4718774154 0.2617750182 104.6907756963 104.6933492911
+ -0.2369363020 0.4902066221 117.4521877545 117.4535326393
+ -0.0152215482 0.0181682571 6.8643322873 6.8643732075
+ -0.0899554317 -0.2340313599 53.3533880981 53.3539772107
+ 0.0597292475 0.1833916667 24.6074795493 24.6082354072
+ 0.5960696402 1.5533309544 267.7306844847 267.7358540628
+ 0.1884195427 -0.0149519928 62.3651401549 62.3655827505
+ -0.8190799750 0.0304540072 73.3122420255 73.3184853309
+ -0.4107542433 0.3143111604 76.0986318598 76.1005174836
+ -0.0848175149 0.3291191602 31.8656439593 31.8677620513
+ -0.2809006247 0.0441127317 20.8152463287 20.8176562227
+ 0.3996200037 0.2753544754 19.7431156978 19.7495724884
+ -0.2809282113 0.3420312578 23.6608595918 23.6654106757
+ 0.1035618515 -0.3144654903 14.5469030534 14.5513395202
+ 0.1697621779 0.2716486688 3.8699580745 3.8857003847
+ -0.2591859672 -0.2203973630 2.2372685230 2.2672897018
+ -0.0747656152 -0.2748700852 3.0083401908 3.0250180081
+ -0.1127591580 0.0489867078 0.6509563291 0.6770068335
+ 0.2680538528 -0.0646074832 4.4354605223 4.4462137628
+ 0.0105478194 0.3910360909 7.0292173812 7.0414769231
+ -0.0319162514 0.0094660923 1.7408185011 1.7411367861
+ 0.0169446313 0.3410500742 13.5744335202 13.5787277632
+ 0.0162419828 -0.6939516673 12.7743753444 12.7939820987
+ -0.2443666179 0.1512158941 63.8613222477 63.8619688118
+ -0.1324017369 -0.0196214224 31.0125742460 31.0128630827
+ 0.1510507627 0.0277379678 127.5759342958 127.5761030795
+ 0.5428841420 -0.2143111010 227.5276912356 227.5284826373
+ 1.6355666392 0.7346075696 -1.8199835968 2.5586220100
+ 4.8234484934 2.4426361308 -5.5459209698 7.7465376669
+ 2.9859325057 2.2209504526 -4.0710153481 5.5173417142
+ 2.0622832475 2.3201063165 -4.4188357120 5.4019898507
+ 0.6438320312 0.6246993516 -1.1403368659 1.4576065714
+ 0.3297934015 0.7614945249 -1.7313171903 1.9249874279
+ 0.7534115170 0.2905664414 -1.5500757406 1.7533603045
+ -0.0296799638 0.0208087707 -0.0380334830 0.0525399945
+ -0.5512814646 1.4049791206 -1.5889133026 2.1914659627
+ 0.4873622089 0.6391602197 -1.0859345794 1.4397836813
+ -0.6278808052 0.4288315727 -1.0062926928 1.2689505868
+ -0.1837580869 0.4860200026 -0.3211471590 0.6265762205
+ -0.9266121086 -0.1613841013 -0.1213496276 1.0691218453
+ -0.4935097825 -0.8623933604 0.2021270908 1.3814775305
+ -0.2630686658 -0.0645899230 0.2426171895 0.3895123446
+ -0.3404636666 -0.1057855053 0.4436292639 0.5859972612
+ -0.2844852174 -0.6810553395 2.9568101620 3.0872537163
+ 0.1591698878 0.0217300368 0.5334767943 0.5743557457
+ -0.2067242633 -0.1399792190 0.2793076062 0.3997769710
+ 0.0721494693 -0.3698438181 0.5958515662 0.7186855150
+ 0.1077902331 -0.2576289686 1.5201355662 1.6224809766
+ 0.1398791010 -0.0676350320 2.6414065628 2.6496507459
+ -0.7291224926 -0.9022901790 3.8774987588 4.0773011614
+ -1.2296117134 -0.8068302355 8.7334333933 8.8563976215
+ -2.7150345593 -1.5679932389 19.1268761746 19.3821414621
+ -0.2040667882 -0.4085926358 2.1368802669 2.1895954549
+ -0.3158510630 -0.9199981349 6.9607863858 7.0298069216
+ -1.6942777216 -1.3666397093 9.9085267553 10.1568117297
+ -0.2730470472 -0.6346482097 2.5357892941 2.6319270827
+ -1.8085946282 -1.0273237178 8.1748956762 8.4365163220
+ -1.9710696523 -1.8129751103 8.1789795689 8.6073910622
+ 0.1657823411 -0.4236498775 2.6026049177 2.6420664944
+ 0.0569783691 -0.0382920763 0.2420020409 0.2515508009
+ -1.8803977682 -1.3869630914 14.8708709497 15.0539644271
+ -1.7820955614 -0.5439528355 13.8342443181 13.9598547598
+ -2.3158908704 -0.5816869056 22.4335957339 22.5607492676
+ -7.0445711931 -2.1490678631 59.2015595075 59.6580975550
+ 3.1670379291 1.1029544433 -1.6689434725 3.7485316922
+ 4.5916073199 1.4910859773 -2.3420162983 5.3675613922
+ 6.1918581562 2.3591147347 -3.2150343919 7.4245382135
+ 0.9941806475 0.2078281816 -0.3574697943 1.0857495806
+ 3.1850189131 0.7346817286 -3.1020140667 4.6031929977
+ 0.2050009168 0.1226067767 -0.4153386242 0.4990428391
+ 1.4459967333 -0.2674735911 -1.1890785683 1.8911257272
+ 0.3508239388 -0.1316064763 -0.2808247949 0.4682523530
+ 1.3170541419 0.9398848158 -1.2386704825 2.0424983302
+ 1.1324272025 0.2254391547 -0.8524582752 1.4420052279
+ 0.5617045336 0.1808489426 -2.6442618799 2.7128986339
+ -0.1226959126 0.0246336960 -0.1669694798 0.2510372443
+ 0.3697572432 0.2627295326 -2.3423910123 2.3899838212
+ 0.1972949956 -0.8543317849 -14.2415665983 14.2994342221
+ 0.3721581746 0.1027117681 -2.3823413154 2.4174534829
+ 0.9878541278 -1.9548062153 -181.2441607407 181.2574478621
+ 0.1619986283 -0.6475628751 -30.5680551033 30.5756611346
+ -0.6853074195 -0.4443119292 -153.9187519476 153.9209821312
+ 0.2440887204 -0.5781336701 -89.9764993443 89.9787960126
+ 0.0453254653 0.1058045634 -25.7403501424 25.7409858833
+ 0.2304383543 -0.1177274491 -43.5369286448 43.5379213697
+ 0.0504471167 -0.0477753993 -34.5427268002 34.5427966759
+ 0.0580632073 -0.1194611894 -235.4475381636 235.4475756291
+ -0.5635957231 0.1480394899 -237.0154237621 237.0166540518
+ -0.1211117777 -0.2715104205 -109.0030399745 109.0035347566
+ -0.1072369482 0.0393537198 -45.3752823625 45.3756407970
+ -0.2634481624 -0.5711080702 -104.5225093153 104.5244947498
+ 0.4182088020 0.1198222713 -133.4052255224 133.4060078574
+ -0.4063798410 0.9739433510 -136.3701517064 136.3743064747
+ -0.0649988557 -0.1458384872 -11.9899769519 11.9918522676
+ 0.1171206088 -0.1414971113 -13.4706837316 13.4719359732
+ -0.4065608494 1.1879777006 -53.1224643168 53.1374846753
+ 0.1747877024 0.2738392204 -33.1786692106 33.1935599330
+ -0.0846711743 -0.1878364882 -5.2964970058 5.3023402448
+ -0.0296615512 -0.0849707616 -0.6059518356 0.6282971032
+ -0.0612946242 0.5694060959 -1.3827052814 1.5031081176
+ 0.4363765851 -0.4099735281 -4.9132660931 5.0377611210
+ 0.2250275098 -0.0819428560 -1.0413047843 1.0775655202
+ 0.1261503003 -0.2424857202 -0.4332998269 0.5309818713
+ 0.0581403902 0.0974064839 -0.1414009824 0.2287845073
+ 0.6009036403 -0.8209771804 -1.2734995052 1.6359613352
+ 0.2338764880 -0.7037485357 -0.2346274268 0.7902468142
+ 0.2116766418 -0.1344281348 0.0638569712 0.2939990166
+ 0.4873729614 0.3230479623 -0.5209955345 0.7954926281
+ 0.0343968148 0.0876261575 -0.8530150971 0.8581935914
+ -0.0816811101 0.2730401674 -1.5612166858 1.5870161552
+ -0.2710385149 -0.1604791525 -3.2471212810 3.2653471229
+ -0.0419043518 0.4813391414 -12.3049003565 12.3151734016
+ 0.1120822922 0.1786480126 -53.6697622805 53.6784002423
+ 0.5231907048 -0.2483062451 -72.9332576475 72.9416084780
+ -0.1279337279 -0.0185022211 -330.3338723928 330.3352301980
+ -0.0678522486 -0.3257014599 -855.5619643368 855.5620290226
+ 0.4127933919 0.3164717458 64.4582660048 64.4603646367
+ 0.1053292830 0.0077345158 12.3121022371 12.3125552010
+ 0.0226303035 -0.1036039437 15.5899443955 15.5903050696
+ 0.0749331269 -0.0201958043 31.6474883719 31.6475835269
+ 0.2286879077 0.0336824624 -20.6496027305 20.6508964841
+ 0.0175945164 0.0603933582 -4.1935949821 4.1940667375
+ 0.0632306050 0.0866038534 -3.4701360155 3.4717923761
+ 0.0520284000 0.0987662308 -11.5160445028 11.5165855493
+ 0.1894774121 -0.0125995534 -29.4806718427 29.4812834309
+ 0.1745330434 0.0883613324 -19.2615924957 19.2625858850
+ -0.0018453251 -0.0041768505 -0.0119305686 0.0127745752
+ 0.3984578428 -0.4163369562 -11.7692976952 11.7833982090
+ -0.1426407149 -0.0226897105 -3.0598251787 3.0632321689
+ 0.0261412926 -0.0231846468 -1.3171863417 1.3176497083
+ -0.0778877222 0.0247047896 -1.6355546289 1.6375945066
+ 0.0182951754 0.0715600178 -0.5311897283 0.5363003608
+ -0.0246149459 0.2021038893 -6.3988758119 6.4021139894
+ -0.0114479203 -0.0205786446 -0.4840243657 0.4845968655
+ -0.0997633253 -0.0335749910 -0.8533789969 0.8598463313
+ -0.3408012844 -0.4003472317 -5.2579943169 5.2842149519
+ -0.1376423893 -0.0322189737 -0.9591888310 0.9695497425
+ -0.0926186883 0.0778550766 -1.3677290418 1.3730704156
+ 0.0446742027 -0.0071984008 -0.4543902501 0.4566378223
+ -0.0651487978 -0.0123497123 -0.1630410887 0.1760093118
+ -0.0369930024 -0.0192906677 -0.3315705517 0.3341850429
+ -0.1507357825 0.1309993957 -0.6159690985 0.6475338201
+ -0.1584983378 -0.0111573549 -1.8881901964 1.8999968980
+ -0.0244566997 -0.0389567995 -0.1641317897 0.2203061318
+ 0.3700801990 0.1312348093 0.7338783193 0.8323216424
+ 0.1254554549 0.0181829818 0.1157891051 0.1716881150
+ -0.0658562084 0.1210101510 2.2513102806 2.2555217747
+ -0.5721983520 0.5978296588 10.0224124928 10.0565184547
+ -0.0160007195 0.0686803074 1.5396435370 1.5412576775
+ -0.1330897068 -0.0204814953 3.8348784391 3.8372418486
+ -0.1803120097 -0.2196619633 16.0679340988 16.0704471003
+ -0.1882670082 -0.1841118137 9.2423219528 9.2460725017
+ -0.2189497228 -0.2091299405 33.3737948120 33.3751682313
+ -0.2111877774 -0.1638271594 18.6126367594 18.6145557765
+ 0.1592242539 -0.0901281969 4.0900360850 4.0965046584
+ -0.4726225539 -0.8741879206 35.9486082157 35.9626123778
+ 0.0710559525 -0.0480774269 10.6042944778 10.6046415196
+ 0.4499116572 0.0229990436 42.8933686098 42.8957342885
+ -0.0390392127 -0.0473523599 4.8036762756 4.8040682829
+ 0.0698343256 0.0333644867 5.2116520984 5.2122267426
+ 0.0846141252 0.3086485345 59.6716959385 59.6727173793
+ 0.3709329263 0.0165191761 81.4795059370 81.4804714741
+ -0.2924887366 -0.0159236945 39.4753079820 39.4763947632
+ -0.2973356914 -0.1559311839 48.3295823191 48.3307484960
+ 0.0581993242 0.1361661059 1.0378547287 1.0483657795
+ -0.0429161832 0.0393094321 0.1694918879 0.1792052742
+ 0.0084576823 0.0582801458 0.8715077683 0.8734952192
+ -0.0483855512 -0.0427928405 2.7948748748 2.7956212109
+ 0.0459379064 0.0595542083 0.2380636031 0.2496623201
+ 0.0584927691 0.0282028687 1.1214557566 1.1233342423
+ -0.0183892644 0.0508739576 0.9588971989 0.9604218670
+ -0.0006253879 0.0697571721 8.1213601364 8.1216597392
+ 0.3325062612 0.3267294613 144.0711992586 144.0719534412
+ 0.2036691637 0.3797352339 135.3829443676 135.3836301242
+ 2.6224766510 1.0250401397 -3.1987205463 4.2614439110
+ 3.0027302959 1.1761364367 -3.4485697516 4.7214742909
+ 0.0476494199 0.0345595351 -0.1191954159 0.1329374885
+ 1.3743636715 1.6085197019 -3.0229970053 3.6898132781
+ 0.2619822586 0.0942424717 -0.4445625216 0.5245495047
+ 0.2507557448 0.2291562904 -0.6791303630 0.7593478116
+ -0.1149612310 -0.0274562273 -0.0502106638 0.1284174436
+ -0.0138206797 0.0632813114 -0.0750209736 0.0991144896
+ 0.0874768878 0.0451188683 0.0485151408 0.1097343933
+ -0.0505193427 0.0470577553 0.0284812968 0.0746848083
+ -0.0203873256 0.0763445940 0.0985662970 0.1263307364
+ 0.2088143944 0.4593308574 0.5900649865 0.7763794022
+ -0.5640164152 -1.2100122113 0.8248629888 1.6463044819
+ -0.0590012882 0.0449096185 0.1004632282 0.1248634697
+ -0.1081611492 -0.0986504257 0.2504039221 0.2900566580
+ -0.0842916054 -0.2253129127 0.4039720305 0.4701748449
+ -0.3129514299 -0.4003723039 1.1150893970 1.2254227608
+ -0.0307116311 0.0083473942 0.1306003906 0.1344222649
+ 0.1245562965 -0.0582145903 0.3573336741 0.3828714722
+ -0.2423755484 -0.4707026008 5.4762802283 5.5018135178
+ -0.1809079599 -0.2240897370 2.2505328542 2.2688856357
+ -2.2051398126 -1.9272750318 11.0042005012 11.3981197897
+ -0.9347690484 -0.6622425732 4.0249104474 4.1847655262
+ -1.2060541689 -0.8263133057 5.7152320585 5.8992573956
+ -0.1424843235 -0.1270519453 0.5161333933 0.5503068770
+ -0.1481753820 -0.2603425711 1.3062807444 1.3401878903
+ -1.2918779128 -0.5006360944 12.2334722006 12.3116784852
+ -0.6562084900 -0.3392782454 6.0232843165 6.0684160427
+ -4.1902782858 -1.1217735553 35.8431600635 36.1081238337
+ -3.0357051223 -0.8565073024 27.5765314722 27.7563361845
+ -5.8679545560 -1.7001099158 51.8260460521 52.1848858751
+ 3.3901036326 1.0986545000 -1.6421783308 3.9263308324
+ 12.6325402219 4.3985766351 -7.1612403931 15.1733777592
+ 0.2086447606 0.0975260662 -0.0157532144 0.2308508901
+ 0.1854685420 0.1572750021 -0.1456828873 0.2834740023
+ -0.0034393531 -0.0069369742 -0.0258076514 0.0269441205
+ 0.3392341768 0.0690488031 -0.0822854120 0.3558348675
+ 1.1971669706 0.6845753730 -0.9734187791 1.6880154965
+ 1.0583093786 0.6854109627 -1.0263904368 1.6258180271
+ 0.0064023606 -0.0016999184 -0.2321066902 0.2322011964
+ 0.0319197456 -0.1125324596 -0.1469247082 0.1878012101
+ -0.0266128232 0.0185742581 -0.0632688449 0.0711069066
+ 0.1403117331 0.0530627946 -0.1056966631 0.1835070222
+ 0.1088754238 -0.1452941684 -0.0826401715 0.1994834610
+ 0.0154646200 0.0088290418 -0.0779694740 0.0799771550
+ 0.4168247371 0.1062081639 -0.8545856284 0.9567338354
+ 1.2195894611 0.3333258056 -3.0681211232 3.3184140448
+ 0.1349341583 0.0330906474 -0.6697034524 0.6839626687
+ 0.0013821783 0.0138231776 0.0003712768 0.0138970682
+ -0.0204588141 -0.0326306810 -1.0292485520 1.0299688860
+ -0.0441998314 0.0540461335 -0.3087988735 0.3165933573
+ -0.0101414255 0.0196894115 -1.3458566657 1.3460388873
+ -0.0252792779 -0.1174103867 -1.4262412533 1.4312890530
+ 0.0817878022 0.0137343541 -1.5050905876 1.5073737273
+ 0.0597408824 -0.1317918757 -3.1307254449 3.1340676258
+ 0.0751508624 -0.0196947996 -1.7313622430 1.7331043689
+ 0.2469376930 -0.3541844372 -7.4515763235 7.4640749289
+ 0.0069034244 -0.4982913363 -50.9468293079 50.9492665152
+ 0.0037292587 -0.0645556578 -13.7738639690 13.7740157535
+ 0.1165284798 0.0216554399 -9.0841795929 9.0849527638
+ 0.2510094544 0.1220948105 -42.1811555940 42.1820791348
+ 0.1854250686 -0.3418046898 -50.6610073905 50.6624997678
+ 0.0324189736 -0.1922261177 -36.4736616342 36.4741825800
+ -0.1508043463 -0.2282106492 -59.7488368414 59.7494629762
+ -0.0357507331 -0.0611104079 -6.0767270581 6.0771394863
+ -0.4868602609 0.1529894218 -68.2048157285 68.2067249414
+ -0.0284329015 0.0130431594 -11.5544376359 11.5544799812
+ 0.0404759227 0.3159172300 -34.8459919010 34.8474474468
+ -0.0761300209 0.1995072681 -19.6118140677 19.6129765705
+ -0.2234991099 0.0986544680 -32.2292417819 32.2301677065
+ -0.4498597836 0.3029571725 -51.7194177202 51.7222614180
+ 0.0100992214 0.0092381664 -0.3736973372 0.3739479079
+ -0.2903240464 0.0721449346 -24.6001305900 24.6019494753
+ -0.0023005322 -0.0131910009 -0.4490486593 0.4492482536
+ 0.0279352876 0.1485496328 -0.7317720269 0.7472199630
+ -0.1752352631 -0.2555640940 -0.4725337676 0.5650739466
+ -0.0665309039 -0.0020063866 -0.1355770926 0.1510348794
+ -0.0409026712 -0.0099771661 -7.5297026451 7.5298203495
+ 0.0249572584 0.1000164845 -6.3002893308 6.3011325818
+ 0.0233174545 -0.1632828702 -21.7538373420 21.7544626249
+ -0.0568509910 -0.0107873380 -7.7582712309 7.7584870235
+ -0.1467986441 0.0054751657 -42.1870141292 42.1872698921
+ -0.1097902819 -0.0581585537 -81.8313178965 81.8314122144
+ 0.2761879330 -0.7305147192 -1071.6969310421 1071.6972246938
+ -0.3171456675 -0.1913209110 -785.3526951654 785.3527949071
+ -0.2888985320 0.0623743537 12.9482841964 12.9524089010
+ 0.0393375773 -0.1924034507 12.1119968125 12.1143928079
+ 5.0730403231 2.1510881758 -5.5709527100 7.8512466218
+ 1.0150948991 0.3921616706 -0.7337497982 1.3198776387
+ 9.5911244881 4.6625081772 -11.4284342211 15.6313070533
+ 1.9315687741 0.9769501025 -2.3940542029 3.2275199393
+ -12.9905797704 -3.5943895649 113.7436254800 114.5395417148
+ -55.1847593911 -15.7575130675 479.6904514872 483.1113801339
+ 10.7746506365 3.5989112289 -5.6857470869 12.7130111986
+ 5.8358433968 2.2217278748 -3.1011974560 6.9721279795
+ 1.1904494872 0.4198331651 -0.5693015689 1.3847505712
+ 0.8053171657 0.2462629411 -0.3717354381 0.9205261590
+ 6.0764991665 1.7258575840 -3.1448133509 7.0563643467
+ 0.8367074351 0.2419204372 -0.4335855067 0.9729344693
+ 0.2603251090 0.0271867774 -3.9180903143 3.9293027090
+ -0.0463880975 -0.1775304672 -6.3289112789 6.3331087692
+ -0.0476283455 -0.0869013850 -1.4854137006 1.4952437784
+ -0.1844484615 0.2096525368 -8.8159947355 8.8215201854
+ 0.0720804301 0.0105519681 13.4591413680 13.4593385163
+ 0.0275949262 -0.1142469387 12.5198386485 12.5203903145
+ -0.0395646477 0.0816229447 14.3108997501 14.3111872087
+ -0.2352791114 0.0400251363 35.4999850455 35.5007872660
+#SUBSTART
+ 0.2833492261 0.4513381170 0.3529773407 0.6542672755
+ 1.9288872256 2.2553796608 1.9861272408 3.6049529429
+ -0.2226686020 -0.2498087549 -1.3682694461 1.6932037037
+ 0.1423596850 -1.0587999857 -2.2903985065 2.6963013172
+ -0.3649488657 0.4322908482 -7.2837541798 7.3070252353
+ 0.2786628312 -0.1168500510 -194.4370272319 194.4373121227
+ -0.0589995187 1.0351770546 -1003.6043946556 1003.6049399661
+ -0.8188213543 0.1690693799 -1105.6248472990 1105.6251722431
+ -0.0099878165 -0.2656521936 1.9008543675 1.9244214600
+ -0.1401387162 0.9034938021 14.5318011109 14.5612040443
+ 0.3995198527 1.2315368132 40.6845700999 40.7054053295
+ 0.0000830083 -0.1511669726 25.5579779213 25.5588060494
+ 0.7112347683 0.4259567376 1576.4093775748 1576.4098747948
+ -0.4419643912 0.2199285987 14.7256945744 14.7346279761
+ -0.3633758381 0.5191938711 19.6767986011 19.6874957079
+ 0.3341523922 -0.1662910589 20.0256139057 20.0351731662
+ -0.2644412561 -0.3165429092 12.0326361291 12.0405124721
+ -0.3053292050 -0.3626883627 7.6795604516 7.6954465294
+ -0.2590607056 -0.5905793926 -1.2895360033 1.7202180573
+ 0.0881728382 0.3769507049 -0.7074547868 0.8184365239
+ -0.6004550538 -0.0048745957 -1.3694372300 1.5018016331
+ -0.0435617032 0.0203561468 -0.1855676516 0.2371226116
+ -1.2039790398 -1.4352226095 -5.4434347812 5.7584625960
+ 0.3191439129 -0.0287523682 -2.4520615843 2.4768458438
+ -0.4678469858 -0.1737396388 -45.7414528118 45.7443881956
+ -0.1565104062 0.5343307101 -123.4816829829 123.4865028564
+ -0.2113520358 0.1994922069 -431.9110021785 431.9111225119
+ 0.2114337007 -0.4236557385 -2.3384658471 2.3899980538
+ -0.0605054579 0.2801027022 -4.6791032820 4.7811000557
+ 0.0267562406 0.3365808083 -4.8861739493 4.8998140970
+ 0.3403117487 0.0300225275 -21.3575429215 21.3607310939
+ 0.4185094079 -0.2654090420 -6.8280995751 6.8474824335
+ -0.2021349970 0.2211515050 -0.6706215490 0.7476493777
+ -0.1755155064 0.1483061275 0.2000373710 0.5800485412
+ -0.1694859157 0.2064892507 -0.1286468825 0.3277088518
+ 0.1645828958 0.0701886415 -0.1516113458 0.2729098021
+ -0.2988868269 -0.0500443688 -0.1361934872 0.3603695673
+ -0.1516983279 0.0024832140 0.4276627678 0.6704885920
+ 0.0895993757 0.0380686222 1.1200955606 1.1329479767
+ 0.5375958661 -0.4881705869 1.1030713826 1.4112978924
+ 0.3245496048 0.1895705428 -0.0695376645 0.4069210100
+ 0.1805081219 0.1599597042 0.3410667494 0.4404277483
+ 0.5649645105 0.2697594561 1.0507201534 1.2310352099
+ 0.2282550691 -0.0477095077 0.0555063716 0.2773757666
+ 0.4778279791 0.3866682931 0.3494923975 0.7207334232
+ 0.1742046398 -0.0652902839 0.0984507904 0.2525518179
+ 0.4403383200 0.9626729472 1.0019643722 1.4642572955
+ 3.2490941245 3.3414858961 2.7485486660 5.4336300778
+ 0.4951431574 -0.1252919994 -0.0956979752 0.5380545686
+ -0.3096672109 -0.0479932773 -0.0400666112 0.3453726312
+ -0.0479093881 0.2196169830 -0.0645608131 0.2723505318
+ -0.7907725437 -0.9924777802 -2.3255828990 2.6529509919
+ -0.3616663026 -1.0407016040 -3.5329365706 3.7033745341
+ 0.0157944141 -0.1860513742 -1.1540443245 1.2689853586
+ -0.4657012596 -0.2567717037 -1.2187250195 1.3370040498
+ -0.4169707496 -0.7359857771 -2.0836613692 2.2488184390
+ -1.3436492208 -2.9004762183 -7.7998867439 8.4294951651
+ -0.1329728946 -0.1771227818 -5.5525634043 5.5587313674
+ 0.3986647333 -0.0119102481 -11.9707185600 11.9781742369
+ -0.0411039954 0.0788329030 -107.7902729258 107.7903999499
+ 0.0504360437 -0.0231865506 -335.9456658293 335.9456994079
+ -0.4474598027 0.3393018147 -151.9766079966 151.9776454751
+ -0.0504787950 -0.1810800783 -70.0251568377 70.0254091616
+ 0.0015370518 0.0072219299 -0.3231382829 0.3232226302
+ -0.1163672692 -0.1916650073 -178.5241949913 178.5243903613
+ 0.0635383557 0.1269857698 -51.7575623412 51.7579453012
+ -0.0987554029 0.0287662235 -93.3541352248 93.3542962240
+ -0.1137430832 -0.0332420343 -90.7310275440 90.7312122783
+ 0.2030022071 -0.1123294383 -114.4978726518 114.4981077118
+ 0.0220348963 -0.0732416632 -19.4196596260 19.4198102428
+ 0.0099358313 0.0032208360 0.4501571681 0.4714131473
+ 0.2392810112 -0.3996581286 2.6419917439 2.6863697031
+ 0.0835043203 -0.0535176991 6.0309383743 6.0333684270
+ -0.0499735624 -0.2757892682 7.9749599501 7.9798836635
+ 0.0394633226 0.2557544827 10.5800926852 10.5832570098
+ 0.1436426827 0.1716072774 7.1630122496 7.1678662481
+ -0.5316830472 -0.0839867258 44.4310508454 44.4345304875
+ 0.0606993514 -0.0336446749 7.7876167803 7.7891765468
+ -0.0414076854 0.2991612105 77.5909145319 77.5930723124
+ 0.4308739640 0.3406620154 79.0202121401 79.0222443964
+ -0.7076351434 -0.6346855414 143.0640132839 143.0680226713
+ 0.0634364837 -0.0634570353 338.4685276711 338.4685683407
+ -0.1659824702 -0.4188615418 1104.3609094259 1104.3610101515
+ -5.8144128137 1.2741722966 286.8636945238 286.9254435341
+ -0.2423829650 0.0281856227 11.1797029362 11.1823656563
+ -0.2482226068 0.0035515045 18.3977390594 18.3994138378
+ -1.0472687029 0.1400476087 99.0339098443 99.0395460618
+ -0.2025487631 -0.2047701049 7.5671942306 7.5887433927
+ 0.0097261101 0.5177128355 12.7090271483 12.7203369459
+ 0.0181601180 -0.3974503330 5.0848284048 5.1022795149
+ 0.3533470872 0.3333807997 3.6175409529 3.6526811046
+ 0.2132575234 -1.0124740880 4.4449619524 4.5659335401
+ 0.1832732733 -1.7010605236 6.3299340043 6.6240510476
+ 0.0245440366 -0.1513962261 1.2296292793 1.2469928534
+ 0.5428896287 -1.9878712380 7.4337026578 7.7710416417
+ -0.1120662451 -0.3806528713 1.5926050622 1.6472176908
+ 0.0730515808 -0.4069796027 0.0660122587 0.4413687049
+ -0.3924678375 -1.3154573693 -0.2469508610 1.4017573280
+ -0.2438046292 0.2956822387 -0.3196952806 0.5182215172
+ -0.0065412442 -0.2231751738 -0.4579552629 0.5282544405
+ -0.6562556910 -0.4334728077 -0.1300970293 0.8093053991
+ 0.1299651792 0.0746846297 -0.0073847059 0.2049464821
+ -1.2368731668 -0.9984895216 -1.7223405677 2.3479295926
+ -0.8967307447 -1.0903794562 -2.2764388498 2.8386650047
+ -0.2051650890 -0.0053495536 -0.6259044761 0.6733182973
+ -0.2563420001 0.3309807822 -2.5454387810 2.5834081892
+ -0.0125924627 -0.2283157501 -1.1450812727 1.1760006624
+ -1.7020138245 0.6280872984 -7.2903067417 7.5139468248
+ -0.1767904316 0.5317999176 -3.5396413456 3.5837308582
+ -0.1635891423 0.3434860413 -1.8370389954 1.8760214121
+ 0.3838707088 0.2725994536 -2.4275288524 2.4767000822
+ -0.2342630548 -0.0192152841 -0.5612908556 0.6243201226
+ 1.0245704302 0.1416287460 -2.3640826660 2.6272287833
+ 0.3341121172 0.2946099492 -1.6319865811 1.7622278768
+ 2.4027375937 0.5139318125 -4.0670106367 4.7776065975
+ 0.3100424380 0.4776054965 0.0739872534 0.5909206564
+ 0.8455673956 0.0741336263 -1.4241021699 1.6637387987
+ 0.0382321420 -0.0283845609 -0.2607113161 0.2995288888
+ 0.4187922659 0.4370727781 -1.7770401264 1.8824906298
+ 0.2016117336 -0.2501930323 -1.3892224998 1.4327116889
+ -0.2269728573 -0.1341749926 -1.1607999300 1.1985223690
+ -0.0224751090 0.5037655364 -4.1801563534 4.2127748302
+ 0.0833319855 -0.2917812212 -2.4304231332 2.4532665758
+ -0.0920608164 -0.2468065029 -0.7747523162 0.8301262435
+ -0.3513424971 0.1087228845 -8.0557735900 8.0653722874
+ -0.1456785547 0.2554700097 -20.3604799740 20.3630820782
+ -0.0596187138 0.1800995927 -12.7010747610 12.7024915012
+ 0.0558337364 0.1388868904 -6.6636077411 6.6652888236
+ -0.0610379995 -0.0020892869 -5.2036519058 5.2058815722
+ -0.5395558136 1.0875478064 -137.9136722067 137.9222071054
+ 0.3556079070 0.1217838737 -101.2089297237 101.2139767754
+ -0.0154767706 -0.0675816997 -17.6561804805 17.6568682320
+ -0.3607581181 -0.0057333353 -203.8708335592 203.8733119023
+ -0.0476076544 -0.0393107154 -60.8665874570 60.8667787900
+ 0.5811178939 0.0248253362 -307.1281332129 307.1301211489
+ -0.6198050029 0.3636630194 -305.9530808819 305.9539566503
+ -0.3888926740 -0.1662336087 -0.4664286943 0.6296243733
+ 0.4826950251 0.0176361247 -5.8431906066 5.9379267232
+ -0.1338402130 0.0901823145 -1.3797368408 1.3961373813
+ 0.0708339700 -0.1854563751 -7.2326367802 7.2353608281
+ 0.0526948626 -0.2544869720 -16.6549217872 16.6569493037
+ -0.0108975038 0.0432741547 -1.1422116317 1.1515722316
+ 0.5308690195 0.3748036207 -24.4967008306 24.5057162932
+ -0.2231896879 -0.1960222688 -10.8007128091 10.8056982808
+ 0.0097813469 -0.1927989495 -9.9755047111 9.9783486177
+ 0.2114589423 -0.2041536707 -5.6669093900 5.6762430731
+ -0.0311964169 -0.1115350508 -7.4364976790 7.4387089471
+ 0.0974382515 -0.2226185934 -5.1398477356 5.1474816932
+ 0.0470584727 -0.5270850994 -1.4876970662 1.5790110078
+ -0.0031276865 0.0283245188 -1.4711705620 1.4714465275
+ -0.0986526321 0.3021105225 0.2140967487 0.6248851794
+ -0.2351475676 0.5154322790 -0.1883894687 0.6131355393
+ -0.4429558105 0.6043504553 1.4224714573 1.6138011509
+ -0.1021211165 0.3830356324 0.6782243387 0.7978803523
+ 0.0241467891 0.1747228832 0.5835459447 0.6253933225
+ -0.1999991072 -0.3978106684 -0.0026979039 0.4666262255
+ -0.0633012328 0.4946303369 0.1214401622 0.5318775368
+ -0.0441796580 -0.3314598617 0.0120878340 0.3625512140
+ 0.0492091757 0.1194646653 0.0200412368 0.1912453537
+ 0.1603547795 0.1259830879 -0.0073903790 0.2040588431
+ 0.1873058529 0.0241307151 -0.0919798144 0.2100620389
+ -0.0411315671 -0.1140510291 0.4183820370 0.4574087416
+ 0.4003131540 -0.2854808252 2.4741065336 2.5263477289
+ 0.0370775714 0.1875089570 0.1233443623 0.2274822784
+ -0.0590551573 0.0471180218 0.0924251366 0.1193734705
+ -0.0524636899 0.4292987183 0.7023058218 0.8247928805
+ -0.0645699986 0.1710442945 0.4709248850 0.5051689645
+ 0.0649781300 0.0666367199 0.0838414395 0.1252677005
+ 0.0417112481 0.0663002372 0.3669806645 0.3752470623
+ 0.0833850823 0.1212007528 0.0583254892 0.1582547223
+ 0.0766785065 0.2666605711 0.3110733154 0.4168381713
+ 0.0686149326 0.1787859925 0.2606021012 0.3233974262
+ 0.3919543241 0.4177714437 0.6561220706 0.8710093817
+ 0.0128276952 -0.0111962132 0.0189293528 0.0254602701
+ 0.3002213395 0.3791314096 0.3181002385 0.5788447462
+ 0.1727452542 0.0066123365 0.0699700440 0.1864951820
+ 0.4378819415 -0.1362966095 0.3667306664 0.5872041741
+ 0.1145582312 -0.3605873984 -1.2882024722 1.3498489747
+ -0.2726743238 -0.3255971725 -0.9975091370 1.0931006673
+ -0.0194102966 -0.0306109980 -1.0658465812 1.0664627173
+ 0.1082253372 0.0717957349 -4.7106641314 4.7124541282
+ 0.0512579981 -0.0259977342 -4.0037789897 4.0041914868
+ 0.0605777698 0.0087418127 -28.4213926608 28.4214585633
+ -0.0303356364 0.2082381412 -623.7826142779 623.7826497737
+ -0.0006182414 -0.0194699964 -113.6002990674 113.6003007376
+ 1.5846251771 -0.5161951344 9.1365955853 9.3006746361
+ 0.0810450597 -0.0429659074 0.7263884277 0.7321574413
+ 0.0919785501 -0.0711742503 0.2609366329 0.2856812104
+ 0.0484109128 -0.0237444774 0.1138268829 0.1259522765
+ 0.3861333325 -0.0403939169 1.9804890034 2.0181841619
+ 0.2318556121 -0.0839894741 0.5723389883 0.6232039587
+ 0.3845073867 -0.1725985785 1.5093181748 1.5670601624
+ 1.4231104256 -0.0803447512 7.0817644134 7.2237861104
+ 0.3578432000 -0.0831509644 1.9658699469 1.9999026193
+ 0.0084715800 -0.0001479303 0.0130611233 0.0155686381
+ 0.1672470495 -0.4376192942 4.0564436999 4.0834076104
+ -0.0159518193 0.1963927777 3.7071090313 3.7123418422
+ -0.3085671281 1.1665943922 28.0764446678 28.1023646929
+ -0.0157702474 -0.0134113953 3.9317802503 3.9318347502
+ -0.2207182786 0.2015571223 19.9585425838 19.9607806436
+ 0.1023403899 -0.1241052554 19.3566887662 19.3573571456
+ 0.0117210936 0.0213653658 0.8072958409 0.8076635671
+ 0.1138172417 -0.5749893695 1426.9663114610 1426.9664318447
+ 0.1378334210 -0.4113014517 1335.3220434120 1335.3221138695
+ 0.0145118339 0.0091693393 0.9545890747 0.9547434062
+ -0.2732728371 0.1910391953 9.8775455564 9.8831715677
+ 0.0136551658 -0.0589483055 2.3055114033 2.3063053131
+ -0.1315981339 -0.0693130234 11.5838607639 11.5848156032
+ -0.1530273875 -0.0485778571 11.1964602125 11.1976112845
+ -0.1150544198 0.0819839877 9.2106107940 9.2116942032
+ -0.1283911797 0.1570867177 4.9273524830 4.9315274534
+ -0.1498665931 0.0538242869 6.5190408514 6.5209854065
+ -0.1095027206 0.0035624059 1.4468208777 1.4509631935
+ 0.0095617638 -0.0150375743 0.0428650228 0.0464244143
+ 0.0040255767 -0.0032631418 0.0083238495 0.0098183467
+ 0.1030016531 -0.6328610650 2.1864503442 2.2785275016
+ 0.0018921923 -0.1160720571 0.2396189695 0.2662584334
+ -0.0678631819 -0.0350978326 -0.0362468818 0.0845642108
+ -0.2442259979 -0.4785633600 -0.1053951655 0.5475192859
+ -0.0123342779 0.0214243907 -0.0519328404 0.0575165962
+ 0.0939381429 -0.1340271854 -0.1426153017 0.2170870456
+ -0.2744629382 -0.3732833327 -1.7531089346 1.8133012126
+ -0.3162589320 -0.2243470746 -1.4620144379 1.5125599289
+ -0.3878946262 0.0965058595 -0.7481897799 0.8482709288
+ -0.4807864707 0.1633310671 -1.3029949023 1.3984378368
+ -0.0441876850 -0.0785514395 -0.1801455945 0.2014331536
+ -0.1813894886 -0.0583156038 -0.8106056808 0.8326970793
+ 0.1569339876 0.3649683536 -0.5481781738 0.6770003588
+ 0.0408671843 0.0143125488 -0.1218055399 0.1292732198
+ 0.5618335362 0.0294909513 -1.2258542943 1.3487940500
+ 0.2755437004 0.0135292027 -0.4064861476 0.4912620058
+ -0.0184026995 0.0160802320 -0.0874909879 0.0908400032
+ 0.1856237337 0.0066920785 -0.3003794925 0.3531696390
+ 0.9779701432 0.3014868327 -1.8967641133 2.1552340970
+ 0.3706903235 0.0338120426 -0.7452352282 0.8330246788
+ 0.1992931504 -0.0770962216 -0.5122668000 0.5550485218
+ 0.4738247913 -0.2859004373 -0.8950231064 1.0522905273
+ 0.5518117696 0.9090193364 -0.6550171030 1.3444460633
+ 0.0080582104 0.0879363217 -0.2503478464 0.2654652061
+ 0.3995047670 0.5593143917 -2.3152173180 2.4150916913
+ 0.0455072512 0.1124543601 -0.2614379154 0.2882129016
+ -0.0858551877 0.2136676571 -0.3507247384 0.4195626569
+ -0.0206751448 -0.0202936531 -0.0750458067 0.0804435645
+ 0.0188678835 0.1413803159 -0.9201083732 0.9310981738
+ -0.0249710681 -0.0499149061 -0.5452306404 0.5480798330
+ 0.1267909018 -0.4349972569 -6.8107831977 6.8258381399
+ -0.0484886604 -0.0132014173 -1.2305545951 1.2315803015
+ -0.1714904986 0.0437190631 -15.1877203264 15.1887513990
+ -0.1313765176 0.2628202083 -14.9756781489 14.9785603537
+ -0.1215799715 0.1626022414 -70.8489802582 70.8492711664
+ -0.0040952732 0.0929853467 -37.6478305634 37.6479456170
+ 0.1175829089 0.0449101333 -33.1876591117 33.1878977938
+ 0.0334865933 -0.0530704668 -108.4136791607 108.4136973218
+ 0.0525028992 0.0825864473 -121.1675888390 121.1676283590
+ -0.1745516861 0.0017193829 -2.2522559726 2.2590104501
+ 0.0225408820 0.0146440904 -0.2181531395 0.2198029413
+ 0.0713206843 -0.0954840976 -1.4165973252 1.4216018552
+ 0.4042586106 -0.9571792179 -16.6352352369 16.6676533582
+ 0.0139413298 -0.2710467564 -2.1723085933 2.1891974167
+ 0.0647186727 -0.1000908673 -1.6376712592 1.6420029968
+ -0.0170988799 -0.0202100234 -1.3086248608 1.3088926018
+ 0.1963533942 -0.0982098221 -4.9087301273 4.9136372768
+ -0.2576069761 -0.1007822174 0.7341094031 0.7844966700
+ -0.2763951490 0.0183763989 0.5798233099 0.6425939941
+ 0.1648948351 -0.1249985512 1.0088469551 1.0392626752
+ 0.4427563086 -1.0997514896 6.7960744917 6.9001155621
+ -0.2088871806 0.0173401401 -7.1499790452 7.1703424124
+ -0.4636652063 -0.0306655199 -60.7004752602 60.7022538511
+ -0.1078339549 -0.0582783585 -23.1752308618 23.1755550101
+ -0.0002039040 0.1174932788 -6.7119484420 6.7129767317
+ -0.0638042215 0.3354490874 -36.8814888349 36.8830695000
+ -0.0820862136 0.0196273794 0.0212642411 0.0870376265
+ 0.0384393409 0.0409453556 0.0790316387 0.0969541386
+ -0.0592949025 0.2013635520 0.2245330142 0.3073731283
+ -0.1290726252 0.2228881468 0.5207004442 0.5809198062
+ 0.0548939836 0.0400987271 0.0947068747 0.1165789409
+ -0.0717709364 0.0211873630 0.0421803813 0.0859020153
+ -0.0854989726 0.1903586136 -47.6977655989 47.6984262779
+ -0.2160415316 0.1181755354 -14.0436030441 14.0464552698
+#SUBSTART
+ 0.1539014638 -0.0908512505 4788.2446696506 4788.2447651690
+ -0.0148114974 0.0042860518 846.6231953077 846.6232069525
+ -0.2978887024 0.3819379995 -2984.2355445705 2984.2357317886
+ -0.5233583900 -0.3506456537 -1445.4001683554 1445.4006110176
+ 0.0868721462 -0.0416606861 -35.2978794538 35.3104789958
+ 0.1746554111 0.6529563456 -2.3615335379 2.4603204949
+ -0.2195675487 -0.5742046917 -1.1508595857 1.3122036836
+ -0.0550847667 -0.3892513341 -0.5173114709 0.6645614159
+ -0.0807385478 0.1607809602 0.9611380492 1.0953522447
+ -0.4835543645 -0.0768497810 2.9874327611 3.0672668900
+ -0.0189453315 -0.0112744597 10.9779226021 10.9890359749
+ -0.1539909793 0.0018305918 24.8178599262 24.8232457356
+ -0.1487284695 0.5415571508 15.8935109318 15.9110884293
+ -0.3322992007 -0.4254466298 4.5216541659 4.5804393839
+ -0.2064484867 0.2586818811 -0.0030401864 0.3592023398
+ -0.3392293512 0.3704859801 -1.0637601942 1.1846526705
+ -0.0728379278 -0.2505438876 1082.3828662207 1082.3828976688
+ -0.0278413479 -0.0320738904 56.0728297671 56.0728458522
+ 0.4610635867 -0.0819786364 -720.7985365406 720.7987021763
+ 0.1376024019 0.2890392108 -441.1687561554 441.1688943767
+ 0.0218460944 0.0310036017 -3.3731367251 3.3733499435
+ -0.1814663336 0.2418564708 -42.1368272085 42.1379120482
+ 0.3944234179 0.4506504534 -5.9163195876 5.9481907259
+ -0.1528343568 -0.2734136917 -2.6068762398 2.6293339275
+ 0.0580645529 -0.1451372789 -1.5560769179 1.5701246706
+ 0.0127147603 0.1581195899 0.2712092298 0.3437989253
+ -0.1655699615 -0.2889078615 0.2646679672 0.4476718467
+ 0.0409996840 -0.2980203348 17.6906431886 17.6937512502
+ 0.0448063655 -0.2108823756 43.5032061490 43.5039642334
+ -0.0239497074 -0.0003745352 10.6843301489 10.6852685621
+ 0.3184510872 0.1561553225 0.5315797235 0.6541042478
+ -0.0005463108 -0.0608043787 0.4295776206 0.6571722476
+ -0.0799385569 0.0915281456 0.6315302640 0.8107027869
+ -0.0300707450 0.1404962397 -0.4809779843 0.5210211602
+ -0.1905350053 0.2092988994 0.0502001438 0.3195457038
+ 0.2279439953 0.0446643847 -1.5753096245 1.8482165398
+ -0.1896473267 -0.1546565966 -0.4123897597 0.4994295448
+ 0.1642332044 0.1272803043 -172.6523887686 172.6532310609
+ -0.1447053048 0.0328825244 -50.1317896034 50.1322035174
+ 0.0429745669 0.0121452422 -172.3426148696 172.3426206555
+ 0.1076985832 -0.1418531614 -260.0695813552 260.0696423414
+ 0.0454648731 -0.0115903941 -0.2308027389 0.2355234515
+ -0.0936738388 0.0184608952 -0.3580203492 0.3705322701
+ -0.0505660713 -0.2144692740 -4.0490952047 4.0550864323
+ -0.1314692918 0.0600063454 -0.2808146875 0.3158192915
+ 0.0475234108 -0.1771358454 -0.1533939840 0.2768484812
+ -0.0108821226 0.1655558771 0.0729270157 0.2287472482
+ 0.2307927364 0.4972020859 -0.0479955003 0.7419260059
+ 0.0466062345 0.0400580537 -0.3655768827 0.3707064147
+ 0.0134444529 -0.0234134062 -0.0035453278 0.0272306859
+ 0.0389417993 -0.0647765218 -0.0262601103 0.0800128421
+ 0.0668703480 -0.0811670484 0.1320154140 0.1687833011
+ 0.0505242596 0.1162906009 30.7087570324 30.7090187840
+ 0.1864880957 0.1647671557 32.6107813484 32.6117308062
+ 0.2949618280 -0.2991087632 0.9991881160 1.1926947859
+ -0.0405117589 -0.3717622628 -0.0745048886 0.4060531320
+ 0.1786952830 0.0113706726 0.0085972959 0.2271893368
+ -0.0328005991 -0.0763083450 -0.1138670579 0.1983540637
+ 0.0259065373 -0.3159277548 -644.0432480897 644.0435183796
+ 0.0940699878 0.0114697188 15.8310247221 15.8319235803
+ 0.1806926624 0.2905611232 9.2877799257 9.2951283658
+ 0.1154690559 0.1229823280 -1.6755216266 1.9277398865
+ 0.0064932772 -0.0781725887 -0.4264996621 0.4555599444
+ 0.1996706046 0.0390885584 0.1072155031 0.2690189858
+ 0.2236254356 -0.2827874459 -0.1974699834 0.4341097261
+#SUBSTART
+ -0.3681878701 -0.6464249872 5727.7556253248 5727.7557504854
+ -0.1522931570 0.2096393342 385.4571356001 385.4575387352
+ 0.1780361099 0.2045711827 -0.0125791979 0.3052609480
+ -0.2189589321 -0.0342245761 0.4299868198 0.5034707396
+ 0.0173858881 -0.0837828326 -0.9973381458 1.0106854081
+ 0.6870508833 1.2320949370 -5023.2545421620 5023.2548281209
+ 0.0608879622 -0.0417071433 228.9839065888 228.9844592957
+ 0.0625286557 -0.3381248377 175.5684197086 175.5694502986
+ 0.0937830046 -0.1668265988 207.9072415189 207.9079155379
+ -0.4950131112 0.3206480394 57.7741178047 57.7792366012
+ 0.1110346847 0.0608550778 29.0153968468 29.0160087884
+ -0.1455423327 0.0966445831 4.6597339615 4.6650962608
+ 0.3472045816 -0.2405385735 16.5066476337 16.5126407856
+ 0.3339228437 0.5193198991 2.3063243000 2.3916122564
+ -0.3221008928 -0.6378269104 1.4839697522 1.6529422746
+ -0.0766169483 -0.1123256849 2.4212215818 2.4290493921
+ 0.4589873048 -0.1444257755 0.2425874781 0.5566476624
+ -0.1933450115 -0.0909637235 0.4764385111 0.5404906403
+ -0.1972822208 0.0756174857 -0.1599821327 0.2995201937
+ -0.2085405002 -0.0326319045 -399.2301846584 399.2302648550
+ 0.3627062522 -0.1299164841 -982.3924624310 982.3925478927
+ -0.2751644366 -0.1376152642 -109.5582770283 109.5587979061
+ 0.1272017379 -0.0253590632 -55.8359535894 55.8362786760
+ -0.4621935292 -0.0071504429 -213.9562483254 213.9588106698
+ -0.0165675216 -0.0319438961 -47.6720472893 47.6722651804
+ 0.8080746997 0.1296715448 -99.3121467757 99.3199631917
+ -0.2564477371 -0.0188085629 -5.3764989168 5.3844535091
+ -0.1948432151 0.0655741605 -14.0546508065 14.0568471902
+ -0.3457930063 -0.1481234296 -1.9046436699 1.9464482135
+ 0.1846397883 0.1223655296 -2.7876225301 2.7998900567
+ -0.1051200229 0.0183200016 0.7815895615 0.7888397076
+ -0.0615714129 -0.1073746961 0.7055105550 0.7162859118
+ 0.1080850692 0.0914216720 0.0830092045 0.1641061618
+ -0.0058405308 -0.0351288890 0.0093248282 0.0368117245
+ 0.0179247457 -0.0030150678 0.0156909557 0.0240123559
+ -0.0629238605 -0.1798861057 0.9709199711 0.9894463167
+ 0.0330627056 0.1915215454 0.2217747263 0.2948858662
+ 0.0844653285 0.2864918170 0.1344533184 0.3275509850
+ -0.0085808655 0.0064303997 -0.4415240956 0.4416542860
+ 0.3041620822 -0.1058135326 -40.3383117932 40.3395972886
+ 0.0034652706 0.0110518544 -0.0150543024 0.0189943046
+ -0.1494134870 -0.1010745510 -1.8550180404 1.8637683293
+ 0.0198810599 0.0213598582 12.6833147010 12.6833482686
+ -0.0842753577 -0.0414237418 83.5131473367 83.5132001339
+ -0.0402383186 -0.0211826263 44.8785705747 44.8785936156
+ 0.0176333880 -0.0538307047 2.9154852363 2.9160354669
+ 0.0247302321 0.0538516837 11.2535414906 11.2536975110
+#SUBSTART
+ -0.6360258415 -0.3542930987 -0.9496198016 1.2047032927
+ -0.3275051986 0.2981361514 -0.3394701693 0.5752083107
+ 0.8046668991 -0.6474516564 0.6237769757 1.5284406348
+ -0.0141350962 0.0748255240 3.1649259589 3.3019548116
+ 0.3152811001 -1.2141506580 7.7490798393 7.8511962231
+ 0.3047599768 0.6730748441 657.8691384040 657.8702242575
+ 0.5063714840 0.3857868691 1675.2914256042 1675.2915523652
+ -0.4883482806 0.3835052784 -2.6347527501 2.8649315853
+ -0.2560736339 0.3095784579 -3.7058037829 3.8437930222
+ -0.1112013850 0.0416441970 -3.1883308195 3.1935925205
+ 1.0585060467 -0.1781665621 -1.8777377946 2.1673849185
+ 0.6250701468 0.7023599913 -1.9049974597 2.1289709608
+ -0.4215351805 0.3394598609 -68.1147090502 68.1170022365
+ -0.1409188339 0.0941483696 -152.1192224105 152.1193808448
+ 0.3052580793 -0.1990301217 783.7670616885 783.7671588316
+ 0.3781829931 0.3228920801 32.4267473607 32.4308603933
+ -0.1856704990 0.1513150187 7.4710963666 7.5335915260
+ -0.1617762154 -0.2828905001 0.0235401922 0.3552921397
+ 1.1686490642 1.0763126317 0.3757305417 1.8836546237
+ 0.2614290019 -0.1134042141 -20.7889406630 20.7913621323
+ 0.2675728083 0.2587465410 -10.8012736548 10.8189508967
+ -0.8395840692 0.0876543770 -46.1513106221 46.1592410750
+ 0.3139385076 -0.0565520655 -370.8111547546 370.8113182277
+ 0.7140897081 -0.1324011785 -537.1160176632 537.1165268024
+ 0.0590301816 -0.1534056215 -0.6165015289 0.6380376025
+ 0.0132933871 0.0228303166 -0.2566346540 0.2579908587
+ 0.0532088210 -0.0549536351 -0.2041482904 0.2180082685
+ 0.1685442840 -0.0105322278 -1.1525058480 1.1648123596
+ -0.1487108859 0.1753759502 -0.6658232087 0.7044091118
+ -0.2983565410 0.1459025271 -0.7228084833 0.7954597894
+ -0.0216745534 0.1788983448 -1.6611319661 1.6766972290
+ 0.1044277240 -0.2337825606 -0.2064279969 0.3572838339
+ -0.0276278951 0.0294956999 -0.0069831737 0.1454711192
+ 0.4866577790 -0.5079523051 -0.4612806674 0.8527080257
+ -0.2096765258 -0.1314274207 3.0073503680 3.0207405439
+ -0.2508804905 -0.2900363509 1.1816393237 1.2501253464
+ 0.3746085516 -0.0606766266 0.8151408588 0.9099162733
+ 0.1757998276 -0.5379002310 3.6270383577 3.6735717322
+ 0.0199056507 -0.7146318421 4.1551611849 4.2185233390
+ -0.3514310834 -0.1493662022 5.7473879242 5.7617498909
+ -0.1252231824 0.0182534543 7.6022263988 7.6045604763
+ 0.3004512250 -0.2683892063 3.8216863614 3.8453959659
+ 0.4376303781 -0.4728734200 6.9967721232 7.0277613468
+ 0.3861922737 -0.2582936655 107.8289672546 107.8300585137
+ -0.0103724393 -0.0371995833 39.6651624213 39.6654267731
+ 0.0467041252 -0.0950170329 11.7198364694 11.7211456849
+ -0.5530635170 0.0818681310 -3.7326622220 3.7768808153
+ -0.5532623158 -0.1697810182 -1.0734559352 1.2274820626
+ -2.6521152779 -1.3491222909 -9.4743302199 9.9315788928
+ -0.3979609222 -0.1509661978 -2.4453015592 2.4859893782
+ 0.1307693933 0.0705286514 -9.9341519622 9.9352629625
+ 0.0840339454 -0.4601091324 -9.1896580581 9.2015529854
+ 0.1802498454 0.0560400405 -359.5790078308 359.5790844625
+ -0.0111792991 -0.0367950809 -105.5536505763 105.5537498558
+ -0.9408916998 0.4888292191 1879.5770303225 1879.5773942001
+ 0.0173285869 -0.2452589985 191.1827338963 191.1835291893
+ 0.2380630998 0.0018717604 25.8693323673 25.8708042870
+ -0.1741812724 -0.5939399625 117.7946560758 117.7962822156
+ -0.0761602737 -0.0803877491 26.1118650847 26.1120998922
+ 0.2476919274 0.2820033743 358.6859165940 358.6864526031
+ -0.0871441641 0.1375927772 30.1615889933 30.1623516368
+ 0.2491648390 0.1527566002 10.2696728107 10.2858773453
+ -0.3870063025 -0.2666463053 7.6015416526 7.6173347971
+ -0.1677730522 -0.1773489562 14.5977793148 14.6004877027
+ 0.9126534619 0.2172339517 2.9892673704 3.1361323518
+ 0.4130438657 0.5795378388 1.1701395614 1.6601344908
+ 0.2304807128 0.0952357851 0.1759738027 0.3356155209
+ 0.3249248789 0.2372093914 0.8106083099 0.9156473607
+ 0.3145057581 -0.3112970116 0.4485199223 0.6453445644
+ 0.4378483669 -0.6005813827 0.0277493026 0.7567423593
+ 0.0359561197 0.1083740356 -0.2325822550 0.2942992769
+ -0.1490896714 0.0188161099 -0.1047104843 0.9572553716
+ 0.5397582282 0.2892711600 -0.8831634175 1.0747066441
+ 0.0223488311 0.0092405448 -0.1097157630 0.1123494841
+ -0.6118830436 -0.3620729236 -19.1497489964 19.1634512568
+ -0.2458083366 0.2273683997 -5.3638067162 5.3760599328
+ -1.0243502104 -0.0029396232 -72.3859056260 72.3932877764
+ -0.0451155972 -0.1776543483 -5.0363461618 5.0416127311
+ -0.3135349785 -0.0789135296 -4.0250636668 4.0380278664
+ -0.1972627232 -0.0384340796 -1.4818323304 1.4953985475
+ 0.1363727421 0.1552849797 -18.9447031904 18.9463444946
+ -0.0896950523 -0.1446318363 -3.0881806297 3.0960140435
+ 0.1797053129 0.0113607078 -4.7290081201 4.7344926497
+ -0.8303675088 -0.0782627253 -22.0203609164 22.0365925208
+ -0.1520021761 0.0462114010 -2.8791616872 2.8869173804
+ 0.0716822023 -0.1363427332 -85.6707674234 85.6710195946
+ -0.1825954012 0.0367309765 -356.4967961401 356.4968721155
+ -0.0178479925 0.5530255740 -389.3128364388 389.3132546570
+ 2.1160184776 -0.3109768026 -2960.2293074099 2960.2302291344
+ 0.0388312848 -0.0102020953 -0.0435253200 0.0592149045
+ -0.0832114463 0.0901572419 -0.1548649478 0.1975743534
+ 0.0285798481 0.1681634934 -0.3548456069 0.3937145831
+ -0.0781870433 0.1825880167 -0.6783342785 0.7068160942
+ -0.0565860909 -0.0208311249 -0.1715541200 0.1818426175
+ -0.0527203454 0.0910527352 -0.0818833301 0.1333225980
+ 0.0087733335 0.0339432325 0.0829575583 0.0900614840
+ -0.0997854666 -0.0953395706 0.2454932103 0.2816268620
+ -0.0018808874 0.1160296899 0.9529860523 0.9600254385
+ 0.0964903064 0.0282538410 0.6080438414 0.6163002286
+ 0.2481431402 -0.1523912396 0.6498912391 0.7121493738
+ -0.0113506928 -0.0350331319 0.1269877698 0.1322197120
+ 0.0772146572 -0.0894812094 0.1952612986 0.2282454049
+ 0.1491662653 -0.1539087248 0.8611056325 0.8873789385
+ -0.0238037756 0.0541991748 0.3515436457 0.3564927841
+ -0.1068695799 -0.0704724335 0.9881118704 0.9963696801
+ 0.0006899796 0.0208513258 2.2055235392 2.2056222106
+ -0.0145743019 -0.0020873359 0.0243511531 0.0284560346
+ -0.0642965485 0.0520451308 2.3422318099 2.3478441980
+ -0.5193807200 0.2508545089 5.3707922608 5.4034779180
+ -0.0356246895 0.0200735314 10.6551975758 10.6552760379
+ 0.0791319094 0.2284331086 40.4059836516 40.4067068492
+ 0.0409853282 -0.0105039845 3.7083916268 3.7086329812
+ -0.0116575970 -0.0846834129 37.9719161056 37.9720123237
+ 0.0366491329 0.0687099723 -0.3092543218 0.3189082231
+ 0.3492923306 0.0908050709 -1.5198604102 1.5621223895
+ 0.2983893407 0.1250028063 -0.7361235747 0.8040769972
+ 0.0211095674 0.0651426300 -0.1042325524 0.1247140772
+ 0.1848498123 -0.0144294778 -0.7514238238 0.7739608685
+ 0.0064002225 0.0301837015 -0.0347363382 0.0464610791
+ 0.3137612068 0.0135746433 -162.5984461173 162.5987494113
+ 0.2690723980 0.1332643080 -180.3708162085 180.3710661360
+ -0.3798421668 0.2998323778 500.0624132431 500.0626473933
+ -0.1721382834 0.2730144726 349.3278514267 349.3280005252
+ -0.0592352920 -0.0171472146 1.6130919744 1.6142702886
+ 0.0591358732 -0.0215851422 0.6061614317 0.6094215710
+ 0.0281473017 -0.1640754609 0.5886841495 0.6117696097
+ 0.0208307846 -0.1145884283 0.1443033926 0.1854397438
+ -0.0806365517 -0.0063316467 0.1430676342 0.1643492963
+ 0.0429869809 0.0123924731 0.0154868333 0.0473423270
+ -0.1200702161 -0.0394650608 -6.8022040937 6.8033781961
+ -0.8132481094 -0.2857716416 -30.9190630382 30.9310765587
+ -0.4634690936 0.2369230995 -14.4061621610 14.4155625754
+ -0.4058547772 0.2829454168 -17.2017831525 17.2088965316
+ -0.0225658181 0.0972971296 -7.9064805337 7.9071113801
+ -0.0358468383 -0.0419915157 -6.1300470399 6.1302956694
+ -0.0317807527 -0.0182382466 -6.0204610686 6.0205725748
+ -0.0742008520 0.0874866217 -4.2123254896 4.2138872441
+ 0.1861949651 0.1989426636 -15.4931036527 15.4961281398
+ 0.2941543518 0.6879218663 -18.7485897175 18.7640310024
+ -0.1606027400 0.2064175103 -10.9413700379 10.9444954080
+ 0.0071537951 0.1170176359 -6.6656944119 6.6667253053
+ -0.1461629346 0.1148957598 -166.1662924407 166.1663964468
+ -0.0352800665 0.1399260460 -214.0203603199 214.0204089694
+ -0.0104439963 -0.0047373766 -3.3223763513 3.3223961442
+ 0.0462960974 0.1515058127 -394.2200530479 394.2200848796
+ -0.0204949253 0.0652074360 0.2940135317 0.3018542835
+ -0.1630430830 0.0783674400 1.9108559784 1.9193996647
+ -0.0689356546 -0.2700285542 -11.6067474513 11.6109316477
+ -0.3813605611 -0.0885736198 -8.3909488451 8.4012370202
+ 0.3272555194 0.1351589305 -13.2495713737 13.2550362310
+ -0.1003558670 0.0639695726 -10.9390624035 10.9406000502
+#SUBSTART
+ -1.5803470634 0.3618074662 0.1918687127 1.6385038515
+ -0.1140294032 0.2406242249 -2.3844980883 2.4033754681
+ -0.8202934467 0.4488533034 -15.5334840696 15.5622285599
+ -3.3702169981 0.4473847253 -45.2888532340 45.4164972531
+ -0.5268680744 0.0379547576 -58.5431956313 58.5531175690
+ 0.5230289499 -0.3293628654 -126.9330737249 126.9346553319
+ 0.7931804407 1.2145665911 -1293.5845641206 1293.5857187021
+ 0.0764071264 -0.0850050989 0.1207770236 0.2170962693
+ 1.3800809824 1.2437800053 0.8168574950 2.0342930397
+ -0.1931482227 0.5658064952 3.1049555102 3.1650705729
+ -0.3734963899 0.2148972364 4.7822300853 4.8036324536
+ -0.3618375739 -0.0529464949 2.4973392902 2.5278277387
+ -1.3145913968 -1.0119969851 163.8650269038 163.8761182187
+ 0.2923010560 -0.1562397288 43.3272805810 43.3287730393
+ -0.2882922986 0.1408430403 20.0125984652 20.0156570296
+ 0.0688188472 0.2994677675 33.9164310685 33.9181101063
+ -0.1909480340 -0.0069830773 490.0353000439 490.0353571722
+ 0.1082536807 -1.9104702363 4.4044462488 4.8929656380
+ 1.1306460205 -1.9674778358 5.9561296717 6.4424499003
+ -0.5558807077 -0.3790110903 3.6657881955 3.7296294249
+ 0.1777938678 0.0279246812 27.9407017798 27.9570305466
+ -0.0077855433 -0.2919464833 1.2703894593 1.3109776989
+ 0.1827081541 0.2318751974 26.1855037202 26.2040177309
+ -0.4038052645 1.9178087844 151.6801701456 151.6936343607
+ -0.2268925679 1.1548032700 156.3559456980 156.3611538935
+ -1.5148269752 0.2414455079 -0.0563646640 1.5413154961
+ -1.6883796132 0.2842269608 0.2076392388 1.7303191966
+ -0.8788879223 0.0371725558 -0.0089262986 0.8907217538
+ -1.1308672008 -0.8290802136 -0.1475120742 1.4168536351
+ -1.1472380985 0.4953874005 -0.3529106725 1.3891547193
+ 0.0621632099 0.1302829778 -0.1501455688 0.2507217495
+ -0.3108117329 -0.4482916664 -0.3616302084 0.6691976868
+ 0.1414528564 -0.0300727140 -0.3896141412 0.4383973570
+ -0.5805536150 -0.8834323254 -3.1134401274 3.2909701282
+ 0.1088244439 0.0811110442 -0.0822330305 0.1586947775
+ 0.1950315976 -0.0328796967 -0.1811876222 0.2682300374
+ -0.3698756381 -0.0374892757 -2.5846446440 2.6112451760
+ -0.5598377140 -0.2004018330 -4.8291580018 4.8656290618
+ 0.1488001953 0.1438482251 -0.6089589737 0.6431678176
+ -0.0213462742 -0.0062600377 -0.1020841478 0.1044797814
+ -0.5459121733 -0.2534454864 -5.4898372591 5.5244952378
+ -0.6582048455 0.0926265311 -10.8914294837 10.9125858199
+ -0.1835957492 -0.0861526121 -3.2389323569 3.2452754096
+ -0.5342071584 -0.0141654536 -8.7404632558 8.7567845625
+ -1.3109495820 -0.2003460134 -10.6076263662 10.6911152010
+ 0.9835157168 0.2766903626 -20.0359633149 20.0839856219
+ 0.8679114871 0.1923576549 -12.3795300329 12.4114074807
+ 0.0456877691 0.2669789884 -3.8655682652 3.8750462146
+ 0.1780505994 0.1133153626 -29.9152959566 29.9160404225
+ 0.0254843574 0.0352839290 -28.1942998769 28.1946789260
+ 2.1906846691 0.7550669096 -358.7597316533 358.7684415217
+ 0.3602212637 0.0855902140 -39.1537209452 39.1557202549
+ 0.0819831719 0.1790956331 -49.5837411975 49.5843288491
+ -0.4435766372 0.4510387584 -966.0270930754 966.0274263150
+ 0.1273559900 -0.1321484041 -247.3111374444 247.3112449254
+ 1.2728598206 0.7059121281 -843.0366096258 843.0380105869
+ 0.0367402892 0.0525868059 -31.4993474765 31.4997220059
+ 3.7247370659 -1.5439560346 4.1385146493 5.7796409693
+ 1.1465204552 -0.2437184064 1.1354012785 1.6378411595
+ 1.6279807422 -0.6886580687 1.7560775048 2.4955679154
+ 0.6207420427 -0.1835569698 0.6323406717 0.9156136493
+ 0.1196631811 0.0623502055 0.1927918921 0.2353200771
+ 0.0475539188 0.0565773175 -0.0046740476 0.0740554843
+ 0.1470755330 -0.0897908164 0.0381231796 0.2250039218
+ 0.2898956592 -0.0297713498 -0.0130106451 0.3233804080
+ 0.5834333898 0.4565747840 -0.5506222321 0.9230600719
+ 1.7214797608 0.6406417494 -0.6253978245 1.9403702886
+ 0.2796145958 0.0754680404 -0.1852922665 0.3438211328
+ 0.2053514251 0.0011021420 -0.2701134872 0.3393106519
+ 0.5047445865 0.1853662972 0.1661542071 0.5798402945
+ 0.8940447273 0.8470292979 -0.8903194962 1.7859994413
+ 0.4176241027 0.5194496050 -0.3111041938 0.7486677418
+ 0.4708375566 0.6912782064 0.0402286912 0.8489120660
+ 1.8334876479 1.9078471306 1.5570843054 3.2107414950
+ -0.1588920957 0.1083428262 0.0899225222 0.2122991429
+ 0.3526360094 0.3009623803 0.8219090688 0.9436445448
+ 0.0686216803 -0.1296191526 1.4675262279 1.7479971059
+ 1.1273043911 0.5350080987 2.8296431959 3.2321388054
+ 0.2324695956 0.1496347133 1.1307326092 1.1723773619
+ -0.0721462279 0.0135969859 0.1812689339 0.1955719372
+ -0.3116846693 -0.2098423944 0.6736250075 0.7713311963
+ -0.2535306570 0.1615541571 3.1945432575 3.2116917580
+ 0.2020368021 0.0674800690 4.5398512779 4.5469882164
+ 0.2028248250 0.0641991975 3.3580347492 3.3676604057
+ 0.3345864677 -0.3008974490 6.8496318293 6.8658155641
+ 0.0715307416 -0.2039722186 4.3208822814 4.3262853584
+ -0.2351821502 0.1261458505 18.3005980821 18.3025439101
+ -0.0277558531 -0.2169735210 9.3126303867 9.3162445438
+ -1.1113614470 -0.6351967627 47.5068648765 47.5243126134
+ -0.6790399571 -0.2308289238 60.8034762730 60.8078661353
+ -0.6982179963 -0.5478939077 53.1897682535 53.1973554113
+ -2.0829349428 -1.6081975609 149.6781507905 149.7042301781
+ -0.1660280035 -0.1121326058 11.0473559984 11.0500539980
+ -0.9662390401 0.0862772566 66.8589067164 66.8660896774
+ -0.4709234800 -0.3829712309 40.8503546969 40.8548640280
+ -0.6645298236 -0.7478945989 71.6970837458 71.7040637890
+ -0.6613911057 -0.8444053240 35.4710778927 35.4875655012
+ 0.0213500253 -0.0132059871 2.7795168781 2.9337169070
+ 0.0393265476 -0.2134194273 0.4357912007 0.5064466258
+ -0.3658768858 0.0171166490 68.0983196892 68.0993047201
+ -0.0415493233 0.0207912185 3.4566076431 3.4569198746
+ -0.1081825334 -0.0137533100 2.3237459315 2.3304865486
+ -0.0140747355 0.4276304639 4.0735285562 4.1260606198
+ -0.0628733981 -0.2859713267 2.0155579544 2.0414911992
+ -0.2780411473 -0.1126471810 2.5345952952 2.5561004211
+ -0.1900210328 -0.1872005663 33.1371851431 33.1382587239
+ 0.3446761241 -0.0475474809 47.6703838809 47.6716536503
+ -0.0685155579 0.1864363190 30.6011303327 30.6020932341
+ -0.1565715568 -0.3437690920 204.9317805762 204.9321762480
+ 0.0759360835 -0.0166011758 5.1853514835 5.1859340427
+ 0.0013951444 -0.0347134399 0.3249857113 0.3268373936
+ -1.8232742728 -0.0873012518 1604.5052129822 1604.5065263904
+ -0.0457552055 -0.1961524512 586.3902763303 586.3903275326
+ -0.8605925319 0.0769501770 1159.0801488138 1159.0804792571
+ 0.0390871276 0.0020051727 1.2343429054 1.2428250148
+ 0.4656548916 -0.0201753841 5.2654840482 5.2879148605
+ 0.3419009253 0.2644209887 22.2949554068 22.2995814104
+ 0.1070575679 -0.0445477287 3.3353565836 3.3402887821
+ -0.0113343470 0.0672016543 87.8677381082 87.8691509333
+ 0.6078508991 0.0840622148 136.0411617013 136.0426172418
+ 0.1971958851 0.0921182441 140.7800134466 140.7802508798
+ -0.2930655621 -0.2597222456 0.3298558185 0.5306860790
+ -0.2522819114 0.4457011858 0.5485413940 0.7633303058
+ 0.5051292238 0.0804680601 0.7299801743 0.9022092225
+ -0.6785122966 -0.3075139232 1.4328251680 1.6209292078
+ 0.8611255773 -0.0634822416 1.0167969891 1.3412394107
+ 0.1090979855 -0.0998911214 0.0764202714 0.2172566440
+ -0.1463331353 -0.1152770137 -0.3546468117 0.6388677221
+ 0.0111082171 -0.2090339707 -1.0067586782 1.0282906347
+ 0.1614640841 -0.2298652823 -1.4534657709 1.4803619307
+ -3.3978366941 0.0389041279 -37.4972747308 37.6509285406
+ -0.6944393590 -0.0329431139 -8.1904290080 8.2198819096
+ -0.0364103128 -0.1217542860 -0.8451499938 0.8546509984
+ -0.0076143624 -0.0160738304 -0.0053634857 0.0185772312
+ 0.1751499942 0.2107686374 -2.3041298992 2.3203696971
+ -0.0053448322 0.0910370147 -0.4952925786 0.5036179541
+ 2.7091969150 0.5749015882 -404.8701265106 404.8806890829
+ 1.5115330580 -0.4890597663 -414.8992534046 414.9025934635
+ 0.2239526698 0.9361908492 -660.2624301858 660.2631466338
+ 0.0685559513 0.1109700820 -242.8515350645 242.8516102011
+ -0.0479774473 -0.0262667073 -101.3567527020 101.3567674606
+ 0.0511257396 -0.1007701751 -79.6020434002 79.6021236021
+ -0.0984885269 -0.0580106351 -308.3700191817 308.3700403660
+ 0.0173398229 0.0364007344 -186.1792048701 186.1792092360
+ 0.0594054688 -0.0369523711 -40.5862099611 40.5862702585
+ -0.0561738620 -0.0904294222 -119.1438441236 119.1438916836
+ 1.8764176029 -0.7471859357 2.2612029601 3.0724492020
+ 0.1675630094 -0.1468804139 0.2206628012 0.3432536596
+ 0.6338999644 0.1993974115 0.7350047922 1.0006499498
+ 0.4317983412 -0.2150700461 0.4662827776 0.6709132290
+ 0.1601258583 -0.0047618980 0.2098395821 0.2639992734
+ 0.8886656959 -0.4874791200 0.1761013168 1.0287731943
+ 0.2797215487 -0.2458093245 0.0571217408 0.3767350025
+ 0.0174095619 -0.2303195109 -0.2543658490 0.3435871870
+ 0.1019808271 -0.1123515586 -0.2467494779 0.2896692367
+ 0.0124052292 0.1138007858 -0.1254582565 0.1698360464
+ 0.0373245677 0.4525771660 -0.1692064691 0.4846132930
+ 0.7810744212 0.6336127996 0.6779277394 1.2129008414
+ 0.3301502430 0.1675847278 0.2210561364 0.4312187836
+ -0.0269344235 0.1017704879 0.0379450612 0.1119040796
+ -0.1119440036 0.1750065312 0.3088853728 0.3722484647
+ -0.0345625916 -0.0069342740 2.0355705081 2.0358757207
+ 0.0357047634 -0.0705524055 0.7811935300 0.7851852032
+ -1.6630429762 -0.9599357860 150.0735616799 150.0858457814
+ -0.2928545484 -0.2089161333 24.6672315931 24.6698545639
+ -0.0682501855 -0.2239782582 18.1270317174 18.1285438806
+ -0.0404989171 0.0086625415 2.5719862081 2.5723196257
+ -0.0794289698 0.0128505454 4.5053710232 4.5060894525
+ 0.0088421723 0.0019602912 11.7156846631 11.7156881638
+ 0.1748613941 -0.3680121771 5.0315564142 5.1344834221
+ 0.0726515345 -0.0783243294 1.5983549450 1.6079898200
+ 0.1070308925 0.0837328318 1.7317537716 1.7370774089
+ -0.0153125309 -0.0284660441 0.7184956394 0.7192223391
+ -0.2487377862 0.2756162390 7.4443381642 7.4535901082
+ -0.0012548461 0.0641138902 2.1625315671 2.1634821340
+ 0.1405565508 -0.2102028894 40.2241636536 40.2249584590
+ 0.0351296826 -0.0351741318 2.5610885599 2.5615709879
+ -0.0223578891 -0.0889632620 215.1455349551 215.1455545101
+ -0.1228515957 -0.1432169452 182.0551216093 182.0552193917
+ 0.1870949873 -0.2098432634 4.9904031699 4.9983159692
+ 0.2970127269 -0.3017105308 5.1053401382 5.1228647973
+ 0.0633159916 0.0227993697 0.8165224795 0.8192909651
+ -0.0061391732 -0.0694728644 2.2595427863 2.2606188912
+ -0.0008816022 -0.0236496602 1.0412774273 1.0415463332
+ 0.0573200170 -0.0631054194 0.3569763113 0.3670149386
+ 0.0701828930 0.0372517282 3.5311292777 3.5320231179
+ -0.0468441667 0.0567776016 1.4373915853 1.4392750402
+ 0.0657746035 -0.0569882175 9.6570422111 9.6574343499
+ 0.0784636826 -0.1131835226 4.8675177278 4.8694656677
+ -0.1131004849 0.1818258451 57.3384280748 57.3388279131
+ -0.0663488598 0.0853358518 12.3120463597 12.3125208606
+ -0.0803858667 0.0765038553 16.7037338632 16.7041024812
+ -0.0351295683 0.0961702568 47.3135885372 47.3136993171
+ -0.4305021916 0.4214763407 88.7200563060 88.7221018990
+ -0.0428792458 0.1291798035 20.3993798138 20.3998338925
+ 0.0033495071 -0.1370995103 -0.1170956564 0.1803299411
+ -0.0329990424 -0.0206688606 0.0275749376 0.0477128472
+ -0.2480591818 0.3016464272 0.2469475350 0.4620681873
+ -0.0066589135 0.1010323879 0.0313222735 0.1059857035
+ -0.0517746070 -0.0246653789 0.1075891770 0.1219197353
+ 0.0846492210 -0.0158047795 0.2170410657 0.2334996914
+ -0.0860224763 -0.0263544891 0.0195252614 0.0920633551
+ -0.4990683828 0.1310934071 -0.0458145465 0.5180286717
+ -1.8810564225 0.3627144778 0.1412675165 1.9209090474
+ -0.1286295578 0.0294094828 -0.0254659617 0.1343837640
+ -0.1742775409 0.0830251695 0.0562867841 0.2010821775
+ -0.1369732812 0.0019423650 -0.0577388919 0.1486581050
+ 0.3176360078 0.0098038859 -43.8847985420 43.8859491389
+ 0.1243511886 0.0023711217 -33.4459578617 33.4461891121
+ 0.3050997170 -0.0320147438 -15.7358814408 15.7394903121
+ 0.5292133958 -0.5838864625 -51.9590873401 51.9652501892
+ 0.0255063739 -0.1783235852 -0.0678304094 0.1924859490
+ 0.0521927220 -0.0015159572 -0.0527890472 0.0742499957
+ 0.0335626829 -0.0206258363 0.0214811464 0.0448700173
+ 0.0505213180 -0.1175169088 -0.1705477701 0.2131881078
+ 0.2259300153 -0.1584064978 -0.0919790401 0.2908558649
+ 0.2182112017 -0.0119352129 -0.0729811800 0.2304014550
+ 0.5331017953 0.2406414927 56.1952952448 56.1985123761
+ 0.1960607193 0.2981766700 68.5121866224 68.5132581673
+#SUBSTART
+ -1.4073086856 0.2244084049 0.7586594861 1.6204693362
+ -0.2715875076 0.3381806225 -0.3047122252 0.5481379688
+ -0.1434263522 0.0154243305 1.3289698392 1.6331933305
+ -0.3718276920 0.3084898354 1.5948857780 1.6722925106
+ -0.4297409867 0.4160429242 -3.0332116872 3.0947733285
+ -0.7926277650 0.5495319793 -3.3130761171 3.4534326855
+ 0.1381853144 0.1769882476 -2942.7730168376 2942.7731749828
+ -0.3042028248 -0.2524771513 -1425.4500871803 1425.4501488323
+ 0.2972749356 -0.3670605216 303.0838453360 303.0842455313
+ 0.2916080890 -0.1483834141 13.8516644720 13.8562311378
+ 0.2913379747 -0.9958179705 91.2644077427 91.2704121370
+ 0.0027885907 -0.7072888780 61.3065447519 61.3107835094
+ -0.4357703372 -0.5091103315 76.0465078154 76.0552643268
+ -0.3381816563 -1.9711726561 85.0551753848 85.0838735601
+ 0.7188800577 0.4113850229 458.3573101876 458.3580797895
+ -0.2903275900 0.6683921995 87.8156226089 87.8236583332
+ -0.6726632517 0.4928389766 83.7726981329 83.7821168887
+ -1.1045433173 0.7363925935 71.4515008046 71.4700080384
+ 1.0446936986 0.0386739562 22.9455328316 22.9884907752
+ 0.6637980758 -0.1165318498 7.7250445760 7.8109456439
+ 1.7261513373 -1.4701137154 5.6354807938 6.1465296831
+ 0.5341312442 -0.1593820988 1.4450189706 1.6255520984
+ -0.0853882078 -0.0914491157 0.0910301826 0.2083755404
+ 0.3648937796 0.2126945546 0.5445763932 0.7031569362
+ -0.3841295328 -0.4214105181 0.1382026204 0.6030937505
+ -0.0489399565 0.0659862265 0.8078117633 0.8238864796
+ 0.6081472190 -0.2305814981 0.0620175590 0.6680844481
+ 0.1057754186 -0.7796115934 0.1521013926 0.8133863131
+ -0.1931394774 -0.3083753011 -1.4599364649 1.5110567331
+ 0.1844528891 0.0799340123 -1.1006420764 1.4610328811
+ 1.0268184407 -0.8795911895 -0.9127564809 1.6372663037
+ 2.3811360695 -0.5868449572 -39.9372646672 40.0127327843
+ 0.1987071910 -0.4907348503 -4.1566771964 4.1925827769
+ 0.0427580057 -0.0403196998 -3.1556886126 3.1593202322
+ 0.1457056341 -0.0765693890 -2.9754707922 2.9832866479
+ 0.4250984119 -0.2671449863 -18.8160681230 18.8232827768
+ -0.2162042345 1.1108102277 -49.5473648164 49.5691920014
+ 1.8004625091 1.8539426095 -160.9400132348 160.9635033797
+ 0.6800951861 0.4608828499 -0.2292879631 1.2680165718
+ -0.4842635636 -0.3044188764 0.4782790854 1.1994685156
+ -0.1958316225 -0.1564639735 -0.4696270612 0.5503275033
+ 0.0242214596 0.7685691002 -0.7161183325 1.1609270291
+ -0.2448525069 0.4165125712 0.0620585056 0.5067213387
+ -0.1793392402 0.0351416866 -0.1245341425 0.2211475839
+ -0.1554687474 0.1475976208 -0.0537988679 0.2210201513
+ 0.3464038392 0.4726687358 0.0136933364 0.5861730641
+ 0.0070062933 0.0869944202 0.0234794673 0.0903792160
+ -0.1321265254 0.0351219547 1.1200982878 1.2332828442
+ 0.2585853238 -0.1699715449 20.2289993137 20.2374861423
+ -0.0668030997 -1.2628280592 186.3919879327 186.3963300139
+ 0.2309028894 -0.3838699762 34.3686783686 34.3718810206
+ -0.9944544957 0.5651682112 1.4104584660 1.8818578308
+ -1.4188406749 1.2466226515 1.7329240818 2.5670377002
+ -0.2344180284 0.8406508243 0.3038032475 1.0495796600
+ -0.5746128673 0.7198529691 -0.1547752653 0.9443534360
+ -0.5910482736 0.7124621376 0.5236310894 1.0726647481
+ -1.7545777209 1.7248032086 -1.2252209573 2.9047284324
+ -0.1376547378 0.1834074230 -0.1809580517 0.3237479128
+ -0.1623937702 0.0829088275 -0.0199579355 0.2304858225
+ 0.1079086074 1.0628009158 1.4161623620 2.0073608730
+ -0.0128872716 0.7555337672 0.9621790792 1.2313674190
+ 0.0367239000 1.1118253301 2.2619882288 2.6901462305
+ -0.1635483305 0.0723964146 0.3728829454 0.4364753981
+ 0.1940775460 0.8543822134 6.4707481537 6.5487321031
+ -0.0916205274 0.4564440170 0.1625984886 0.6977210691
+ 0.0172684216 -0.0474114177 0.0352085332 0.1525302154
+ -0.2916069220 0.1686583846 0.0192551822 0.3651448953
+ -0.2845411547 1.0902542292 -0.2780216810 1.1689284807
+ 0.0821992512 0.0482666276 -0.2209382615 0.2781724007
+ -0.2165311248 0.4202557578 -0.5661632982 0.7506805547
+ -0.2452901795 -0.2663369417 -0.8225781474 0.9095148334
+ -0.8708068062 0.2375344960 -5.0154039237 5.0959791648
+ -0.4656214132 0.0821960416 -2.1757027081 2.2264864167
+ 0.1583343417 0.0393639269 -0.5155504598 0.5584723306
+ 0.0806922830 0.8891298948 -7.3607920105 7.4160502979
+ -0.0644168292 0.1948967993 -3.9743606772 3.9821045776
+ 0.0872750546 0.0066353098 -1.7108242833 1.7187380474
+ -0.9958460119 0.4712635647 -15.0672844893 15.1081547614
+ 0.1367956641 -0.1249876171 -7.0635079538 7.0673162768
+ 0.1103147978 0.0339030942 -56.0455350216 56.0458276272
+ -0.1206291930 0.1451066612 -79.9158775442 79.9161003241
+ -0.3681603456 0.1513067369 -152.7221988009 152.7227175058
+ -0.0082546796 0.0840658125 -42.7213485566 42.7216600506
+ 0.2357582353 0.1517696000 -29.3151445204 29.3168175967
+ -0.0625245159 -0.0804413073 -36.9894249640 36.9898285894
+ -0.0738297296 -0.6002312138 2175.2652568998 2175.2655433198
+ 0.2845736213 -0.7229341665 407.5696090201 407.5703734234
+ 0.1347292020 0.1849934725 17.4769443067 17.4784426321
+ 0.7455304045 -0.2238021965 33.2974425675 33.3065396663
+ -0.3754948826 -0.9994709816 94.5263223575 94.5324549394
+ -0.1705928907 -0.4981694386 579.0085384013 579.0087778405
+ -0.2451430439 -0.3741365517 556.1585565822 556.1587364529
+ -0.8698398317 0.4428968185 353.7856611054 353.7870351815
+ -0.6803084172 -0.0215772354 214.4523318370 214.4554702199
+ 0.1147605945 0.3420667800 50.7604686098 50.7619427618
+ 0.0138363617 -0.0660850048 21.5928934391 21.5934500608
+ -1.1783357251 -0.0128872450 196.8041564599 196.8099271704
+ 0.0222661559 0.1588997441 17.9943270973 17.9955836910
+ -0.0291045947 -0.1954292887 15.8783190618 15.8801617025
+ -0.5032543791 -0.0439154148 6.7266544244 6.7470403189
+ 0.2125775021 0.0727782255 2.2173749224 2.2330958770
+ 0.2818969094 -0.3229013163 2.4917199986 2.5321689248
+ -0.0386025101 -0.2709770833 2.3472255885 2.3672487156
+ -0.1366767264 -0.3338381200 0.9760057606 1.0498549650
+ 0.1291841829 0.0887845717 0.1219844878 0.2427576023
+ -0.2367607858 0.0918027332 2.7526400727 2.7678494479
+ -0.4918229504 -0.9008479499 1.9534241940 2.2110546601
+ -0.0113849321 0.0044217848 -0.0101067997 0.0158529575
+ -0.0264249798 -0.1752600880 -0.1130546692 0.2102284384
+ -0.0093464343 -0.3541072918 -0.2037413839 0.4086442726
+ 0.2021554594 0.4588086728 0.2441414100 0.5748539301
+ 0.5371777257 0.0549079082 -0.2623176503 0.6163319901
+ -0.1039642276 -0.2506450354 -0.4232596724 0.5217854248
+ 0.5575016715 -0.3209493639 -0.1397161083 0.6729167733
+ 0.3322198700 0.0510629757 0.1473152330 0.3926309110
+ 0.4890294551 0.1899892112 -5.1765307604 5.2872023043
+ 0.2012864293 -0.1708344597 -1.5422866905 1.5709324173
+ 0.2159370145 -0.8374536557 -7.1766919044 7.2454471961
+ 0.1888827412 -0.2703934413 -0.9140742572 0.9817335868
+ 0.0961639038 -0.0748510316 -3.3126609902 3.3178385726
+ 0.9515906017 -1.0317363880 -14.1683500281 14.2462552317
+ -0.0757139284 -0.0103448175 -2.2637682670 2.2693536890
+ 1.0970490058 -0.2420135636 -18.5927362186 18.6331845947
+ 2.0023280462 -0.8149866993 -30.6361010514 30.7125982024
+ 0.0302028820 -0.1423387585 -3.0298500758 3.0365513009
+ 0.0369666684 0.2099644160 -1.6691905049 1.6885284473
+ 1.2792192769 -0.8677931730 -18.9208843752 19.0070955983
+ 0.5684792439 -0.3696018053 -4.1241786538 4.1818779870
+ 0.0478064433 -0.0899281926 -1.9600103648 1.9676109755
+ -0.0419350811 0.1372476457 -8.6818311922 8.7335639294
+ 0.2896088597 0.0503279976 -4.9854055763 4.9960138855
+ 0.3570761778 -0.3224608693 -11.5561691035 11.6042802681
+ 0.2938150888 -0.0318399166 -2.2681527894 2.2915797930
+ 0.0593179775 0.0181641691 -0.6054101853 0.6085803578
+ -0.3069871669 -0.0962606155 -6.3436924553 6.3518454951
+ -0.0725311020 -0.0768744831 -3.5201754769 3.5217617516
+ -0.2007497857 -0.1544957315 -11.7502809642 11.7538398802
+ 0.1580083280 -0.0153900567 -13.7337567341 13.7353834057
+ 0.0545720054 -0.2055421314 -27.4614015646 27.4625796558
+ -0.1246944612 -0.0401178502 -7.1365628077 7.1391292636
+ -0.0054318744 -0.5412320319 -184.7080896363 184.7088826740
+ 0.2230783438 -0.3063610017 -47.9887677568 47.9902641358
+ -0.4096785203 0.1505520196 -23.8371977856 23.8416018853
+ -0.0428569866 -0.3859390289 -45.2260497130 45.2279320563
+ -0.2607104349 -0.0047999644 -100.3311375294 100.3314763717
+ -0.4007609011 -0.1708944406 -188.8566308923 188.8571334268
+ 0.1393463890 -0.0004270359 -21.6251756810 21.6260750164
+ -0.4375133564 -0.1116217969 -85.7436341143 85.7449365751
+ -1.2048266587 0.5522436288 -81.4775692856 81.4937646006
+ -0.3407117917 0.0184556330 -30.6305847314 30.6328031024
+ 0.6907488015 0.4389634667 -75.6915938626 75.7018493570
+ -0.0183040454 0.2350699444 -22.3486726492 22.3503521646
+ -0.1916377593 0.2010476413 -4.8350038352 4.8449857643
+ 0.1872613545 -0.0062152054 -12.1676632472 12.1699060853
+ -0.1103173946 0.4985362686 -8.5212831950 8.5377078548
+ -0.1977428801 0.3283557174 -3.4231630834 3.4473823409
+ -0.0974457282 -0.1339545461 -0.8594369539 0.8752550303
+ -0.2071332904 -0.4823650456 -4.0723038016 4.1060003031
+ 0.0413038850 -0.0097964921 -0.0148397271 0.0449688745
+ 0.2526841941 0.1470257734 0.1799119300 0.3432698393
+ 0.0282405849 0.0338927352 0.1202185244 0.1280575720
+ 0.2917414074 0.5092544889 0.6267527035 0.8586455233
+ 0.6114514097 0.2965263516 0.6586222575 0.9463529900
+ 0.1374858610 0.1008525767 0.2605961883 0.3114225065
+ -0.0402358604 0.3051960096 -0.7562287177 0.8283267394
+ -0.1453442669 0.1126728744 -1.8397345055 1.8541636843
+ -0.2485005504 0.0453959529 -2.8219594484 2.8366790847
+ -0.5143013846 0.5924367407 -4.7153675745 4.7822231601
+ -0.5997874934 0.5695644031 -4.7944216342 4.8652469057
+ -0.2366520778 0.2996291383 -1.8184218833 1.8580742644
+ -0.1371379721 -0.0169230861 -0.2396901206 0.2766668902
+ -0.2781789409 0.1623838678 -0.5516909626 0.6388387605
+ 0.0051386329 -0.1312612754 -4.5614209608 4.5633120767
+ 0.1853041625 -0.2234548303 -7.7998176952 7.8052178555
+ -0.0123870716 -0.0124588271 -45.2740680155 45.2740714243
+ -0.0017482752 -0.1230569877 -32.4867943433 32.4870274537
+ -0.1571135238 -0.3819053014 -220.9311079106 220.9314938593
+ -0.0733985245 -0.1929764685 -174.5326954670 174.5328175853
+ 0.0747244754 -0.0526433294 204.4512786074 204.4512990403
+ 0.0812010923 -0.0924754200 84.5163846931 84.5164742930
+ -0.1401062547 -0.0649775140 41.0245392914 41.0248299924
+ -0.1356553464 -0.1057567253 99.3410080288 99.3411569443
+ -0.5439045608 -0.6396478851 42.9540066406 42.9622120947
+ -0.0115365419 -0.0596764266 2.2732933920 2.2741058054
+ 0.0791973129 0.0000737039 12.3432660570 12.3435201289
+ -0.0462761664 0.0384524090 5.5245407965 5.5248684223
+ -0.0343470783 -0.0094523572 12.3745339166 12.3745851939
+ 0.0341766775 0.0987033892 10.4370098847 10.4375325502
+ -0.0982495399 0.1251032143 22.6988206764 22.6993780507
+ -0.1959404139 0.0261293230 31.4398552495 31.4404766742
+ -0.4378803685 0.6158985993 8.9699889321 9.0017649238
+ -0.0676874145 0.2211763060 2.6239414251 2.6341163882
+ -0.2986867849 -0.0365416970 1.7046658655 1.7310213182
+ -0.0334433032 -0.0489590654 0.6008831815 0.6038013270
+ 0.2484395709 0.4785677243 2.9369071515 2.9859961326
+ 0.0041604757 0.1309690227 0.5545587461 0.5698294458
+ 0.5181978935 -0.2442365421 1.8529539219 1.9394893096
+ 0.1935569199 -0.0403293485 0.8940320263 0.9156331152
+ -0.0774124077 -0.5757338872 1.5257093538 1.6385148785
+ -0.1682496198 -0.2668262081 0.4891607655 0.5820501820
+ -0.2851212791 -0.3546207208 1.0330294040 1.1288045663
+ 0.4830674862 -0.3914343011 -0.2097636874 0.6561827587
+ 0.3480080564 -0.1506498071 -0.1518427065 0.4084864492
+ -0.0257524367 -0.2866292840 -0.7010043455 0.7577774257
+ 0.0495962635 -0.1847932063 -0.7505239040 0.7745285333
+ 0.1420674626 -0.1005393247 -1.1054018139 1.1190194324
+ 0.4147068139 -0.0666002430 -3.2984628951 3.3250977135
+ 0.0361005887 0.0017994858 -0.6651374491 0.6661188459
+ 0.3213805872 -0.3933630390 -6.1353583079 6.1563496919
+ 0.3223663596 -0.1767910366 -2.5835154034 2.6095453589
+ 0.8323700359 -0.4415664779 -8.3353887684 8.3884758301
+ 0.1202947581 -0.3007357189 -1.7889286728 1.8180150158
+ 0.0603739512 -0.2029036102 -0.6977619128 0.7291684140
+ 0.8009141295 -0.9531460441 -23.8792193209 23.9300525865
+ 0.0116040592 -0.1048654411 -2.0743317173 2.0816972098
+ 0.2635800490 -0.1770750191 -9.6457522837 9.6509775216
+ 0.0014224282 0.0088967123 -1.4624198548 1.4624476081
+ -0.0194250588 0.0157769812 -0.2612484606 0.2624442878
+ -0.0538118691 0.2063053973 -10.7499991119 10.7521132127
+ -0.3822178732 0.0022766991 -14.1446987021 14.1498620863
+ -0.2284378798 0.0456840426 -5.7362882227 5.7410167627
+ -0.0823806128 0.2977867805 -15.5645852254 15.5676516139
+ 0.0006003603 -0.0149160848 -0.7141627576 0.7143187624
+ 0.1363821414 0.0947799476 -16.5758441623 16.5766761752
+ 0.1240645894 0.2900367962 -38.7299790691 38.7312637550
+ 0.1584652475 0.1957714477 -15.7722773880 15.7742883103
+ -0.0151755746 0.1144476973 -6.8955830995 6.8965494891
+ 0.0330709898 0.2543723703 -17.7123904899 17.7142478209
+ 0.1175142665 0.1148276290 -11.9647500727 11.9658781244
+ 0.0395684840 0.0706256030 -3.0080087228 3.0090978909
+ 0.0558038148 -0.0566654388 -1.7627066253 1.7644998398
+ 0.0754912541 0.1606681665 -1.0239819269 1.0392555873
+ 0.0792865115 0.0316028653 -1.0946932550 1.0980156714
+ -0.0430194261 0.0253016252 0.4866299357 0.4891825197
+ -0.2073596150 -0.0545639159 0.7477831170 0.7779169756
+ -0.5137360858 -0.0723349699 0.7093761775 0.8898603597
+ -1.0136196057 -0.7390948240 1.7424348281 2.1515679815
+ -0.1435789301 0.2516162283 0.4919791452 0.5709370498
+ 0.0304753978 0.0800446982 0.1577593251 0.1795101898
+ -0.0279849115 0.0759967051 -0.0239799637 0.0844611930
+ -0.0757996771 -0.0400231364 0.0260091301 0.0895763213
+#SUBSTART
+ -0.3323374991 -0.1849449482 990.8964226915 990.8965055118
+ 0.1851082386 -0.0668942268 6009.0752431881 6009.0753198664
+ 0.2238488133 0.1243611064 -1386.7806346456 1386.7809765763
+ 0.0897287955 0.0021402654 -3842.0488385844 3842.0489545184
+ -0.0949850912 0.6239550309 -1649.1696683033 1649.1700559809
+ -0.0950551274 -0.6282164615 -75.5273635809 75.5358636111
+ 0.1365263817 0.0469319655 -11.1986218920 11.2387866309
+ 0.2247187435 0.0842504512 -8.6333204404 8.6377831800
+ -0.3375532546 -0.0015831824 -26.6132329715 26.6157395856
+#SUBSTART
+ 0.1810322254 0.0178146512 0.0892185688 0.2460279788
+ -0.2939165691 -0.8473522394 -2.0299790128 2.2236652951
+ -0.0251269998 0.2986636221 -0.7130983881 0.7860155350
+ 0.0595672856 0.0212654075 0.3968959133 0.4254487396
+ -0.2081797921 0.3708634056 11.5917897841 11.6004288143
+ 0.3044595833 0.1687424704 208.6629192129 208.6653249006
+ -0.3077703576 -0.1537005470 245.7125868223 245.7146240278
+ 0.2461047686 -0.3082749946 379.3205885676 379.3208193496
+ -0.0420705500 -0.4619819525 4369.2681157364 4369.2682411061
+ 0.3226933505 -0.1987493578 0.1925572573 0.6514227222
+ -0.4168787422 -0.4293726415 -1.4707740236 1.5939902022
+ -0.0714745648 -0.2131724828 -7.8183280144 7.8776363621
+ 0.9214129261 -0.6178134153 -11.2178351706 11.2734201065
+ 0.0552191616 -0.4879636923 -73.9932083789 74.0007864453
+ -0.0175691986 -0.1899127456 -3.3873382112 3.3955729222
+ 0.0912017593 0.1609041419 -19.8548606412 19.8618564073
+ 0.0296019750 0.1095821365 -6.2349475650 6.2554853225
+ 0.5287070335 0.1488847615 -3.1217131556 3.1727386608
+ -0.9872014151 0.4878894402 -6.1149721180 6.2332304764
+ -0.1546037430 0.3031467785 -6.2097851244 6.2206680801
+ -0.0033282968 -0.6183878494 -3.8052693837 3.8577155776
+ -0.2102238460 0.0257763583 -0.4667992189 0.5312624415
+ 0.4983626645 -0.0460050053 1.4574542996 1.5472991392
+ -0.0904809114 0.0309504573 0.0629561049 0.1805214175
+ -0.0044507503 -0.0743567545 0.9657583131 0.9686267885
+ 0.2566031196 -0.5323530620 11.4152174086 11.4305045133
+ -0.0638548971 0.0866472233 2.2531207796 2.2600040313
+ -0.0384200749 -0.1222174271 1.6524364124 1.6632615801
+ 0.0615884420 -0.0455483303 722.5462595128 722.5468744625
+ -0.4162307888 -0.3649134992 645.1774576789 645.1783773946
+ 0.0024828864 0.1586327153 260.5247933301 260.5248790231
+ 0.0667940688 -0.1003494478 0.1981036725 0.2706590277
+ -0.5597917977 -0.0908385050 1.5336975337 1.6411357045
+ 0.5769956063 0.2996830848 -0.6859928022 0.9554055634
+ 0.0128466165 1.1856493653 -0.7212063398 1.3948289582
+ 0.2928539826 -0.6027490636 -2.9560111083 3.1733047988
+ -0.0069313949 0.5693822586 -11.7902506017 11.8412247696
+ 0.6398037326 0.0823799751 -57.8159620496 57.8197291829
+ 0.1916519700 -0.2431471992 -8.8006704395 8.8072203905
+ 0.1131809324 0.3279531494 -222.8898128536 222.8900828594
+ 0.3583488589 -0.1509286507 -185.5398167679 185.5402242093
+ -0.1692890662 0.1603674237 -189.0739757910 189.0741195878
+ -0.1698428646 0.1343450021 -315.3713889156 315.3714632647
+ -1.2987988061 0.3172114832 -3323.5097651885 3323.5101665492
+ -0.1056512515 -0.1121608296 -631.8749007012 631.8749349026
+ 0.1935358236 -0.3213394311 -987.5815127539 987.5815938586
+ -0.2369081669 0.2751464571 -879.4737652040 879.4738512275
+ -0.0138602112 0.8827762193 -16.0025033374 16.0268399574
+ -0.0373644452 0.0599785436 -1.1854284019 1.1875327463
+ 0.3355411691 0.0756266271 -6.0018612567 6.0117090588
+ 0.0529694955 -0.0409067167 -1.5118966824 1.5133772514
+ -0.1206493712 0.2743459086 0.9933265310 1.0375545988
+ -0.0953701498 0.0438061856 0.4613666582 0.4731528724
+ 0.0223632468 -0.0435730828 96.3789713558 96.3789838001
+ 0.0898061219 -0.0303752447 36.1163424753 36.1164669035
+ -0.0826570527 0.0635830120 0.0891363062 0.1371869850
+ -0.0191033014 -0.0580761473 0.0936827493 0.1118670306
+ 0.2062754916 -0.4073488518 -0.3469645937 0.5734693495
+ 0.0000186702 0.0053112679 0.0063493150 0.0082779054
+ 0.0621284386 0.0057110014 -0.1937957184 0.2035911071
+ 0.2437469596 0.1152997579 -0.2792828485 0.3882080936
+ 0.0340782664 0.0827969448 -0.0852655976 0.1236401409
+ -0.0051543280 0.0716801199 -0.3648869059 0.3718965727
+ -0.0792502316 0.0538145129 -1.0419407960 1.0463351391
+ -0.1297914381 -0.0118994731 -3.7253718675 3.7276511326
+ 0.0108946615 0.2613177275 -0.9328346318 0.9788083998
+ -0.2082835871 -0.0080278468 -1.8057683384 1.8231087669
+ -0.0400225206 -0.0353784130 0.0701484656 0.0881716592
+ -0.3514957024 0.0859383955 0.3205454659 0.4834087632
+ 0.0634920507 0.0549100321 0.1152971723 0.1426176359
+ -0.0443661600 0.0903968748 0.3346474959 0.3494694516
+#SUBSTART
+ 0.3368696623 -0.8585951361 5.2974639928 5.3789656363
+ 0.0071880380 -0.1662948218 4.4521455075 4.4574415353
+ -0.7837243531 -0.0547847951 1.4540340341 1.9011133561
+ -0.8434469455 0.1509376090 0.2840034109 1.3019959454
+ 0.1150352615 -0.1322159852 -1.4732989155 1.4902361080
+ 0.3590460836 0.1382200943 -65.6758316396 65.6771068198
+ -0.1341584617 -0.1345165590 -27.1816111712 27.1867563350
+ 0.3491750992 0.1292657251 -41.9743250996 41.9788785153
+ 0.2888000874 0.1297856795 -695.7325980811 695.7326841268
+ 0.3971589232 0.2626488563 -4647.0441135601 4647.0442326756
+ -0.0158668582 -0.7132075801 427.4508606964 427.4524857543
+ -0.0285185634 -0.0550855004 541.8765024023 541.8765239270
+ -0.1612581004 -0.7567178223 7.5902834396 7.6308917248
+ 0.1725965085 -0.3036194485 2.9467844461 2.9706889237
+ 0.6114937660 -0.7657569789 5.8938823283 5.9747934924
+ 0.0490472552 -0.1355833714 0.7431229822 0.7569810106
+ 0.0272769160 -0.0635907392 0.8284009662 0.8312857349
+ 0.3181204909 -0.0853870585 3.2485827534 3.2652383531
+ -0.0720122819 -0.0951456055 0.7252210456 0.7481068138
+ 0.2613875374 0.0727677553 0.0576595134 0.2773863918
+ -0.1862279387 -0.0149300886 -0.0738870217 0.2009055616
+ -0.4506888046 0.1398419187 -0.3212666698 0.5708663889
+ 0.3697503395 0.0744408423 -0.9273335582 1.0107838867
+ 0.4553620696 0.0215921172 -11.5208554229 11.5307159489
+ 0.3965691932 0.4389910569 -11.2315696607 11.2480050276
+ 0.3348850359 -0.0538237233 -1.4651726970 1.5103826658
+ 0.2594502435 0.2051003690 14.7039945730 14.7083757356
+ 0.0789085410 0.0261817010 13.2510396242 13.2520354265
+ -0.1314316568 0.3216804496 5.1512566120 5.1629640009
+ -0.0556909431 0.0101736394 0.7944451767 0.7964597434
+ 0.2609930299 -0.0508045778 15.5262955765 15.5291993541
+ 0.2511664606 0.1289706808 12.3455827446 12.3495996338
+ -0.2038200758 0.0459172805 6.5239564974 6.5287930879
+ -0.1277010414 0.1584643002 5.3328273452 5.3385340469
+ 0.1162856735 -0.2314895134 2.1236001545 2.1438906581
+ -0.1027563410 0.8539899379 -0.7388377191 1.2366809673
+ -0.1143405220 -0.1234521848 -0.1724221444 0.2409223791
+ -0.2730815768 0.0682566171 -1.0767145851 1.1216178476
+ -0.2571520168 0.4949288797 -3.5187828930 3.5967423822
+ -0.2702889850 0.1316203716 -5.6566816311 5.6663839367
+ -0.0226088593 -0.0717747448 -0.4294609426 0.4360039859
+ 0.1249473634 -0.0572161814 -0.8666077917 0.8774363793
+ -0.3020668905 0.3045573904 -20.9982208508 21.0030654499
+ -0.1236766178 -0.2308697598 -5.3127823938 5.3210650533
+ -0.2363705707 -0.0128816051 -16.2972448084 16.2995615006
+ -0.6544995275 0.1060512129 -20.5035333472 20.5147258328
+ 0.0667084674 -0.0221893465 -2.3387810368 2.3439963545
+ -0.0291284966 -0.1001494410 -22.4991847265 22.4998593667
+ -0.2739666830 0.2637022572 -40.7588655912 40.7608783111
+ 0.0569549382 -0.3876834303 -915.8598841531 915.8599786120
+ 0.0645914946 0.0566318670 1.2084173821 1.2194800465
+ -0.0505956378 0.0454348898 20.4950376798 20.4956257169
+ -0.3302139807 -0.5642301659 6.5513452770 6.6023604000
+ 0.2342852500 0.0378351526 370.9782714067 370.9786811292
+ -0.3256501397 -0.3777810766 104.9410616268 104.9423396999
+ 0.1862088064 0.5869897934 506.7497253453 506.7509681480
+ -0.0633015585 0.0677961633 108.5603530496 108.5604823932
+ 0.0250330885 0.2123452581 318.2002311822 318.2003336286
+ 0.2516022095 -0.2812881277 3.7111208227 3.7302606401
+ 0.0841557676 -0.2194918858 3.0383261666 3.0474062374
+ 0.4586002886 -0.4496622154 5.1624691853 5.2022685842
+ 0.4460362326 -0.6049332808 5.4038385080 5.4558558646
+ -0.3073715775 0.4735629943 0.9400438060 1.0965498408
+ 0.0107405403 0.0213418365 0.0178791893 0.0298412232
+ 0.0128147488 -0.0760367607 -0.0422139547 0.0879080470
+ 0.0073705163 -0.2805906689 0.1017263936 0.2985526874
+ -0.0434895846 0.0055241575 -0.3964992607 0.3989154347
+ 0.0794790577 -0.0595538914 -1.7345688863 1.7374097985
+ -0.2206242383 0.0701211784 -3.5165807175 3.5241923865
+ -0.1194413632 -0.0447177213 -1.2556238868 1.2620844896
+ 0.1445738335 0.3153621856 24.2517330665 24.2542143065
+ 0.3388193355 0.4973289156 53.6077454940 53.6111230207
+ 0.3657810027 -0.1249384141 29.3215007665 29.3240483656
+ 0.2783765255 -0.2307472765 27.2324525793 27.2348528779
+ -0.1166030866 0.1360596774 6.4150085245 6.4175106455
+ 0.0141450807 0.1465078520 6.9530601358 6.9546178821
+ 0.0925247223 -0.0654439136 4.1712817262 4.1728209846
+ 0.5610713342 -0.0441785868 19.4293479561 19.4374976473
+ -0.0323884936 0.0696982267 0.7036091310 0.7077942261
+ -0.2005381296 0.2911601389 1.4649470581 1.5070035338
+ -0.2087065515 -0.2842740918 0.1112361986 0.3697886907
+ -0.0858159407 -0.0635366405 -0.0333783763 0.1118722323
+ -0.0586366139 0.0567762287 -0.3265184396 0.3365651260
+ 0.0663339209 0.0036212500 -0.2559802497 0.2644601874
+ -0.2741617903 -0.2955972052 -2.0328142898 2.0771028180
+ 0.3064948434 -0.0170570671 -0.8567511600 0.9207238281
+ -0.1665786910 0.1003460362 -1.2168799599 1.2323208284
+ -0.0131392992 0.0829759230 -0.9857929779 0.9893661811
+ -0.0369434723 0.0120319362 -0.2648274145 0.2676623752
+ -0.2777115899 0.0303040330 -6.3841561964 6.3902654407
+ -0.1094355849 0.1410765685 -160.8258179266 160.8259170361
+ -0.0268905946 0.1333970439 -251.8301714473 251.8302082139
+ -0.1205128311 0.1415721200 1.0354311161 1.0519903059
+ 0.0036628701 0.0245551706 0.7056755871 0.7061121775
+ -0.2033320150 0.2330877167 50.2916913073 50.2926424871
+ -0.0779639114 0.0109291401 21.1889049047 21.1890511556
+ -0.6028054782 1.2491670411 3531.4120765533 3531.4124735819
+ -0.0943278989 0.1246921184 684.5156093973 684.5156414825
+ -0.0927133414 0.2683709817 -0.0546293953 0.3210652632
+ 0.0146599071 -0.1444725920 -0.0093230968 0.2016282414
+ 0.0621703933 -0.3348517048 -3.3920374846 3.4119479632
+ -0.0603322492 -0.0835410515 -0.4086711130 0.4439717909
+#SUBSTART
+ 0.1142359251 0.1395056979 -863.2310185946 863.2310487091
+ 0.1809638934 -0.0410759759 -11.9591078173 11.9613617426
+ 0.1219265731 0.6556577830 -99.3663459963 99.3698098560
+ 0.1161527327 -0.5576895742 -45.5408598841 45.5446364338
+ -0.0586364764 0.9738226971 -13.8493026260 13.8843232421
+ 0.3515100403 -0.4986848366 -1.2476044449 1.6767690689
+ -0.0280487788 0.4093488187 -2.2032091519 2.4300772707
+ -0.0524468210 -0.0301435731 -10.4457658535 10.4468733770
+ -0.2902732449 -0.1406139607 -25.1453456868 25.1478015010
+ -0.0089829773 0.0616980077 -20.6587585145 20.6593240568
+ -0.0040036542 -0.1395282607 -24.9575212318 24.9583018249
+ 0.2561798501 0.1347489182 -187.6397072581 187.6399824267
+ -0.1115570928 0.3216290743 -99.0573844678 99.0580677564
+ -0.3853323754 0.1570011374 -1802.1660828067 1802.1663750885
+ -0.2764913891 -0.0757292056 -425.1719892016 425.1720858477
+ -0.5973907910 0.0355527360 -870.8620503270 870.8622559507
+ -0.1272779881 0.1579406326 -1.0891686336 1.1078958624
+ 0.5789493810 0.5646674759 1.0778622642 1.4350817972
+ 0.2366456242 0.1993203754 -0.0197493917 0.3399993925
+ 0.3055918854 0.4552260819 -120.9372832978 120.9386066913
+ 0.8133604609 -0.4805414234 -505.0913187346 505.0922022129
+ 0.1987634300 -0.0491248523 -120.9240022047 120.9241755372
+ 0.0452047972 -0.0714083492 -18.6709677843 18.6716807067
+ 0.3023335787 0.0609986356 -130.4514681913 130.4519074582
+ 0.0245576211 -0.3495744206 -74.0434844586 74.0444452738
+ 0.3644104625 0.0939749666 -63.0437911555 63.0450688739
+ 0.0068484888 -0.0184313386 -2.0434485571 2.0435431539
+ -0.0306685832 0.2120972943 -12.2438436622 12.2457189846
+ -0.1896389425 -0.0099187482 -7.1649194670 7.1687943243
+ 0.1940908796 -0.4507259305 -66.5065046179 66.5101467641
+ 0.2298698490 -0.1984866669 -64.9984321703 65.0010158586
+ -0.1721037172 -0.0787967309 -17.1270757286 17.1353502170
+ 0.1851716737 -0.4702834291 0.1616715706 0.5306531345
+ -0.0158180745 -0.0863869914 -0.0012300026 0.0878318659
+ 0.3694440933 0.1903591955 1.0296125596 1.4545168852
+ -0.1705376000 0.0051991829 0.2251294963 0.3150764661
+ 0.1286597214 0.0420071835 0.4216799539 0.4643400648
+ -0.0460248003 0.1953606161 0.6833309355 0.7257444487
+ -0.0859561700 -0.5037912998 15.1698777102 15.2075368047
+ 0.0267715340 -0.2981155329 3.6369422342 3.6519061031
+ 0.2704828342 0.0706207318 286.5799478126 286.5801181455
+ -0.4624789094 -0.1649113411 738.6069030537 738.6070794413
+ -0.0810448123 0.0557126475 88.9529579135 88.9531217749
+ -0.0863283411 0.0089982639 135.2860154397 135.2861152776
+ 0.2070904296 0.0632835837 25.0414322531 25.0427574426
+ 0.0703308888 0.2389059629 128.8906143122 128.8909304802
+ 0.4197841408 -0.4250977924 4636.8804043455 4636.8805380257
+ -0.0976754262 -0.0105189741 861.4167794643 861.4167963731
+ -0.1296238691 -0.1329452770 -16.6359002626 16.6375218745
+ -0.5428933539 -0.0069675306 -26.8372337298 26.8430880450
+ -0.0549936734 -0.1817888845 -10.2575400376 10.2592981790
+ -0.1223048170 -0.1944567696 -22.1683011281 22.1694913521
+ -0.4138789658 -0.2115610157 -353.8366742447 353.8369795463
+ -0.1014295211 -0.0571938676 -50.0807971638 50.0809325358
+ -0.0305127005 -0.0230096877 -221.9231472619 221.9231505524
+ -0.0935593588 -0.1379443595 -213.5458402405 213.5459052898
+ -0.6795641000 0.3484790011 -2.4963485187 2.6568104688
+ -0.2379642387 -0.1416653423 -1.0116535131 1.0581203446
+ -0.2225451784 0.1543063208 -2.0574496297 2.0798835449
+ 0.0943272134 -0.0568004560 -43.5188166896 43.5189559845
+ 0.0202613632 -0.2033426741 -87.4076892442 87.4079281174
+ -0.0438349627 -0.0563075545 -16.5042054668 16.5043597311
+ 0.0923187853 -0.0490468070 -33.0166476272 33.0168131243
+ 0.1531377463 0.0451546583 -43.7041742742 43.7044658942
+ 0.0811923806 -0.0619775690 -16.2925242506 16.2928444379
+ -0.1185671027 0.2412588052 0.9484848069 0.9956742352
+ 0.0403176966 0.1993698867 0.4471343731 0.5106689739
+ 0.0536710944 0.0440173569 27.6960519465 27.6961389283
+ 0.0037594382 -0.0351291768 2.2842547733 2.2845279735
+ 0.0101439173 0.0375286158 23.6783449384 23.6783768514
+ -0.0209869705 -0.0872613979 19.0146709348 19.0148827439
+ -0.2865764223 -0.0388501286 -1.5232481337 1.6271328203
+ -0.3448869901 0.3943542737 -1.5668286245 1.6579789060
+ 0.0184596164 -0.0184123601 0.0344754152 0.0432241448
+ -0.1425826694 0.1023451124 0.2583163621 0.3123006285
+ 0.1404652305 -0.4229920234 -97.8476270016 97.8499077056
+ -0.0154639620 0.0078644367 -0.5473004726 0.5475753745
+ 0.1535005511 0.1889159221 -27.7842054333 27.7852716957
+#SUBSTART
+ 0.1712998803 -0.9617839056 5872.9775984778 5872.9777548860
+ 0.3703263090 -0.0100644096 -581.8946810796 581.8950083585
+ -0.0058688706 -0.0258741569 -298.7288254280 298.7292344021
+ -0.1384036437 0.1554803187 -3.1521030006 3.1620504122
+ 0.4032379019 0.3198375923 0.5768037736 1.2157097010
+ 0.2335375227 0.1944140466 1.8993311373 1.9285422344
+ -0.2913094173 -0.2500267312 1.2210301208 1.3718345596
+ -0.3878217185 -0.0908334331 8.3524023614 8.3630593319
+ 0.0021695394 0.2645686874 0.2337821624 0.3796513949
+ 0.4919864161 0.5230543356 -22.3577473176 22.3747210608
+ 0.1704951162 0.1604341000 325.0545426609 325.0546269663
+ 0.0463857287 0.2002025734 232.1680313707 232.1681223236
+ 0.1214647007 -0.0175407473 18.4064660947 18.4068752222
+ 0.0858228934 0.0677696180 7.1336860875 7.1345241947
+ 0.1303843861 -0.4141941836 227.9831831082 227.9836393622
+ 0.0544944948 0.0117811388 -485.3393501514 485.3393734220
+ -0.3219505401 -0.0681190106 -84.6680979210 84.6701762067
+ 0.1963069692 0.1358441291 -48.5901897810 48.5909766602
+ 0.0502917293 -0.0412903628 -4.0242354390 4.0247614862
+ 0.0558596663 -0.3604684451 -13.6394937331 13.6443705277
+ -0.2754435981 -0.0125336628 -4.5371897301 4.5477023539
+ -0.2032493357 -0.1242593042 -3.6357692499 3.6462375801
+ -0.2119613998 -0.8064236598 -1.7238856800 1.9200282229
+ 0.0434979310 -0.2512007278 3.2155009442 3.3596475980
+ -0.1998129792 0.6985751753 7.2617784072 7.2993724335
+ 0.0175258021 -0.5336439380 0.4368029027 0.7038178507
+ 0.4346156576 -0.0089172350 0.6415830364 0.7874508648
+ -0.2043552785 -0.4410627561 -2.5830162932 2.6320620036
+ -0.4774411191 0.1281491262 -5.7745383656 5.7973395054
+ -0.5340445637 -0.1708982658 -14.2473061728 14.2590189978
+ -0.1282980424 -0.0743214376 -54.6832390622 54.6856677691
+ -0.3062084368 0.2461869450 -21.7710592267 21.7750515787
+ 0.0706536496 -0.3090732309 -70.9228424795 70.9236884501
+ -0.2244415641 0.2575344038 200.8745327919 200.8748232665
+ -0.1026759507 0.0187800403 80.6185405075 80.6186080791
+ -0.4285031390 0.5972928235 -4708.3645877353 4708.3647388669
+ -0.1759376346 0.1413043999 -483.3241257098 483.3241985396
+ 0.0789670365 0.0082460997 -0.9100976166 0.9135543021
+ 0.3582915752 0.3603820491 -5.6150457275 5.6379949092
+ 0.0698018127 -0.0001417290 -16.4548482123 16.4549962627
+ 0.0680879864 0.1131360723 -11.8652401105 11.8659748282
+ -0.2603650236 0.0258529660 -0.5831379763 0.6391464783
+ -0.0414794208 0.0076059356 -0.3281936572 0.3308919298
+ 0.0129886495 -0.0711266105 0.1661718112 0.1812202267
+ -0.0304683231 -0.0614454560 0.8356548002 0.8384645537
+ 0.2316000106 0.2022796773 5.5886836808 5.5971368499
+ 0.1020875460 0.0212127976 3.2878169072 3.2894698456
+ 0.0544874929 0.0252758792 -0.5378409122 0.5411844452
+ 0.1076719204 0.0850594189 -0.3011708352 0.3309565216
+ 0.0140419451 0.0351790872 -3.9194811339 3.9196641570
+ -0.0916945482 0.0325965599 -2.1639198559 2.1661070076
+ 0.1880914741 -0.0575242310 -9.8290002274 9.8309680556
+ 0.2299009765 0.0741172495 -10.3296456154 10.3324695193
+ -0.0223078368 -0.0217840862 -1.9896847281 1.9899290196
+ 0.0177272528 -0.1620453734 -2.2582318342 2.2641077659
+ -0.0380102191 0.1448128070 -7.4033526616 7.4061816034
+ -0.0424178092 0.3010973270 -2.9240487049 2.9431275006
+ -0.0263220820 0.0219289133 -2.0927995188 2.0977281378
+ 0.4866905214 -0.2333952036 -5.4659002603 5.4942594065
+#SUBSTART
+ 0.2395897192 0.1991548139 -0.5679145490 0.6626255302
+ -0.2236300562 0.1478589102 0.8971726733 0.9467160345
+ -0.4533439393 -0.0910755421 2.9805319349 3.0194148244
+ 0.0730960295 0.6210094869 2.4161314648 2.4996333436
+ 1.0121538963 -1.6601913854 -38.8783337789 38.9300548334
+ 0.5178983230 -0.3667867409 -51.8884363082 51.8925047910
+ -0.0970354329 0.8542814517 -2008.3932909660 2008.3936947724
+ -0.2915201199 0.4231604837 -1875.0692237451 1875.0695289070
+ -0.5615516066 0.1312889257 1.1950126362 1.3342083700
+ 0.0287281723 -0.7218881156 0.9809924201 1.3145093562
+ 0.1567535887 0.1661160655 1552.8422089428 1552.8425092041
+ -0.1472018360 -1.0749564663 -11.0909134036 11.1438574969
+ -0.2411547779 -0.4230979443 -0.6813084390 0.8490161784
+ 0.1504584756 0.0016996665 -1.4673034120 1.4815868957
+ 0.2362400565 -0.2100581549 -0.3301357686 0.4570814134
+ 0.1645820855 0.3357464344 -0.3873620892 0.5383886321
+ 0.3347580312 -0.1333790868 0.9493070595 1.0153998294
+ 0.4185048624 0.2106625736 0.7727328980 0.9036820079
+ 0.2309405816 0.1302003717 0.6666556530 0.7174367210
+ 0.7360965856 -0.6170482763 -17.5889781215 17.6222136392
+ 0.5242763077 -0.2288758909 -40.7226669141 40.7296758074
+ 0.5322039656 0.1124019956 -69.2497283287 69.2520052320
+ 0.0287688161 0.0648752252 -64.0610175710 64.0612089213
+ -0.3147910832 0.2265254264 -94.8651785952 94.8706240566
+ 0.1213179185 -0.0818917354 -22.6816271241 22.6825288069
+ -0.3054907702 -0.1096050697 -95.9789992605 95.9841467573
+ -0.2282677324 0.0500291563 -44.0765686061 44.0771880814
+ -0.1728193972 0.0211778568 -62.9705183044 62.9707590122
+ 0.2268638561 0.1570022600 -38.0787062473 38.0799614781
+ -1.0885970820 -0.0245373954 -423.0510464647 423.0534911242
+ -0.0444880507 0.0774402685 -58.7433398932 58.7435735870
+ -0.0436204987 0.0127751314 -1143.4898578192 1143.4898587225
+ 0.0361039059 0.0556175311 -315.8034917098 315.8034986711
+ 0.2141165831 1.4686056250 -44.7274653136 44.7619163170
+ -0.2269130880 0.4192479228 -11.0789316884 11.0900615648
+ -0.2946748037 0.5235747052 -17.3037769727 17.3396081797
+ -0.4134418681 0.4195046411 -7.7158130486 7.7395199533
+ -0.1061431458 0.0396157216 -0.1128578053 0.2122556051
+ -0.2456818371 -0.4685782239 -0.2891844744 0.7792263709
+ -0.1931776158 0.1217742137 0.1974388814 0.3325784827
+ -0.6526582579 0.3998921099 0.7279485681 1.1659445008
+ 0.1256467557 0.1904863422 0.3199974752 0.4170735221
+ 0.1533089184 -0.2707288731 2.3463365749 2.3709856294
+ 0.0697924937 -0.4578302833 7.5443114794 7.5598012569
+ -0.0831936777 0.0372450762 7.0317715127 7.0337471362
+ 0.0332716345 -0.0059616338 1.4178588034 1.4251125969
+ 0.0674383800 0.1889772066 118.0740363045 118.0752385156
+ -0.0185400353 -0.4242288475 1917.8848926234 1917.8849447104
+ 0.0061957966 0.1999157645 3056.8246022937 3056.8246120235
+ 0.1718753762 -0.0005539583 -0.9822199936 0.9971447075
+ 0.0297429214 -0.0711120528 -0.2960041355 0.3058758142
+ -0.4022390650 -0.2735768853 2.0488954853 2.1058521523
+ 0.0010179752 0.0110657588 0.0338059458 0.0355855204
+ -0.0099501111 -0.0981509650 -8.9172302126 8.9177759156
+ -0.1554815916 -0.0586193940 -14.3397935936 14.3407562933
+ 0.2951877903 -0.0595400931 -47.5178537540 47.5188079211
+ 0.0235175866 -0.0584578161 -7.8066262869 7.8068805791
+ 0.0432559800 0.0612423078 -7.0325632348 7.0329629142
+ -0.0479313569 0.2583068178 -43.0940881683 43.0948889647
+ 0.0940468723 -0.1323425706 -120.7492079334 120.7493170826
+ -0.0420715480 -0.0279985079 -55.8780890954 55.8781119482
+ -0.0803691605 0.1558947185 -1.3300687408 1.3415831024
+ -0.0275511156 0.1079018581 -2.1006798536 2.1036296542
+ 0.0381267560 0.2365297619 -0.6843624375 0.7383980692
+ 0.0311054953 -0.1397428600 -0.1966859527 0.2804652699
+ -0.0004164969 0.0468481971 1.8409207098 1.8415167626
+ 0.1017829489 0.0108371180 1.0775190128 1.0823698235
+ -0.0302781454 0.0555626607 0.4255250686 0.4302040903
+ -0.3726013697 0.1024978319 3.7486467296 3.7685129547
+ -0.2573266498 -0.0530840905 169.5732796656 169.5734832203
+ -0.0331200668 0.0453799476 28.2487039230 28.2487597888
+ 0.0523971263 -0.0587811506 -2.1965418250 2.1979528365
+ 0.3588854986 -0.3503559929 -7.1998265252 7.2172744243
+ 0.0634513656 0.0845581190 -3.9583942860 3.9598057370
+ 0.0701737001 -0.0478905156 -2.2585952493 2.2601925470
+ 0.1181537243 -0.1520519355 -12.8741318648 12.8755718850
+ -0.0105603614 -0.0928776842 -12.0156665483 12.0160301425
+ -0.0136742480 -0.0751344533 -9.8861522597 9.8864472220
+ -0.0401852201 -0.2072977074 -75.6778229083 75.6781174933
+ 0.0226355505 0.0297080190 36.7108885385 36.7109075374
+ -0.1244410371 0.1022571320 57.8457357312 57.8459599659
+ 0.0998652350 0.0682079391 10.7435241714 10.7442048105
+ 0.0418066148 -0.0563732524 9.9691964006 9.9694434454
+#SUBSTART
+ -1.2010349565 0.9921074126 8.8355375848 8.9853841019
+ -1.3617602224 -0.0896505822 5.1104238492 5.3720769393
+ -0.4949684252 -1.0686730991 6.0510139528 6.1661418712
+ 0.1518616218 -0.1700662193 1.3080786496 1.3351157289
+ 0.5433246137 0.9473338574 12.0162384178 12.0665698760
+ 0.2941683699 -0.2681603581 99.5543913899 99.5552849919
+ 1.2044315288 -0.1610539203 49.5492622544 49.5643567840
+ -0.2697837960 0.0006700391 1.0277857343 1.4184213218
+ 0.3424865471 0.1728428856 0.3055584579 1.0598723764
+ -0.1838267422 0.1329806693 -0.3970202134 0.4781014164
+ 0.5060672431 -0.0321591279 -1.0444458156 1.1693951901
+ -0.6565712363 -0.6123601978 -20.7392956407 20.7799135000
+ 0.5295542379 -0.2250071661 -35.2493559799 35.2575069152
+ 0.1140872007 -0.4061326714 -24.4271616496 24.4312027063
+ 0.5793516503 -0.1786532287 -1911.6242361584 1911.6245625604
+ -0.5705294503 -0.0929802913 -92.6514482676 92.6580021685
+ -0.1249769719 0.1112276506 -9.9775245622 9.9799031562
+ 0.1267639857 0.6464357863 -131.5139942798 131.5189909875
+ -0.1015367278 0.3630853446 -71.7653513869 71.7664774121
+ 0.3277860344 0.1102387126 -28.2690304232 28.2755256848
+ 0.2047266662 -0.3857476378 -9.3170959762 9.3403764720
+ -0.1256474972 -0.2130438780 -3.9776460827 3.9853285118
+ -0.0605277030 -0.3312467631 -3.9738260842 3.9880674228
+ 0.0578716286 -0.3491740246 -10.2330530717 10.2391721732
+ -0.0057013642 -0.5058489878 -11.2106359682 11.2220441327
+ 0.4900468767 -0.8026577908 -9.0670360905 9.1167444147
+ -0.4673916845 -0.9511330615 -18.4795910285 18.5099539078
+ -0.1310654482 -0.1149135239 -1.0168734756 1.0411026462
+ 0.9295038293 -0.4354381912 -4.3082149001 4.4310020534
+ 0.3925215679 -0.0310181130 -4.3771434720 4.3970330979
+ 0.5584611626 -0.3282255872 -3.9894308360 4.0440881650
+ 0.0356332630 0.0765158741 -2.0204858185 2.0270587402
+ 0.1852577648 0.1624287279 0.2697331819 0.3910745522
+ 0.1334004357 -0.4481835260 1.7887211355 1.8540947211
+ 0.9754209031 -0.3649901197 6.6321915304 6.7149168280
+ -1.1494308024 1.4262573721 2.8034954216 3.3850596450
+ -0.7857036752 1.2091028349 2.1126117136 2.6050007952
+ 0.0333366267 0.0507063875 0.3379221323 0.3433275927
+ 0.1933418499 0.1695685890 0.4976922898 0.5602072765
+ -1.9158396150 1.0820551625 10.4310583219 10.7018041990
+ -0.3757686714 0.2113238082 2.5788073730 2.6183176084
+ 0.0010329688 -0.1363173281 0.7444824070 0.7568603142
+ 0.0842271744 -0.2253915466 2.5261119628 2.5375455099
+ -0.0481432479 0.2099530614 0.3379894337 0.4007928612
+ 0.0506073977 0.1813691556 0.4893728831 0.5243488324
+ -0.0599660095 0.3112982464 7.0647983279 7.0732847899
+ 0.0028175668 0.4976566672 2.9521526080 2.9938061257
+ 0.0274567968 0.0135910478 0.2467850347 0.2486794033
+ 1.5569738335 0.3274826716 9.6760424782 9.8069715124
+ 0.7575360624 0.2258521996 11.5933737080 11.6581102511
+ 0.2555986792 -0.1153010063 1.5518395205 1.5831331875
+ 0.1318507738 -0.2435745659 6.6582731100 6.6654927640
+ -0.1080138196 0.3291826375 13.4165210403 13.4217191449
+ 0.4646358005 0.3591410291 40.4884008194 40.5035284909
+ 0.4271251242 0.0447644972 19.5432399538 19.5484563945
+ -0.6904290081 -0.3120585253 102.7901921876 102.7930793511
+ -0.2337826626 -0.1788571429 23.1997434095 23.2020304772
+ 0.3943063431 -0.1735105912 71.7186396920 71.7200693145
+ -0.0040369716 0.1877085881 42.4668656473 42.4672806842
+ -0.1624550233 0.2837469813 58.7227521862 58.7236624225
+ -0.3428635045 0.5298714194 2574.2824267008 2574.2826750553
+ -0.2797533128 -0.0960878981 1029.4964719341 1029.4965238889
+ 0.2184529990 0.2133218523 515.7007745620 515.7008838383
+ 0.3236973198 -0.3523977579 180.0965158611 180.0971515307
+ -0.0172488528 0.1425708352 23.4779609914 23.4784002069
+ -0.2399797914 0.3810128528 52.4756401935 52.4777577131
+ 0.0355128878 0.1112677934 0.1466960655 0.2337545884
+ -0.0087539613 -0.0947360320 1.4795180769 1.4891289643
+ -0.0463564818 0.1056412711 1.9953552270 2.0035546582
+ -0.2696587087 -0.2487349200 3.2528352444 3.3110719466
+ 0.0027307893 -0.0190267311 0.1903800706 0.1913479683
+ -0.0869633747 -0.1098722501 0.1453009891 0.2018586568
+ -0.0828839688 -0.3324766028 0.0547421202 0.3740146097
+ 0.0047257428 0.0244240834 -0.0734600460 0.1596716373
+ 0.1745810143 -0.2408045061 -0.0011543959 0.3285520632
+ 0.0249775197 0.0760665884 -0.0003677479 0.0800633349
+ 0.3655474726 0.2396845892 -0.1303504423 0.4561413102
+ -0.1865047970 -0.1857845862 -1.1555124293 1.1851197940
+ -0.2982907896 -0.3566642352 -2.9829723525 3.0189916905
+ -0.1119841989 0.2126377718 -2.5797214252 2.5946478950
+ 0.1995205180 -0.4397893890 -35.8270369580 35.8425745577
+ 0.1681312148 0.0125468070 -8.3855336176 8.3883895573
+ -0.3314704217 -0.1266565014 -16.3052139657 16.3096718778
+ -0.0782369488 0.2617193249 -20.7622337993 20.7644997567
+ 0.4196426353 -0.0693026491 -9.4463103509 9.4569107973
+ 0.3604265585 0.0764434380 -41.4980573479 41.4999276426
+ -0.1757596082 -0.0300109339 -9.2174333537 9.2202141792
+ -0.1222098387 -0.1099781465 -25.8532285375 25.8541280269
+ 0.4602077991 -0.0915845979 -57.8071867255 57.8090911196
+ -0.1513163739 -0.1168866350 -20.0056157170 20.0065294178
+ 0.5603472762 0.6279447781 -11.7668079053 11.7976926465
+ -0.1968057258 -0.1154096495 -3.3202835954 3.3645172009
+ -0.8126710973 0.3640725351 -10.7737676617 10.8217694353
+ 0.0593492912 -0.0636666468 -0.6273516107 0.6485565578
+ 0.0312194806 0.0506192394 -7.0820256419 7.0836504672
+ -0.1717105158 0.2724170955 -10.0619494873 10.0680684764
+ 0.2089637945 -0.4424467108 -14.1073333257 14.1165065900
+ -0.0857289781 -0.1543775363 -1.6614493731 1.6766262809
+ -0.5340775741 -1.1503780357 -2708.2365069273 2708.2368075082
+ 0.0778180101 0.3567950453 -24.6970728376 24.6997725716
+ -0.0420725839 0.1157427221 -11.3404771975 11.3411458657
+ 0.2145656209 -0.1345342227 -15.8289631420 15.8316042080
+ 0.3327392720 0.2973537082 -27.9969337086 28.0008376932
+ -0.0423942819 0.0229363812 -0.9658394215 0.9670414370
+ -0.1307924401 -0.1399762635 -7.5711992742 7.5736225458
+ 0.2365778600 -0.1906339289 -5.0775867298 5.0866685932
+ -0.0024783092 -0.0203955763 -0.0915736511 0.0938501738
+ 0.0992737324 0.0228227990 -3.6964486128 3.6978518766
+ 0.2359637275 -0.1049940725 -5.4963954003 5.5024599074
+ 0.1401829531 -0.1041835990 -4.3492671744 4.3527727297
+ 0.3955647344 -0.0733585951 -7.9237833569 7.9339898934
+ 0.4057786485 -0.4415090720 -7.5657272672 7.5894542395
+ 0.2055409717 -0.0224028190 -9.5303547437 9.5325972599
+ 0.2144532881 -0.2677167489 -10.0939564028 10.0997830834
+ 0.0041321376 0.0159568901 -0.4144701816 0.4147978162
+ 0.1091658174 -0.2228416830 -2.7313641236 2.7461619311
+ 0.0354976324 -0.0274693863 -0.2464334705 0.2867470826
+ 0.3687044853 0.0122020759 -3.7241390977 3.7753118198
+ -0.0901760971 0.0563930464 -1.5579063324 1.5615325948
+ 0.0174864735 0.0456071341 -2.5881191832 2.5885800536
+ -0.1671036396 -0.1347803194 -0.8988331256 0.9241159822
+ -0.1167670205 0.0048269596 -0.7934433238 0.8020038308
+ -0.0235145964 0.0006144249 -0.0502126029 0.0554492493
+ 0.1819547490 -0.0426250174 -0.6304744324 0.6575883459
+ -0.3909384931 0.3018517924 0.7551840469 0.9023582186
+ -0.3552354150 0.1720597599 0.7827555674 0.8766430512
+ 0.1871089619 0.0422899332 0.2433766650 0.3098877267
+ 0.3827376575 0.0730406156 0.8736282008 0.9565820818
+ 0.0221342907 -0.0065738329 0.2825903940 0.2835321373
+ 0.1564142682 0.1247713715 0.4824396859 0.5222847585
+ 0.1287782316 -0.4091758194 1.0783702294 1.1689186545
+ -0.2564950889 -0.2606464573 1.0716497203 1.1408940417
+ -0.3303714257 0.1578131319 1.2231038918 1.2843337489
+ -0.3188065615 -0.2557073514 1.4006901596 1.4657546116
+ -0.0993591260 0.0878224545 0.4374702548 0.4571271631
+ -0.1191889717 -0.0219443703 0.2086117263 0.2412600645
+ 0.5897345042 0.4764231959 11.4280164242 11.4539864250
+ 0.0154754214 0.2925404084 4.1510574005 4.1637214972
+ 0.0510775367 -0.0792630352 0.5786774455 0.5863097556
+ 0.2069192770 -0.0353768710 0.7602484194 0.7886981485
+ 0.0375079488 0.0062012113 0.7270549499 0.7280482136
+ 0.0403891561 0.2183853105 1.7454750670 1.7595472820
+ -0.0017156693 -0.0771051138 2.7916951596 2.7927602844
+ 0.0019415480 0.0537321537 3.6102322741 3.6106326297
+ -0.1315317872 0.1540692671 61.9348233195 61.9351546181
+ -0.0396506130 0.0863630944 11.7868851423 11.7872682210
+ 0.0381045633 -0.0155674825 851.1801058912 851.1801068865
+ -0.0584646471 -0.1214210971 992.9650508434 992.9650599884
+ -0.4081856611 -0.2803671376 16.9624846419 16.9697114440
+ -0.0071913933 -0.0292697037 2.3480573761 2.3482508114
+ -0.3388404753 0.0973857188 1.1728435478 1.2246872391
+ -0.2392447897 -0.0011636744 1.1608490197 1.1852467549
+ 0.3370754456 0.0822810955 0.4009002523 0.5482616454
+ -0.0072558945 -0.1832191046 0.2906155474 0.3708895652
+ 0.0254192043 0.0056867633 -0.0200978737 0.0328998443
+ -0.1378228806 -0.0886827115 -0.2866338379 0.3301798401
+ -0.0856377826 0.2234123020 -0.1045655413 0.2611146088
+ -0.1826535985 0.3828635624 -0.0046237826 0.4242266185
+ -0.4807666736 0.0661396036 -22.3023464872 22.3076258234
+ -0.2818802603 -0.0639399836 -13.8660895117 13.8691017427
+ 0.0593584924 -0.0789288965 -4.4231695178 4.4242718932
+ 0.0206098308 -0.1816942817 -3.5630377489 3.5677269482
+ -0.1395731062 0.0454062959 -2.1680026509 2.1729652271
+ 0.0077059366 -0.0318798451 -1.1163601720 1.1168418597
+ 0.0062342639 -0.0671230588 -3.8336503309 3.8342429801
+ -0.0010916888 -0.1218614146 -1.7505109199 1.7547478101
+ -0.1080006790 0.0539982154 -2.5208082630 2.5236985266
+ 0.0373784716 -0.0025757983 -0.5122818697 0.5136501717
+ 0.0739213199 0.0389779632 -1.8015849388 1.8035220916
+ -0.0219043592 -0.0578478979 -1.5656771298 1.5668985465
+ -0.0033687342 0.0048969148 -3.1137644236 3.1137700965
+ 0.2059305438 -0.2973680163 -1196.8667861741 1196.8668408314
+ -0.0441821522 0.1898415703 -20.8384786328 20.8398575667
+ -0.7184195084 0.3218615607 -54.6789286147 54.6847733440
+ 0.1445133351 0.0484924737 2.0823785218 2.0926097861
+ -0.2526794375 -0.0008910687 4.8830734508 4.8915982872
+ -0.0174280028 -0.1865522740 1.1262829032 1.1417612116
+ -0.0350955288 -0.0085514843 0.0680876546 0.0770762786
+ -0.0432842936 -0.1064261018 0.5611346331 0.5727758041
+ -0.0289697533 0.0398828472 0.3606742537 0.3640272042
+ -0.1772394532 0.0221538909 1.1681873355 1.1817640498
+ 0.0015227240 0.0522741619 0.4980967758 0.5008346082
+ 0.0930627689 -0.0793289613 -9.0955861433 9.0974788177
+ -0.0374291445 0.3579343007 -22.0738965966 22.0772713134
+ -0.2256045876 -0.1839929299 -14.6518713660 14.6554278388
+ 0.1781742035 -0.1970929504 -10.4049821585 10.4093095439
+ -0.0583074884 0.1439923667 -2.6377037388 2.6422745085
+ -0.3524958138 0.3356232977 -10.6166192051 10.6277702103
+ 0.0049004496 0.0593993681 -4.6344500464 4.6348332799
+ 0.0605915531 0.0475524226 -1.1653448875 1.1678875271
+#SUBSTART
+ -0.0509370766 -0.2648594918 0.1699801341 0.3480203544
+ -0.1297912769 -0.2759003549 -1.0849520663 1.1355912787
+ 0.0652306638 -0.7129018550 -351.1482288035 351.1493054483
+ -0.3015960543 -0.1458585900 -1775.2132355578 1775.2135151258
+ 0.3321354402 -0.7784940409 16.1079804654 16.1308053544
+ 0.1205175870 0.0887992391 4.0433635045 4.0761304179
+ 0.3359346105 -1.1972094597 7.3224773818 7.4436871589
+ 0.0829080855 0.4454470746 138.0455563491 138.0463704860
+ 0.0635918667 -0.8102026461 -2.2904744126 2.6056740151
+ 0.1106217095 0.1320705694 -2.9621959263 3.1124068322
+ -0.0018439633 -0.4718247923 -51.6415441608 51.6438881683
+ 0.4661622821 0.1962812673 -362.7733571705 362.7737366268
+ 0.0736242344 0.1199625671 -474.0252419612 474.0252834056
+ -0.5279208510 1.9793568219 7.4654355211 7.7982096123
+ -0.1840205457 0.2223927891 1.3148372398 1.3461497246
+ -0.2418259771 0.1126108279 0.9820526324 1.0176386267
+ -0.3432639653 0.5376209196 3.5008498477 3.6801041632
+ -0.0433748195 0.0869181779 0.8479556590 0.8648379785
+ -0.2474910350 0.1869619687 -0.3144138998 0.4631873006
+ -0.0085349151 0.1408985219 0.6999751635 0.7275783481
+ 0.1520002065 0.0764702116 -0.4289382098 0.4614539455
+ 0.1733493091 -0.2259847111 -0.3828318433 0.4971509607
+ -0.0959267602 0.4924933501 -1.2143896645 1.3213529753
+ 0.3784688678 -0.1932081869 -1.5291462660 1.6632894574
+ -0.0696769887 -0.8419189150 -2.5504064527 2.6903039235
+ 0.0831668918 -0.1394569942 -13.9935549151 13.9944969237
+ 0.0778797648 -0.0356675830 -18.9506642514 18.9508578435
+ 0.1820720753 0.1522757896 -3.9290654376 3.9387019631
+ -0.0417205372 0.3011839377 -1.9958548491 2.0237017397
+ -0.7373897127 -0.0373208856 -12.5400780707 12.5968839893
+ -0.2383350455 -0.0646169635 -1.1634954204 1.2877660886
+ 0.1792952869 0.5302966663 -1.7512820170 1.8438627503
+ -0.2256142409 1.6520027617 -6.4971132055 6.7731297566
+ 0.0732970521 0.1662615766 -0.3991221321 0.4602104203
+ -0.1865785951 0.4311667249 -19.1970624959 19.2033175408
+ -0.0219924106 0.0849892238 -6.1218168250 6.1240368923
+ -0.1455436262 0.2365233100 -28.0888736498 28.1059121847
+ -0.2220745715 0.1081062879 -64.6559168731 64.6632150652
+ 0.0924430469 0.2051632237 -16.4912413395 16.4933671022
+ 0.4955426067 0.3732759117 -3000.3753268557 3000.3754315990
+ 0.1126513862 -0.0245483377 0.1443817409 0.1847675372
+ 0.0059966329 -0.0762029902 0.2326345492 0.2448707593
+ 0.1893094751 -1.1165191621 9.4007603791 9.4697533551
+ 0.1187314507 -0.0326053653 1.1538247897 1.1687393625
+ 0.1403724833 -0.9133144463 13.4439292099 13.4763704349
+ -0.1709321112 0.1187843393 81.7042925194 81.7045576673
+ -0.1133306823 0.0656762364 113.5628793115 113.5629548520
+ 0.3720137596 0.0974798835 217.7876631441 217.7880474088
+ -0.0348477710 -0.4069452150 126.6413037917 126.6420393259
+ 0.1870813130 -0.0872658414 171.0790486592 171.0792301382
+ 0.0001759466 0.9300268342 2738.2295230422 2738.2298417336
+ 0.2115435425 0.0493454778 808.2087014437 808.2087426864
+ -0.3589168658 -0.0189310290 395.3654313613 395.3656193639
+ -0.0114795002 0.0043740579 -0.0962817196 0.1700025462
+ -0.3636800835 -0.2959082893 -3.8536325390 3.8845576903
+ 0.0390260714 -0.1831886651 -1.4836467165 1.5019215977
+ -0.0732673208 0.3033048781 -3.1873277720 3.2025646404
+ -0.1121431565 0.1815430329 -1.4354204019 1.4511945737
+ -0.0367481226 0.1135322170 -36.1418108066 36.1422772962
+ 0.3366319959 0.0292486158 -69.7978579072 69.7988153539
+ -0.1138643127 0.0706805253 1.0829135342 1.0911748443
+ 0.0241182684 -0.0209467974 0.1517293156 0.1550556171
+ 0.1098374573 -0.9261198239 -2.2014534518 2.3908491161
+ 0.1148698677 -0.3937049615 -1.1276685611 1.1999312759
+ 0.0048710519 -0.0390953243 -0.2080152435 0.2117132803
+ 0.1278272213 0.0627784565 -0.3430550188 0.3714400074
+ -0.0004467411 -0.0135715786 -0.1391381485 0.1397991834
+ -0.0128417412 0.3350564029 -3.1644927879 3.1822071441
+ 0.0679682184 0.1417600307 -9.8815485283 9.8953217397
+ 0.0774568048 -0.2061015582 -4.0313510566 4.0679164421
+ 0.0465569470 0.0517187205 -12.8783441615 12.8785321647
+ 0.0329029702 0.0016652131 -0.6586861407 0.6595095226
+ -0.0286011647 -0.0132689891 -29.4065705378 29.4065874403
+ 0.0342840358 -0.1801742160 -571.1574379924 571.1574674397
+ 0.2700205327 -0.3038181850 2.5849056485 2.6166684523
+ 0.1151678658 -0.0400792085 1.0880523467 1.0948643247
+ 0.2003481998 0.5028468806 653.4857191343 653.4859433124
+ 0.1105639743 0.1222869810 263.2936914160 263.2937430285
+ 0.0132757308 -0.0182556346 84.2169361040 84.2169391290
+ -0.0222402968 0.2068650237 1134.2148290558 1134.2148481385
+ -0.2655273249 -0.1042250388 -0.0796661108 0.2961660145
+ -0.8638890910 -0.4856221106 -0.0625385601 0.9929976170
+ -0.0985666673 0.0646456069 -1.6232634805 1.6275376400
+ 0.0447239233 0.0509865319 -0.9601792828 0.9625716134
+ -0.0427734480 -0.0708136968 -3.4481102734 3.4491025797
+ -0.0385054305 -0.0600440521 -14.5159690301 14.5161442828
+ -0.0048801588 -0.1261602670 -0.2173857834 0.2513897527
+ 0.0891232252 -0.0480893864 -0.0853168713 0.1324179251
+ 0.1231818473 -0.1647097198 -1.5403343912 1.5540055007
+ -0.0259388277 0.0015196939 -0.1372863870 0.1397235997
+#SUBSTART
+ 0.3513835747 0.0863842872 0.4305961478 0.7483225669
+ -0.2394316678 -0.0964748384 0.4472757872 0.7143749070
+ -0.0962470037 -0.6143451748 0.1102640111 0.6467777181
+ 0.0882349019 0.9428763691 0.8585895270 1.2858681916
+ -0.5081978700 -0.3991755096 8.9858237983 9.0101118351
+ 0.2502257525 -0.4135313380 29.7060495929 29.7140815855
+ 0.4382471970 0.4828008138 -1.7885108790 1.9087713799
+ 0.0688331918 0.8906618148 68.2269956989 68.2329864389
+ 0.2401969212 -0.7619777158 81.0257680767 81.0351389683
+ -0.3788060032 -0.2183419049 14.6955080966 14.7102945706
+ -0.2081692618 -0.4040860307 11.4923038422 11.5021366428
+ 0.0882205793 -0.0110568982 0.0586545508 0.1755712586
+ -0.3289355697 -0.0163956219 1.8133611763 1.8483035373
+ 0.0515791286 0.2470485053 0.2188255201 0.3620190100
+ 0.0901237096 0.2647083161 0.8978747819 0.9507111467
+ -0.4248530210 -1.2417659758 -1.3072339742 1.8576391674
+ 0.1286987368 -0.0083646410 0.0407527810 0.1943551032
+ -0.1564100953 0.3410265719 -45.1683850928 45.1726401275
+ -0.1260660784 -0.1703210744 -575.6749638566 575.6750197751
+ 0.3196320210 -0.1425785036 -866.1344222912 866.1350012103
+ -0.1587039488 0.6188909248 -143.1835567546 143.1850502588
+ 0.1802038877 0.0611284026 -47.6106990501 47.6112838930
+ 0.0178346007 -0.1592064747 -24.4440992312 24.4450226382
+ 0.9420648081 0.8497533301 -12.6900208445 12.7540454619
+ 0.0387810512 -0.1829012599 151.6305335483 151.6335517344
+ 0.4507642446 -0.2687987137 132.1349766666 132.1393593583
+ -0.0908790077 0.0991418424 0.8937843745 0.9145591243
+ -0.2746445694 0.3186459654 2.9409535285 2.9741641401
+ -0.5603401564 0.8424524862 0.9343869277 1.6664743641
+ -0.4970156516 -0.2495409175 -1.9796930523 2.0610578821
+ 0.1187721030 0.5876354550 -7.3825738961 7.4081913688
+ -0.0218581490 0.0688815068 -3.0486183702 3.0526670622
+ 0.2525240870 -0.4960841087 -9.6546520989 9.7162218373
+ -0.3239554754 -0.1433068940 -2.2427707428 2.4567977560
+ 0.1839998331 -0.2738257098 0.0774495534 0.3664896671
+ -0.2857045623 0.3379413295 0.2323627567 0.5189447704
+ 0.2506682559 -0.0726082590 0.3355672535 0.4474278716
+ -0.0376138396 0.0776708370 0.5555060479 0.5792359744
+ 0.1717120796 -0.4044677745 2.7103949833 2.7457822536
+ 0.0699124145 -0.0808089112 0.3817150550 0.3963889618
+ 0.4451863718 0.6987070109 7.1426676041 7.2074769410
+ 0.2565954670 -0.0562772464 1.4859873092 1.5154690463
+ 0.1777284803 -0.2353512404 29.2371014675 29.2389219983
+ 0.1789671712 0.2193490468 8.4557455846 8.4604832394
+ -0.0210440465 0.0053343587 0.9150385374 0.9152960353
+ 1.2368367824 -0.8910283844 -8.3349804990 8.4875931622
+ 1.0529050908 -0.1832613604 -5.0578894662 5.1714523583
+ 0.6775419726 -0.5864847002 -2.3027461708 2.6435693939
+ 0.0199983460 -0.0627587948 -0.2924209245 0.3306484268
+ 0.2366324956 -0.3284748100 -1.7559709639 2.0316680973
+ 0.3514193699 -0.2543253733 -1.3133852470 1.3901933538
+ 0.1728712083 -0.7057742283 0.2073525280 1.2057315504
+ 0.0517370079 -0.1129449967 0.2762285800 0.3334895854
+ 0.1222946120 0.0289346910 0.2196535496 0.2530629770
+ 0.1454885863 0.0162924103 1.7788962193 1.8519030997
+ 0.6854447280 -0.2328609130 1.2249170321 1.4296713610
+ 0.2132316179 -0.9154663652 1.8533504135 2.0827707337
+ 0.0464755619 -0.1147566085 2.0207004633 2.0244899159
+ 0.7726530146 -0.4068852434 7.7178455675 7.7670900913
+ 0.3269458017 -0.0860636289 2.6983095198 2.7194070622
+ 0.1268780430 0.2180718314 6.8290603940 6.8351444031
+ 0.6455361591 0.5313835850 15.0169463080 15.0408524243
+ 0.5596353138 0.1161023227 17.6030417569 17.6128711547
+ 0.7680020692 -0.1127127811 32.3480580258 32.3709706370
+ 0.6983703179 0.5935546092 89.9948101485 90.0043678519
+ -0.1062699011 0.1869527399 20.6927868264 20.6943748648
+ -0.1307433841 0.0736303268 121.9641081117 121.9642004144
+ -0.0899043048 0.2142744765 137.4759291889 137.4761255734
+ 0.1583710439 -0.1596163519 66.4787949287 66.4810076254
+ -0.0547152709 0.3262564991 30.8900990872 30.8921857185
+ -0.1030840496 -0.0145927889 14.0778153835 14.0788921804
+ -0.3814800376 -0.4953111690 333.5073438232 333.5079590114
+ -0.2517675119 -0.6024863461 376.4509881756 376.4515803591
+ -0.1763305492 -0.0421270053 2.5729633647 2.5831158333
+ -0.3895841814 -0.2476009491 6.3130903830 6.3314826094
+ -0.2550797052 -0.0598126234 8.1363865785 8.1418001415
+ -0.2221070476 0.0151249759 0.3814421288 0.4631826724
+ -0.9161630148 0.5499367145 5.0748116663 5.1879647544
+ -0.0762149093 -0.2521347467 4.6077573416 4.6173897547
+ -0.7777770833 -0.0674658849 4.4260742327 4.4965655489
+ -0.1122568541 -0.3432704188 0.2153668070 0.4204985651
+ -0.9785147782 -0.3390581542 0.7480054023 1.2774833404
+ -0.4740289086 0.1117179975 -0.2792147622 0.5784677912
+ 0.5639903520 0.1294667741 0.1248072592 0.6081968428
+ -0.0084708087 0.0041157778 -0.0236083139 0.0254174489
+ -0.8072015961 -0.9749667678 -3.3431144853 3.5747096493
+ -0.0283360821 -0.1356588674 -0.9180536692 0.9388868869
+ -0.1311486095 0.0017617580 -1.4393881292 1.4520747339
+ 0.0071001260 -0.4130757745 -2.4092590496 2.4484057997
+ 0.3246640651 -0.2998738615 -15.1699075117 15.1843691328
+ 0.1855192498 -0.0002007397 -1.3540292659 1.3737876365
+ 0.1641733496 -0.6556734698 -6.0895820554 6.1285683469
+ -0.1322846352 -0.0809387546 -4.9906636671 4.9950229158
+ -0.2211364576 -0.5250485379 -37.9757233733 37.9802530641
+ 0.1104229890 -0.1018287038 -14.8745442884 14.8759574446
+ -0.4857614264 0.3019904732 -54.8090275897 54.8121897712
+ -0.0385357965 0.0592827995 -5.1775114233 5.1779942059
+ 0.0896591469 0.3006854457 -16.3528825991 16.3558925101
+ -0.3652418169 -0.6842401798 -217.3140789752 217.3155079299
+ -0.0034234873 0.1969739181 -19.3594067330 19.3609121501
+ -0.0290826310 -0.0221466697 -8.4786081241 8.4786869264
+ -0.2577155050 0.0778430860 -165.2421020747 165.2423213795
+ 0.2126398737 -0.2250677107 -279.3267159726 279.3269224529
+ 0.1081640021 -0.1688561687 -84.4485575381 84.4489109575
+ 0.1834010756 0.0865142133 -473.1517199256 473.1517839647
+ -0.0488719920 0.0721643079 -221.7981217409 221.7981827783
+ -1.7448455566 2.4921877129 -616.8193555961 616.8268739309
+ -0.4194674477 0.4334598557 -79.7555558049 79.7579588626
+ -0.2405230503 -0.0328744566 -26.5858463022 26.5873209530
+ -0.6034955259 -0.5141579264 -31.2385200705 31.2488908796
+ 0.1638126043 0.0101811828 -10.5332319494 10.5354351268
+ -0.1401235635 0.0774205777 -1.0673152115 1.0792545203
+ -0.0764670415 0.2015020117 -4.4632576682 4.4684582668
+ 0.1004790435 -0.0916098374 -0.3248806156 0.3521871872
+ -0.1064736351 0.4738688694 -5.2841534501 5.3082620328
+ 0.3218016390 0.1968768848 -9.1562298793 9.2119060459
+ 0.1353904184 -0.0260064587 -1.2436441750 1.2590224463
+ 0.6100942143 0.6575841496 -8.3789476071 8.4790439704
+ 0.2440437200 -0.0330929644 -1.2553184594 1.2868398117
+ 0.0514526277 0.2190608661 -1.5701180420 1.6611883282
+ 0.1372299060 0.7254283299 -3.3552051347 3.4383076636
+ 0.2249887106 -0.1520320231 -0.5965768782 0.6701622285
+ 0.1695471797 -0.3391619865 -0.2457642903 1.0414066346
+ -0.2556074022 0.0614822381 -0.0548780131 0.3026658073
+ -0.2632482254 0.0670017819 0.4434716970 1.0738937554
+ -0.0644068099 0.2659118756 0.1505389224 0.3420513336
+ -0.3570493913 0.0031080420 0.1813753305 0.4241116871
+ -0.0864124590 0.1621691599 -0.1595860487 0.2805591583
+ -0.9306299732 -0.3204726026 1.7361986340 2.0006599706
+ -1.4872367863 1.2030974562 3.5849514878 4.1706097519
+ -0.7031097587 0.6300072817 1.2064951069 1.5383051504
+ -0.2161833966 0.3903551137 10.4084767637 10.4189721519
+ 0.0803149198 -0.0314024289 268.6716585303 268.6717086219
+ -0.1581949575 -0.2312517393 1476.8147189483 1476.8150435840
+ -0.1128636898 -0.2129492528 384.6157144328 384.6158152677
+ 0.0461300467 -0.1554289250 1722.9398811202 1722.9398944016
+ -0.0998121208 0.2192375613 604.2849937145 604.2850578460
+ -0.1306452713 -0.0419120639 -0.1385822216 0.2398116449
+ 0.0670971285 0.2300405729 -0.2102272170 0.3479884444
+ -0.0658102562 0.0504672667 -0.0541361008 0.0990386401
+ -0.0328327591 0.1792983550 0.0355750233 0.1857187994
+ 0.3790254689 1.6577306248 3.3185232279 3.8454023625
+ 0.0790284068 0.0732545670 0.6390348988 0.6629156112
+ 0.4044764321 -0.1037192791 0.2540253546 0.5082986707
+ 0.3155650118 0.0137480471 0.4594672070 0.5747696796
+ -0.2368070353 -0.0717572765 -0.0776267413 0.2945036070
+ 0.0150794557 0.2493484796 0.0538285482 0.2911689402
+ 0.5242711188 0.5212543040 -1.3586428394 1.5530474575
+ -0.1894719837 0.1388649068 -1.0339703461 1.0694660146
+ -0.3230259180 -0.7345551608 -4.0749313721 4.1555339609
+ -0.5041837063 -0.8320104728 -10.0061700444 10.0543205330
+ -0.4430443258 -0.1303902894 -2.1797648253 2.2325197381
+ -0.2655783851 -0.0905889652 -0.9675911081 1.0170794348
+ -0.3808833270 -0.0313661032 -3.4652636450 3.4890669032
+ -0.1074870207 -0.0080526398 0.0037284190 0.1763859140
+ 0.1188952262 -0.1178720167 -1.9654917259 1.9775407446
+ -0.1168153378 -0.2905825802 -0.2873425139 0.4473584293
+ 0.2049314285 -0.2479883935 0.2698296068 0.4198846870
+ -0.0115063078 -0.0023845109 -0.0063955375 0.0133784869
+ -0.0372355634 -0.0566035911 1.2681726633 1.2699812430
+ 0.0095869995 -0.0500175566 0.1409128402 0.1498335578
+ 0.0651788088 -0.0161068207 -0.3786984860 0.3846040173
+ 0.0880974512 0.1266280344 -1.7199246665 1.7268285029
+ 0.5861372256 -0.6143882111 -6.2493026180 6.3263329316
+ 0.0316062155 -0.0701959191 -0.0816668505 0.1122314323
+ 0.0700243700 -0.0096230070 0.0371710422 0.0798605098
+ 0.0811806041 -0.1901402898 -0.0263621421 0.2084192477
+ -0.0030988249 -0.0110203230 -0.0589043005 0.0600063901
+ -0.0027336410 0.0395970907 0.0654290850 0.0765269074
+ -0.0803960589 -0.0443262239 -0.0079819519 0.0921523303
+ 0.7791232530 -0.2180356777 1.5238053207 1.9639006717
+ 0.0454966914 -0.0416899157 0.3516787782 0.3833611169
+ 0.2095421580 -0.2994765104 0.9330361334 1.0020731123
+ 0.1476283312 -0.0694285574 0.3343999962 0.3720723132
+ 0.5711175696 -0.2783425159 1.4917671457 1.6214250064
+ 0.0388355179 -0.0696716584 0.1901792717 0.2062292239
+ 0.2132034763 -0.2607602674 0.5536634459 0.6480700970
+ 0.0014997178 -0.0745293339 0.2221850392 0.2343566991
+ 0.9662601153 -0.7349221488 7.1749592229 7.2782751260
+ 0.2981093263 -0.1352674214 0.8619324895 0.9325094354
+ 0.2706155557 0.1954741305 7.3065204295 7.3141427182
+ 0.2527854008 0.3085378940 6.7006701520 6.7125313092
+ -0.0484253203 -0.1535503692 1.0508531019 1.0631156895
+ -0.0073954533 -0.0316416273 1.1277327544 1.1282008025
+ -0.0361965680 0.0967665602 1.8918128213 1.8946318137
+ 0.1201730013 0.2366800895 4.2592436700 4.2675069602
+ -0.1022789177 0.1157269997 111.9907956587 111.9909021572
+ -0.0385313296 0.0033758186 6.5748743822 6.5749881521
+ 0.0262426582 -0.4107163889 21.5650881072 21.5694664163
+ 0.2220230408 -0.1883020242 7.2028256603 7.2100575005
+ -0.1632574252 0.2417854378 21.7088366894 21.7310619664
+ -0.0324910742 0.0813730435 6.9821019527 6.9840464421
+ -0.0050033700 0.0490308675 0.2916829212 0.2958174879
+ -0.1734647770 0.1735972586 3.9232654003 3.9309334054
+ 0.2533262048 0.2469523288 -2.3632817914 2.3896151247
+ 0.0196764305 0.0160780510 -0.0419359201 0.0490335297
+ 0.2930993519 0.0841211651 -0.8909584177 0.9416955466
+ -0.0141795796 0.0136312697 -0.0471636871 0.0511007375
+ -0.1453322307 -0.0139368720 -1.2076737231 1.2164668163
+ -0.1630557917 0.0003257640 -3.1463672485 3.1505894940
+ 0.0095116858 0.0180053813 -0.1189006657 0.1206318127
+ -0.1769584512 -0.0276514653 -0.2729277487 0.3264482394
+ 0.1896578048 0.4085830995 -45.5044755719 45.5094263064
+ -0.1524816922 0.0190522875 -11.2835849965 11.2846313201
+ -0.0360013212 0.1013039258 -8.1518479826 8.1525569064
+ 0.0541654450 -0.2255027699 -46.9986165450 46.9991887434
+ 0.0908246117 -0.2086991583 -80.2573434400 80.2576661790
+ 0.0573497401 -0.0666658658 -64.6668414856 64.6669012792
+ -0.0386824311 0.0160515455 -10.9807010116 10.9807808779
+ 0.1910298306 -0.2779106293 -391.7005768967 391.7007220671
+ 0.1300084946 -0.1303620513 -354.3333990162 354.3334468475
+ 0.0251052219 -0.1885166599 -285.6351653452 285.6352286582
+ 0.0869150029 -0.1962836236 -585.1473153807 585.1473547566
+ -0.4971768159 1.2021426904 -241.3635377853 241.3670435334
+ -0.3171213084 0.7550579181 -133.3462899279 133.3488047038
+ 0.0298209664 0.4932502680 -92.0747424137 92.0760684199
+ -0.0918700286 0.8593316264 -142.5516850893 142.5543047850
+ 0.0022881145 -0.0183777781 -2.9930200237 2.9930773195
+ -0.3489039330 -0.2466578632 -200.3801401872 200.3805957559
+ 0.1115025753 0.2281227797 -18.2499967926 18.2522967196
+ 0.1880057745 -0.0933137134 -6.5186782948 6.5235496561
+ 0.0514040776 -0.1979955194 -3.6573958348 3.6631119144
+ 0.0465743616 -0.0353700208 -0.3814593489 0.3859163697
+ 0.2128325537 -0.0942725555 -0.0134117086 0.2331627855
+ 0.1240031763 -0.0162884840 0.0893528319 0.1537076153
+ 0.0120010760 0.3680152047 0.4202785963 0.7482571377
+ -0.3442075736 0.8041751857 0.7264554852 1.1370638307
+ 0.0076321592 0.0019066994 0.0015007169 0.0080085896
+ -0.0167925223 0.0279474618 0.0080812496 0.0335910110
+ 0.1810677361 0.2432940014 0.3580630615 0.4692405057
+ -0.5266418094 -0.6322139825 0.6574217017 1.0532091003
+ -0.2982095941 -0.2345215137 0.2467416052 0.4525601862
+ -0.3724109473 -0.3054553985 1.9831696794 2.2467190916
+ -0.0436926025 -0.0291551658 0.1958170811 0.2027397259
+ -0.3107149439 -0.2210414708 0.5131845065 0.6393445440
+ -0.3876987808 -0.0238519199 6.6548850022 6.6847624550
+ -0.0000806122 0.0857601813 14.7877350752 14.7879837527
+ -0.1944682679 0.1308906987 47.2761395375 47.2767206969
+ -0.2261926949 0.4047311087 0.5617003127 0.8821298520
+ -0.0927429169 0.0857225751 -0.0123488268 0.1268940584
+ 0.0095444890 -0.0370200596 -0.0157182661 0.0413357711
+ 0.0520036366 0.0216514984 0.0463238464 0.0729319159
+ -0.0356572397 -0.0504258695 -0.0269616210 0.0673879519
+ 0.1207138060 0.0316860843 0.0132839635 0.1255081455
+ 0.0483281031 0.1503209370 0.0156791213 0.1586752170
+ -0.0004292783 -0.2162291731 -0.6127388926 0.6497724141
+ 0.1326266003 -0.1931440529 -0.6109146182 0.6543020029
+ -0.1128137064 -0.2122895578 -0.8568156382 0.9007811119
+ 0.1681673440 -0.1731319996 -2.4547336051 2.4705165051
+ 0.1826472912 0.0559993044 -0.0106887589 0.1913379331
+ 0.2113169464 -0.0797999001 -0.0268818269 0.2274763911
+ 0.0378914183 0.0495242267 0.1091709586 0.1257247263
+ 0.0472951004 0.0243294952 -0.0365668762 0.0645436851
+ 0.0337805991 -0.0320483379 0.0883461283 0.0998662266
+ 0.1997591503 0.0075575967 0.0587808887 0.2083651321
+ -0.1238906915 0.3094257544 0.2326753235 0.4064861709
+ 0.0285115833 0.1523117308 0.1488429769 0.2148627597
+ 0.0337604191 -0.0011512632 -0.0444313839 0.0558143277
+ -0.0853958386 0.0842971209 -0.0137632047 0.1207802949
+ -0.0906088516 0.1313208263 -0.0807469672 0.1788160958
+ -0.2982407157 0.1338396349 -0.0802725363 0.3366069703
+ 0.0842579992 0.0465765645 -0.9480490171 0.9529248269
+ 0.1753075370 -0.0330739435 -0.8162876861 0.8355550280
+ 0.0233613671 0.1374946930 -1.6842967976 1.6900610186
+ -0.0104885032 -0.0039609901 -1.4305331671 1.4305771005
+ -0.1568064396 -0.2921406838 -3.9731468285 3.9869575066
+ -0.0189382543 0.0049192561 -0.0786708200 0.0810675921
+ 0.4072918690 -0.3850262714 0.7891977184 0.9779799179
+ 0.3576534236 -0.4609440474 1.7453730619 1.8455872497
+ -0.0109044807 -0.0489811159 16.1431782388 16.1432562300
+ -0.1348219263 0.0621136559 40.9312911311 40.9315603015
+ -0.0466158917 0.4899579310 255.1024573732 255.1029321464
+ -0.0294563013 0.0099071009 17.3387371998 17.3387650514
+ -0.4092977643 0.2592610266 5.6280044295 5.6505446271
+ 0.0390781913 0.1223951497 4.2729081893 4.2771172367
+ -0.2960106623 0.1327471298 -1.4325253415 1.4754161283
+ 0.1321383114 0.0286037763 -0.7034850307 0.7298285296
+ -0.0742082503 -0.0637583434 0.0862751249 0.1304430448
+ 0.0139318062 -0.1172677077 0.2820643613 0.3057876950
+ -0.0377906757 -0.1980415706 -1.3148594040 1.3302269924
+ 0.0923925970 -0.4442223395 -2.3801195057 2.4229813743
+ -0.0624540441 -0.1397797130 -1.1614842197 1.1715308226
+ -0.1304726959 -0.0219842154 -1.0945031652 1.1024715909
+#SUBSTART
+ -0.1734802534 -0.6041668205 -0.1421520806 0.6593936186
+ 0.4443987084 0.1415820509 0.5326604713 0.8630781116
+ -0.0787821948 -0.0818522167 0.7012006802 0.8650027592
+ -0.0905139288 -0.5927715090 -0.6316011141 0.8820264086
+ -0.5943964647 -0.3576600087 -103.3205943620 103.3241021646
+ 0.0223434023 0.1266335828 523.8052686327 523.8053030110
+ -0.0575108692 0.5959050182 -2.7909402527 3.0046810776
+ 0.3069975221 0.1023654814 1.4141896532 1.4574423935
+ 0.0592643018 -0.2362899846 2.1181056544 2.1366320606
+ -0.0508582763 -0.3792723507 2.6871176324 2.7178143858
+ 0.9616613368 -1.2990970152 15.4607226708 15.5456061596
+ -0.1830107530 0.1251128457 1.6697175951 1.6901428318
+ 0.1940028217 0.5105226357 0.7085770749 0.9054455878
+ 0.0657422154 -0.4273219204 1.3012054987 1.4572929603
+ -0.0997198286 0.1260492435 0.0580357083 0.2206363169
+ 0.5213862652 0.5884167570 -0.7804661353 1.1165505321
+ -0.3223707327 -0.4524102880 -2.8138441856 2.8715495544
+ -0.1316881238 -0.1507365427 -5.4327603602 5.4588084193
+ -0.1414872979 0.0368425353 -4.1659346682 4.1976217848
+ 0.0491209552 -0.0766561171 -6.0326205865 6.0534652167
+ 0.4435705326 0.0278006940 -6.4770933992 6.4938237105
+ 0.1889086076 0.5401954372 -13.9149142356 13.9266771255
+ 0.2680073416 0.2273877454 -25.9716436074 25.9743967125
+ 0.5801820870 0.1288392377 -5204.6451886675 5204.6453074078
+ 0.0974608350 0.0542162049 0.1249135093 0.2179935342
+ 0.4607558325 0.8695076077 3.3822885311 3.5252935919
+ 0.0528442804 -0.2863591633 2.7110654417 2.7302288737
+ -0.1251166711 0.0155063756 0.9371201624 0.9558078325
+ -0.2564335475 0.2159304535 1.8392774016 1.8747813925
+ -0.0230738398 -0.0027189269 17.7405780807 17.7411423030
+ -0.1046715048 0.0107004547 122.5364074007 122.5365320592
+ 0.2123350858 0.0998350989 3.9711557758 3.9780813756
+ -0.0010632646 0.0302179597 0.1680133022 0.1707124053
+ -0.0596022320 -0.4832071644 172.3906884120 172.3914324221
+ -0.6495453516 0.0584863024 3650.9960390211 3650.9962178326
+ -0.1740655122 -0.0806533981 551.7780176316 551.7780686336
+ 0.1299177805 -0.3327717024 626.3304378584 626.3305552847
+ -0.1680372555 0.4438737410 0.2109428577 0.5378076713
+ -0.5363354113 0.0029591480 -0.4613330325 0.8626317620
+ -0.0497901576 0.2899353359 -0.0676833640 0.3325693634
+ -0.1279344345 0.6757355112 -0.2080739530 0.8717347248
+ -0.2475285333 -0.0770208859 -0.1701051824 0.3400266896
+ -0.2310754579 -0.9986128508 0.2013776147 1.0538767583
+ -0.2412693537 0.5685249332 -1.0634730503 1.2376939098
+ -0.1011573295 0.0505398783 -11.3515882563 11.3908600912
+ 0.0520423101 -0.0672655598 -1.3867686645 1.3963667754
+ 0.2313286717 0.1176001878 -10.4576544974 10.4618048219
+ 0.1391125635 -0.1956243934 -29.8690528923 29.8703435145
+ -0.2009385373 -0.0156450475 -19.1777952390 19.1793621134
+ 0.0535340978 -0.1883255548 -43.5964076343 43.5970706678
+ 0.2279978612 -0.0617316098 -27.2323609417 27.2333853253
+ 0.2536002229 0.0568476880 -38.7283576421 38.7292296643
+ 0.0776591667 -0.0580536110 -101.2558722941 101.2560149077
+ -0.2258733262 -0.7381644083 -117.4678617981 117.4704811459
+ -0.1689065502 0.1150742064 -0.0626991002 0.2553085540
+ 0.2401454328 0.0554121902 -0.0853807601 0.2958208897
+ -0.0072941971 0.3797417417 -1.0431272235 1.1101222455
+ 0.0367663270 0.2501462116 -0.4469108255 0.5134726632
+ -0.0724928974 -0.1153778103 -1.5979547385 1.6037539105
+ -0.0671331855 -0.0804901441 -3.5882366067 3.5897670500
+ -0.1546711308 0.0146859195 -4.1777297713 4.1806177625
+ -0.0365854078 -0.0692633348 -1.2711935789 1.2736047333
+ -0.0609984921 -0.0764320590 -13.5441712044 13.5445242180
+ -0.3339793544 -0.0896602029 -32.6346811914 32.6365132578
+ 0.0939780897 -0.1198445091 -399.2274933145 399.2275223638
+ -0.0001960881 -0.0946678667 -601.0634071431 601.0634145982
+ 0.0976934242 0.1191038860 1.1753632392 1.1854148999
+ 0.0904562731 -0.0271725062 0.8370557516 0.8423675052
+ 0.1290435611 0.2429608757 1.4765722921 1.5019813453
+ 0.0879582657 0.5046377586 3.2812641836 3.3210074626
+ 0.0145036523 0.0123537927 6.7250561883 6.7250831748
+ 0.1227715488 -0.2164119558 27.8873284417 27.8884383680
+ -0.0965883056 0.1453065644 160.5906474174 160.5907422028
+ 0.0020149626 0.1023885242 42.6336715583 42.6337945533
+ -0.3228813408 0.0186734444 713.9731362588 713.9732095116
+ -0.1271526455 -0.0804418439 330.6858342898 330.6858685197
+ -0.0031595986 -0.0327052276 0.3487370793 0.3502815517
+ 0.1927768334 0.0163487302 1.0155757844 1.0338396212
+ 0.0261850537 -0.0352144032 0.0216618444 0.0489381930
+ 0.1094173635 0.0558621251 -0.1016963366 0.1594831694
+ -0.0084439985 -0.0679023673 0.0322318056 0.0756367760
+ -0.0684326877 0.0544960496 0.0432654693 0.0975948410
+ -0.1259573171 -0.0143346254 -0.4511619109 0.4889760546
+ 0.1377687227 0.3693423903 -0.7420435084 0.8517642722
+ -0.2802526561 -0.1529295678 -14.3956013798 14.3991412275
+ -0.1589627168 -0.2036933693 -14.7604705739 14.7627318508
+ 0.1115740216 -0.0143871725 -5.2956564841 5.2968512676
+ 0.0056657821 -0.0522380541 -0.7621266101 0.7639357861
+ -0.3279092480 0.3435085073 -56.5342112437 56.5362057758
+ -0.1787150844 0.1136784234 -35.7344525606 35.7350802668
+ 0.0259034502 0.1418016086 -1.4082850397 1.4225066688
+ 0.0312634471 -0.2088360572 -0.6664225938 0.7128735936
+ -0.0507776495 -0.0704892619 -6.8536448739 6.8541954424
+ 0.0017364223 0.0182842508 -0.1505630033 0.1516790921
+ 0.2599755299 0.0628337163 -13.8705334856 13.8731119265
+ 0.1870480262 0.0921703262 -6.4185287169 6.4219150744
+#SUBSTART
+ -0.1039065923 0.0051110575 37.9336431352 37.9340425475
+ 0.1039065923 -0.0051110575 0.5220210047 0.5502803077
+ 0.1034556933 0.3673674817 -2882.4625129511 2882.4626909261
+ 0.4232895108 0.4152906349 -2175.8930370949 2175.8931223748
+ -0.1411130628 -0.3963674436 -6.9145578872 6.9287524567
+ 0.1517250416 0.3954868301 -1.8422058821 1.8954241262
+ 1.1065101142 0.2749451166 -10.2224525153 10.2976762348
+ 0.3962337478 0.1346423045 -12.2245997474 12.2417159613
+ -0.3096747287 -0.1012363756 -1.7799566916 1.8756422967
+ -0.3998973155 0.1328527280 0.9435873110 1.0427868951
+ 0.0996720735 0.1357040248 -0.0345750576 0.2214166301
+ 0.3664551199 -0.5493840302 20.9586439962 20.9900267012
+ -0.3802947715 -0.0339800129 37.7033098950 37.7169153880
+ 0.2034489154 0.5002362111 142.2573944596 142.2584879224
+ -0.3106042504 0.2462147367 1287.4155349562 1287.4156035341
+ 0.1628871932 -1.0632061761 907.2064559011 907.2075787376
+ -0.5609124055 -0.2393434827 0.3113120613 0.6987868157
+ 0.0175247922 0.2683783832 0.4695669622 0.5588443359
+ 1.1220437970 0.5833688799 -0.6077705844 1.6886321093
+ -0.1326592342 -0.1950979122 -3.7135707186 3.8378458717
+ 0.4649766782 0.4590134083 -1.0238500172 1.2225568547
+ 0.4094962442 -0.1448258130 -2.7242652115 2.7622024577
+ -0.2614016343 -0.0546712323 -4.7177679129 4.7510309195
+ -0.0389861985 0.8817123334 -241.6885697156 241.6920023880
+ 0.7370695954 -0.6471947066 -438.8132699339 438.8153721036
+ 0.0027705361 -0.2894844961 -1.5913639365 1.6174820332
+ 0.0069707551 0.0112204726 -0.1978958306 0.1983362050
+ -0.0605733521 0.0262848931 -0.3766114468 0.4070331600
+ -0.9279145314 0.1252598721 -10.6178694360 10.6599881125
+ 0.5999660866 -0.5149943295 -4.8225776712 4.8889583394
+ 0.6419844727 -1.0834346584 -8.4814921860 8.5756145091
+ 0.0638010032 0.2587692383 -2.7176651062 2.7342669038
+ -0.0632748766 -0.4452752965 -2.8247544265 2.9026112950
+ 0.1886979313 0.0553675578 -1.7820037420 1.7982462560
+ 0.4034994338 0.0684907907 -2.2310359963 2.2682646227
+ 0.5555470663 0.2060544347 -2.6328824834 2.6987332481
+ -0.2506615571 -0.3669370219 -2.6645504144 2.7049552103
+ -0.2472580843 0.1274218453 -0.0907360477 0.5738003810
+ 0.4137344322 0.2032217605 -0.1844874201 0.5157428210
+ 0.0877180488 0.0017347943 -0.0511241690 0.1015438145
+ 0.1899687547 -0.1670324770 -0.3344824477 0.4193643809
+ -0.9478307825 -0.3695990951 -0.7087243369 1.2477005466
+ -0.3216864310 0.3585487666 0.5641095059 0.7548103719
+ -0.1082089695 0.2384215269 0.4677429161 0.5539108467
+ 0.2407833089 -0.1970657345 0.4922551973 0.5988375988
+ 0.1721983140 0.1365870249 -0.0675218218 0.2689744524
+ -0.0780196050 -0.2124420431 0.3486728024 0.4384873869
+ -0.3187790217 0.4238260521 0.9355522532 1.1832783129
+ -0.4180636942 -0.3091524746 0.6595230849 0.9741479172
+ -0.0057599471 0.1057756440 0.2457744754 0.3018386018
+ -0.1818004317 0.2481281858 0.1997776840 0.3924409528
+ 0.1337357285 0.0564103971 0.2281081205 0.3042704020
+ -0.4834817121 -0.6207110617 0.9215502538 1.2197423676
+ 0.0083982759 -0.0143388489 -0.0618281712 0.1535533825
+ 0.0613117494 -0.0938097722 -0.0262954669 0.1809161144
+ -0.1182343544 -0.7619446561 0.5949061311 0.9738851710
+ -0.1458008411 0.0574592875 0.1636242427 0.2265664312
+ -0.2680402121 -0.1111101158 0.5714457284 0.6559123558
+ -0.1630883591 -0.2669096387 3.3679510266 3.3853230969
+ -0.6383325092 -0.6548783764 2.3345166573 2.5111315952
+ 0.0274365592 0.0580202893 6.7840576090 6.7857966773
+ 0.2268176806 -0.1984675096 6.1102538196 6.1192742329
+ -0.1849019690 -0.2966372399 9.6386204680 9.6459663436
+ -0.1468270345 0.7480774698 10.9211651245 10.9588624736
+ -0.0041426521 0.2284397826 11.1371480988 11.1403657685
+ -0.0271887007 0.1067016442 3.0696058649 3.2120704253
+ -0.3348621699 0.0254219873 2.7377217740 2.8020600318
+ 0.2474702119 -0.0717134448 0.7921330295 0.8445938937
+ -0.0120867789 -0.2521130103 0.2865576135 0.3818668957
+ 0.1091019451 -0.2104094790 0.3399961895 0.4144548132
+ 0.0340184432 0.1320421419 0.0514899758 0.1457518416
+ 0.6135930141 0.8937962796 0.4662534848 1.1801527395
+ 0.0368112000 0.6434021832 0.6341470437 1.3039385306
+ -0.1522087245 0.1442942087 -0.1156828694 0.2772194539
+ 0.7879368308 1.1240806020 0.1563957485 1.6708240674
+ 0.4606761494 0.5314601126 0.2408973797 0.7564282506
+ -0.5920719378 0.0604711208 0.5583672734 0.8279249561
+ -0.6474928874 -0.6703616379 19.4889211831 19.5116929156
+ -0.0478520576 0.2350259357 412.2824708696 412.2825406361
+ 0.0788380057 0.1776706681 385.2613040814 385.2613531160
+ -0.2964233868 -0.0254668328 974.2100070225 974.2100624496
+ -0.0852523310 0.0773462890 65.9798970457 65.9801450768
+ 0.4409343342 0.3117100979 933.3545773441 933.3547439828
+ 0.1073993289 -0.1328245249 175.2940498079 175.2941885939
+ -0.6293620655 -0.4818051760 126.6400829780 126.6426402493
+ 0.2167947516 0.0817237799 109.8111896095 109.8115227195
+ -0.1180107168 -0.0472207866 2.8662901789 2.8724998706
+ 0.1850697253 0.2411865730 3.6587042026 3.6739648873
+ 0.0934140245 -0.4062675746 1.7987426855 1.8516842484
+ -0.1513943519 0.0578420144 0.4485903519 0.4969698554
+ 0.4440681710 0.3096166890 3.8728514427 3.9129933704
+ 0.3728657612 0.1979906872 -0.0492209489 0.4473607882
+ -0.1552187472 -0.1080082267 -17.1017877168 17.1034026302
+ 0.0498557590 0.0123088693 -3.7247487643 3.7251027452
+ 0.1750868784 0.3270039615 -46.0428202437 46.0443143395
+ -1.0532051166 0.3027144018 -173.7614219882 173.7648774879
+ -0.0899923848 0.2418175494 -30.7830451748 30.7841265078
+ -0.0115458851 0.0398428159 -4.7958709859 4.7960504095
+ 0.0323371416 0.0212456978 -8.5915803861 8.5916675099
+ 0.2022442611 0.0346197511 -11.7742272909 11.7760150121
+ -0.2370913767 -0.2248721240 -133.7537431868 133.7550531279
+ 0.2023546551 0.0181372237 -196.9018849706 196.9020392508
+ 0.2040566843 -0.1974873361 -125.9760498977 125.9773369665
+ -0.1681111823 -0.1788885259 -24.7525603703 24.7541711060
+ 0.1934901133 0.2544818011 -101.7165589969 101.7171571239
+ 0.4431634221 -0.8048983472 -3.4464391011 3.5668189814
+ 0.5239966650 -0.6821225560 -3.2543208416 3.3660760281
+ -0.0580010022 -0.1766229554 -1.8728430707 1.8820470111
+ -0.0327618734 -0.0629395750 -2.1664999530 2.1676615918
+ -0.0127584669 0.0096437241 -0.3558998427 0.3562590040
+ -0.0192497129 -0.1497355481 -0.5145898226 0.5362778863
+ 0.0672581358 -0.0552225762 -0.1369944864 0.1622981178
+ -0.0193951643 -0.0472293832 -0.3902059210 0.3935320163
+ 0.1980909280 -0.2636747290 -2.4542451812 2.4763044619
+ 0.0050794673 0.0139014216 -0.0495400322 0.0517036295
+ 0.1636916316 -0.3521738423 -5.6301432367 5.6435214389
+ 0.1599063552 -0.2376317754 -2.8619667973 2.8762636966
+ -0.0224755734 0.0120320984 -0.6123148647 0.6128453446
+ 0.1692305961 0.0622473954 -1.9883333474 1.9964927331
+ -0.1013839586 0.1265374641 -6.7744120413 6.7763521855
+ -0.0128024845 0.0231933722 -0.1821114059 0.1840282595
+ -0.0216433426 0.0285919252 0.0786113553 0.0864041530
+ 0.0545751693 -0.0185899990 -0.0250181285 0.0628485793
+ -0.1423437673 0.3345611322 0.1760116533 0.4039467803
+ -0.0844514265 -0.0228228490 0.6665368701 0.6722531704
+ -0.3037044020 0.0529864744 -0.0134818101 0.3085865997
+ -0.0271790976 -0.0103959124 0.0437842271 0.0525722064
+ 0.0950867531 0.0392774979 -0.0696607725 0.1242450629
+ -0.0280429602 -0.0193411285 0.0151170851 0.0372694665
+ -0.1508107793 0.0676924340 0.1211147168 0.2049266488
+ 0.0065719502 0.0821609560 0.0514224499 0.0971487600
+ 0.3805017428 -0.1369645127 0.3552801363 0.5382980859
+ 0.0661718044 -0.0720033691 0.0313062800 0.1026804559
+ -0.1513072139 -0.0639385966 2.3572036956 2.3629200748
+ -0.8838879674 -0.4346420971 19.6561054667 19.6807686285
+ -0.2779044034 0.1211170347 5.8586924744 5.8665302951
+ -0.1343317569 -0.0345749808 2.4292301943 2.4331871665
+ -0.7455485397 -0.5204308906 22.5996745090 22.6374099543
+ -0.2480076375 -0.1993699238 5.0334263565 5.0454055165
+ -0.0246675830 -0.0080580270 0.1623808065 0.1644413202
+ 0.0995700893 0.1215190286 0.4044664781 0.4339057604
+ -0.0468402196 0.5962391038 0.9068834038 1.1949092066
+ -0.0702712395 -0.0234918490 0.3841131004 0.3911940541
+ 0.0437038875 -0.1067430091 0.5967806301 0.6078249915
+ -0.2370575603 0.2063068478 940.1573030915 940.1573556140
+ -0.0615978617 0.0296470614 86.9643150880 86.9643419568
+ -0.3231725544 -0.5223856757 179.4678455043 179.4688967405
+ 0.0049750786 0.0026916162 0.5170926580 0.5171235957
+ -0.1749963829 0.2233065660 2.9392507299 2.9529111753
+ 0.0151677692 0.0740437515 1.1436933832 1.1461880706
+ -0.0805072621 -0.0063345819 1.6103232025 1.6123468493
+ -0.1148525386 -0.0384120338 0.6812536392 0.6919343256
+ -0.1424136704 -0.0479389019 -0.2696774262 0.3087162225
+ -0.0305664054 0.0590206841 -0.1768966179 0.1889713199
+ 0.4746987215 0.2164568022 -3.0048827891 3.0498381924
+ 0.0991807664 0.0801456524 -1.1629700215 1.1699399219
+ 0.0952798243 -0.0479218531 -1.4793221784 1.4831617769
+ 0.1024359657 0.0790097780 -1.1669209573 1.1740699266
+ 0.0995366917 -0.0405691920 -0.5682548317 0.5783311907
+ 0.0901591062 0.0917672139 -0.9004189009 0.9095625778
+ -0.1019200353 0.4499532578 -10.2429764583 10.2543109051
+ -0.0106130842 0.2691275418 -17.6247297227 17.6273401242
+ 0.0434971876 0.2857760563 -6.2137669961 6.2204871386
+ 0.1297485746 0.1540029648 -3.7710577065 3.7764305675
+ -0.3852392116 0.7685264631 -181.7900181124 181.7920507819
+ -0.0526601807 0.0398120413 -9.9723768875 9.9725953933
+ 0.0612640533 -0.0731883131 0.1410934528 0.1703442862
+ -0.0049150314 0.0312590731 -0.0070712766 0.0324236047
+ -0.0553722816 -0.1733983055 0.1090969179 0.2122149839
+ -0.0016237695 -0.1482247201 -0.0268711003 0.1506494617
+ 0.1014096975 -0.1593307325 0.1407920095 0.2355686716
+ -0.0166242150 0.0058894077 0.0623495601 0.0647959667
+ 0.0463266376 -0.0170960604 -0.2371025418 0.2421901071
+ -0.0757088802 -0.0959765289 -1.1019265373 1.1086863498
+ 0.0306894230 -0.1885989198 -2.9802004337 2.9863198118
+ -0.0323073059 -0.4311671345 -10.1014237872 10.1106731422
+#SUBSTART
+ -0.2142622169 0.0132640633 -4052.3894773558 4052.3895919643
+ -0.1841169489 0.3410823540 5.4810937741 5.4965539176
+ -0.8010173997 0.1515839082 7.4863371212 7.5318875346
+ -0.0244780853 -0.3729051304 0.8373221513 0.9274942495
+ -1.2690867166 0.7869083518 -0.0409538738 1.5732526905
+ 0.2654372432 0.1206053163 -2.4895099164 2.5104067362
+ -0.8244243628 0.9384208203 -17.5886237149 17.6334759232
+ 0.0380115412 -0.0966053111 -3.3781296849 3.3826051227
+ -0.0821663003 0.2806009503 -153.2040649188 153.2044074941
+ 0.1555363725 0.5610747953 -179.8805043996 179.8838936930
+ 0.3146196330 -0.6417709607 -36.9821936676 36.9893631161
+ 0.1164330153 0.2746600055 -127.7132381147 127.7136627941
+ 0.7372036343 -0.9010700684 -41.9826939987 42.0093125681
+ 0.7772580311 0.1887906058 -33.2915879777 33.3144105848
+ -0.5695048024 0.1928050554 187.3823155685 187.3839303096
+ 0.0734573508 0.4179464513 22.6073235101 22.6117365829
+ 0.3028687216 0.3416629543 0.7787232019 0.9134290596
+ 1.5113505593 -0.8319323071 4.3801223220 4.7096967225
+ 0.4194522363 0.3437806609 -0.1491879678 1.0939529076
+ 0.3345456002 -0.9500052286 -2.0978704344 2.5091515788
+ -0.6172043868 0.2847387002 -0.5154442234 0.8643956934
+ -0.8303424704 0.3742602810 -0.7734765596 1.2030316493
+ -0.3334019759 0.2243061588 -0.1255667925 0.4435278285
+ 0.1542546701 -0.2325117203 -150.9195177596 150.9205828837
+ -0.1984983628 -0.0696492444 567.8250587967 567.8251149164
+ -0.9787689728 -1.0768889568 2809.0842232381 2809.0846036394
+ 0.0751778353 0.0156020723 -766.4294671890 766.4294710348
+ 0.0002771890 -0.0398063977 -73.8241060446 73.8241167771
+ -0.2345572194 -0.7000360590 31.3789857004 31.3915506486
+ -0.3991794306 0.0554905345 25.2952496033 25.2988449478
+ -0.7810930341 -0.1422369735 46.7683150621 46.7752617440
+ 0.6595146577 -0.6449841753 29.0325613258 29.0475482802
+ 0.7786390580 0.2869091319 43.8005611855 43.8086433890
+ 0.2748563098 -0.6668204914 10.3376283300 10.3636979324
+ 0.6986057413 -0.3500814092 33.0472913153 33.0568230482
+ 0.4251002412 -0.0302754031 5.8322071401 5.8494227685
+ 0.1062065675 -0.7580672647 4.7481906731 4.8115216165
+ 0.2952296778 -0.4778352981 4.0688798498 4.1074651997
+ -0.5263913334 0.2164774596 2.8845559743 2.9434831884
+ -0.0769586966 -0.0567339403 2.7654375052 2.7706074715
+ 0.1379027186 -0.1141707228 0.5065561166 0.5550954854
+ -0.8726849001 0.2137649406 2.6927923968 2.8813271659
+ -0.0918375192 -0.1729541914 1.5346804728 1.5534063283
+ -0.2203864170 -0.0817215438 2.9499468440 2.9625858217
+ -0.3551147278 0.3708696564 2.9889505888 3.0359440343
+ -1.0459156336 0.0040836953 2.6311543444 2.8348561089
+ -1.5283196276 0.7886132457 3.5044160488 3.9061596695
+ 0.1151987804 0.3441067308 6.1560094671 6.1682746814
+ -0.8178740981 0.8177424866 0.0176158427 1.1650797902
+ -0.0636272772 0.2193219190 0.0865768814 0.2442254920
+ -0.3471227420 0.5552574145 0.1029821892 0.6628803253
+ -0.0068387142 -0.1470876131 0.3060198320 0.3671640729
+ -0.0470609980 -0.0458981367 0.0811723593 0.1743276034
+ -0.1917391855 0.0990101391 -0.4748117059 0.5399007908
+ -0.4672032006 0.1536159150 -0.7743450150 0.9278828952
+ -0.0811736973 -0.1042054678 -0.4389334731 0.4583781654
+ -0.1017957626 -0.1055507787 -1.2583733674 1.2668886597
+ -0.0724376051 0.5138857828 -1.7119926685 1.7889227768
+ -0.0127717754 0.0411112357 -0.3423721493 0.3450680231
+ -0.2620316128 -0.0353048502 -0.6591978746 0.7238291383
+ -0.7342559869 0.5751432716 -1.1501172577 1.4873369250
+ 0.1816369233 -0.1777653324 -2.1507934724 2.1702499467
+ 0.0140842898 -0.0434922026 -0.0256150391 0.0524029497
+ -0.1630247878 -0.0488821470 -0.2199504020 0.2781091963
+ 0.2159666297 1.3728867402 -18.5819665179 18.6404018256
+ -0.4416353882 -0.2335946613 -17.7741681190 17.7880381595
+ -0.3401619610 -0.4440599956 -22.2200284321 22.2325483002
+ 0.5674328646 0.2606919689 -151.4983984006 151.4997496305
+ -0.0256828270 0.4543719973 -100.3340467302 100.3394779664
+ -0.0130984943 0.1238780061 -5.4761588003 5.4793532759
+ 0.0822611120 -0.3674394559 -5.3511531949 5.3661996743
+ -0.0504505120 -0.1856302933 -16.9289668270 16.9306349992
+ -0.0279085727 -0.1164727332 -2.2210426981 2.2286442600
+ 1.6550133296 -0.8691234076 -22.0829678949 22.1623869529
+ 0.3692557119 -0.0516618026 -4.5427017861 4.6535479833
+ -0.1410738018 -0.5215517757 -1.1836264478 1.3085753418
+ -0.0183550294 0.1334025852 -2.6645425280 2.8285529560
+ 0.0941597940 -0.0594795524 -0.1378777335 0.2255968489
+ 0.0473134594 -0.2092443407 -4.7923816861 4.8225081589
+ 0.8271538542 -0.4794459277 -7.8663026118 7.9254178730
+ 0.0308049354 -0.0262407001 203.8191809648 203.8191849818
+ 0.0796073783 -0.3185386069 632.0585518261 632.0586371063
+ -0.2305720301 -0.1609910715 1989.7929685798 1989.7932096682
+ -0.0433529407 -0.1098849443 131.1606952020 131.1608226562
+ -0.0631824116 -0.0915330261 3.8096788654 3.8138567297
+ 0.2140283746 -0.2389081709 27.4985053886 27.5164219267
+ 0.0355894741 0.0040200710 1.1278710227 1.1370380822
+ -0.1227579543 -0.2076378359 1.6487059451 1.6662575670
+ -0.0092478346 0.0196532264 0.0816583254 0.0844976560
+ 0.2082376013 -0.0030777195 0.6964310486 0.7401813030
+ 0.5884444653 0.1092300346 1.9713629418 2.0602111391
+ 0.1577740998 0.0516424744 0.8295784672 0.8460260310
+ 0.2926759906 -0.0564000436 2.0072887188 2.0340914399
+ 0.3493031772 0.7075012839 2.7635907752 2.8774093442
+ 0.2606424676 0.0934350716 0.5974011019 0.6730768678
+ -0.0324068858 -0.0716933180 0.2777851439 0.3206782018
+ 0.3028338049 -0.0324254342 -0.3105516234 0.4568170507
+ 0.9128661166 0.0777442689 -0.6865071179 1.1533171836
+ 0.5395256615 0.1282431076 -0.4480876633 0.7264960929
+ -0.1416095402 -0.1082945956 0.0023745992 0.5286417018
+ -0.8665977122 -0.5992301787 0.9870215181 1.5270741004
+ 0.1442774215 0.4169936783 0.2644565053 0.5330260127
+ -0.3742246649 -0.0199635701 0.2598724784 0.4769236143
+ -0.2527720173 0.1338598592 0.6529703801 0.7264036459
+ -0.4653704392 -0.4352536942 0.7776039675 1.0149695262
+ 0.1473823526 0.2192189738 0.0956411119 0.3136965469
+ 0.0795304379 -0.1216527421 -0.3353824838 0.3912616459
+ 0.1889208086 0.1134976468 -0.0547504575 0.2270911719
+ 0.1246812128 -0.0232633555 0.0173914436 0.1280197283
+ 0.1845456359 0.2767539105 -0.3017758669 0.4703172094
+ 0.0848930096 0.1624232976 -0.5064470382 0.5563780532
+ 0.5367276448 -0.1215767550 0.4429753584 0.7201141751
+ 0.1623548882 -0.0439059281 -0.4077965430 0.4411177402
+ 0.1297490429 0.0827963403 -0.4738791101 0.4982483909
+ -0.3478478681 -0.1094824218 -1.4229653124 1.4689502443
+ 0.3275759604 -0.0619942141 -6.6893387693 6.6990956291
+ -0.0022597869 -0.2273794071 -9.2593559368 9.2631991585
+ 0.1366049792 0.2523606889 -87.8565752950 87.8584534626
+ 0.4645161392 0.0934104213 -239.7622402709 239.7627084441
+ 0.0971414403 0.0826337496 -80.7544289236 80.7545296289
+ 0.0939573204 -0.1400171278 -139.8865610077 139.8866626356
+ -0.3259000090 -0.1677619538 -69.2592741428 69.2602440776
+ -0.2392295351 -0.1814690010 4.6364764567 4.6461893744
+ -0.0893186801 -0.2082737363 3.7969960523 3.8037527255
+ 0.0125904231 0.0087514016 0.2866231406 0.2870329781
+ -0.2559969967 -0.0542262326 11.0324076825 11.0355106008
+ 0.0009644919 0.1277702098 1.6587126177 1.6636266723
+ 0.0408683800 0.0689104745 3.3270573964 3.3280219045
+ 0.2633995307 0.0088436740 8.8404968536 8.8444243534
+ 0.5974361325 0.1783885440 16.9062108944 16.9177043127
+ -0.0270295059 -0.0418911001 1.4944879746 1.4953192852
+ 0.0249488222 -0.0273078852 0.1045874078 0.1109355227
+ -0.0773693609 -0.0736025356 0.1688530029 0.1997866058
+ -0.4770703865 -0.1029293424 1.0127160514 1.1241816597
+ -0.4337886522 -0.0028358280 2.2835984518 2.3244359586
+ -0.6219854735 -0.0202729755 4.2545215494 4.2997942435
+ -0.0038173430 -0.0162062591 0.1086233990 0.1098920277
+ -0.1932892211 0.2021088512 0.7365727582 0.7878757128
+ -0.0990586410 -0.0492853145 0.0839710917 0.1388985270
+ -0.6139530339 0.0362616713 0.5076970436 0.7975020532
+ -0.0628880433 0.1994148176 -0.1116331282 0.2370298099
+ -0.1619390098 0.1216449145 -0.1662816995 0.2620521545
+ -0.0382634389 0.2413640998 0.1251453102 0.2745579504
+ 0.0160740541 0.0376006803 -0.0296206312 0.0504932488
+ -0.0422933803 -0.0071904348 -0.0944327308 0.1037206489
+ 0.0600840858 0.1135342853 -0.2021810457 0.2395356060
+ 0.0271600890 -0.0055895242 -0.8427997340 0.8432557766
+ -0.0068810289 0.0093717095 -0.0011661760 0.0116849247
+ 0.0111172517 -0.0286059541 -11.6071491255 11.6071896993
+ -0.0118095396 0.0793317356 -5.7654622000 5.7660200632
+ 0.0064438112 0.0213396245 -1.4014557173 1.4016329868
+ 0.2120185137 -0.1867552518 -13.8803223296 13.8831976629
+ 0.2262978941 -0.2073692738 -2.7580412610 2.7750683505
+ 0.0395248568 -0.1501422983 -1.0809556671 1.0920485695
+ 0.0222802075 -0.0540982659 -0.0189633228 0.0615031514
+ 0.0185755522 0.0599987725 -0.1262324391 0.1409947961
+ -0.0048896778 0.0138864255 -0.0670563512 0.0686534486
+ 0.4535600814 -0.0091389501 -2.4343897781 2.4762984189
+ -0.0153727074 0.1055314174 4.5523233379 4.5557107851
+ 0.0851240322 -0.1094761844 2.2283632008 2.2326741120
+ 0.3804294898 -0.4211046710 5.6845440184 5.7128011026
+ 0.0039404872 0.0354900433 0.1713398336 0.1750211678
+ -0.0611617349 0.3471286594 0.5075539402 0.6179401801
+ 0.3571252576 -0.1056606841 -0.0045633337 0.3724559757
+ 0.0084261000 -0.0429391382 0.0086908299 0.0446127704
+ 0.0012857421 -0.0714624218 -0.0158866379 0.0732182773
+ 0.3341160423 -0.4300538334 -0.2733248635 0.6093326763
+ -0.2184034297 0.0135086664 -0.0493195402 0.2243099624
+ -0.0507886455 -0.0075605129 0.0573712055 0.0769941756
+ -0.0225136518 0.0962688089 0.0199552211 0.1721991400
+ -0.0516983653 -0.3739032857 0.1051091453 0.4159376219
+ -0.0054563615 -0.0077923311 -0.0639071514 0.0646112707
+ 0.3311188890 -0.2832191460 -0.6048696012 0.7454663224
+ 0.0447253877 0.0381528752 0.0752386264 0.0954822135
+ 0.3740579866 0.4357205843 0.2128131282 0.6124224298
+ -0.0196772643 0.0669149995 -0.1741041969 0.1875555471
+ -0.2169439031 0.0280849857 -0.5426696465 0.5851015029
+ -0.1276083777 -0.0348945017 -0.0960563367 0.1634880550
+ -0.0559296581 0.0836116204 -0.0802221741 0.1286647851
+ 0.1816977651 0.1657535405 -0.8403280867 0.8755795836
+ 0.1175327548 0.1368908195 -1.1620661147 1.1759892431
+ 0.0718481941 -0.1126042017 -0.6923306873 0.7050983263
+ 0.0282183295 0.0290090132 -0.5314909197 0.5330294501
+ 0.0344280690 0.1367449449 -21.8542400785 21.8546950077
+ 0.0668483309 0.1737489540 -12.9298244750 12.9311646170
+ -0.0474111991 0.0906996749 -16.6008405636 16.6011560342
+ 0.0457603527 -0.0144310197 -13.2939866196 13.2940732098
+ 0.0118344508 -0.0114579596 0.0098860163 0.0192112567
+ 0.0129232019 -0.0779379675 1.0831326396 1.0860099681
+ 0.0045451702 -0.0331871098 0.3288454797 0.3305471106
+ 0.1423345922 -0.1084272932 0.3982023751 0.4365555469
+ 0.1664433983 -0.1877712394 2.2912968601 2.3049951723
+ -0.0166366521 0.0061388556 0.0911397073 0.0928488556
+ 0.1562239676 0.0747468229 1.1616312901 1.1827341436
+ -0.2041257654 0.3799263403 2.4355919046 2.4774178216
+ 0.0085726273 0.2510258181 -90.1610473121 90.1615051985
+ 0.1779302075 0.4225690632 -55.5105256193 55.5125945897
+ 0.4039338021 -0.0390360447 29.9089157976 29.9263810227
+ 0.1066803599 -0.1067447791 4.4508974248 4.4556416842
+ -0.0562812811 0.0003622653 -2.9429701741 2.9468153903
+ -0.3736738183 -0.2112368471 -29.9858391721 29.9892361318
+ 0.1562463932 0.0052486027 -0.0188005144 0.1574609239
+ 0.1766624141 -0.0470864773 0.1178388124 0.2175148974
+ -0.0152206210 0.0990728214 -0.1031065999 0.1437986863
+ 0.0899580254 0.0142203191 -0.1026570936 0.1372338977
+ 0.0220188071 -0.0692366043 0.1510330259 0.1675992546
+ 0.1270289206 0.0246454779 0.4175375584 0.4371285382
+ 0.0461778066 -0.0572841603 0.0351547472 0.0815458220
+ 0.0672773548 0.0361242286 -0.0613810249 0.0979736320
+ -0.1356212796 -0.0879092012 -6.1407699502 6.1428964455
+ -0.0961168149 0.0208643146 -7.7482046363 7.7488288694
+ -0.0385117139 0.2647368197 -12.0006091307 12.0035906396
+ -0.0182642243 0.0420581511 -0.6645290926 0.6661091388
+#SUBSTART
+ -0.0799108353 -0.9455238996 2779.1584552750 2779.1587756510
+ 0.9206109935 -0.6259202699 -21.1638605615 21.1988663756
+ 0.0989462328 0.2293728293 -3.9692727930 3.9795739147
+ 1.8800296894 -0.6806842246 -23.8433067634 23.9274026974
+ 0.2719983479 -1.1647432499 -19.1545774821 19.1923924575
+ -0.1719675040 0.3950528715 -1.6234428973 1.6854335405
+ -0.6788119863 -2.4288268935 -28.5094443726 28.6211090632
+ -0.2642169144 -0.5302064976 -1.7526611869 1.8553249120
+ -0.1472174349 -0.7488612564 -1.0147150121 1.2773380505
+ 0.4125205041 0.5734020899 -1.3131016937 1.7616894658
+ -0.2614297700 0.1008168208 -0.1159766478 0.9872952566
+ 0.7368048413 0.0719889144 0.2141070921 0.7831892554
+ 0.1587919404 -0.9503792531 -0.7634560552 1.2372471613
+ -0.1221600489 0.3701228916 -0.1011386671 0.4261723212
+ -0.2983325165 0.0202834878 9.8486424101 9.8541692099
+ 0.5570105785 0.5883216753 288.5057910349 288.5084542859
+ -1.1001086686 0.0317730097 -333.3195640414 333.3214102052
+ -0.6670238582 -0.0570738974 -420.9775906017 420.9781460442
+ -0.2228359817 0.6395519502 -215.2271361404 215.2282469695
+ -0.0393600161 0.5494134211 -333.6672634838 333.6680832295
+ 0.2304138583 -0.0928085944 118.1788339942 118.1791774721
+ 0.1666920003 -0.2384955829 93.1262763521 93.1268355167
+ -0.5069387845 -0.0452023916 69.8677671670 69.8713643780
+ 0.3883285872 0.1209483080 23.5356182185 23.5443070289
+ 0.6115610613 -0.0391639572 0.8891500823 1.0888564648
+ -1.5049917253 -0.7867003230 1.7726374751 2.6280204913
+ 0.6449101219 -0.7816797148 0.9125459630 1.6553014738
+ 0.1385533279 -0.1256206822 0.1682968578 0.2877172183
+ 0.1227710073 0.0840671586 -0.2434915720 0.3176600981
+ -0.1803515573 -1.0866665437 1.4729945366 1.8446039009
+ 0.0661100132 -0.1664739812 11.2443419105 11.2466345591
+ 1.7636245714 -0.7094415418 44.4700462106 44.5108769706
+ 0.1989259961 -0.4427521816 70.2892545898 70.2910690744
+ -0.4541332506 0.6216566067 44.7101802665 44.7170257642
+ 0.3128294777 -0.0321348846 0.4516536975 0.5677726484
+ 0.4413222625 0.6003184411 -20.3002008110 20.3143491237
+ 0.2412124939 -0.2402749072 -81.2277963088 81.2286297340
+ -0.1422386869 -0.0991655084 -151.2852458679 151.2854096161
+ 0.7369303548 0.6728819731 -2866.2023657756 2866.2026934964
+ 0.3880992057 0.0406014380 -10.8638992844 10.8718009969
+ -0.1495814528 -0.3184974964 -27.9643678341 27.9669298174
+ 0.2525252797 -0.2992691960 -4.6880938371 4.7064885721
+ -0.0402013889 0.0003581829 -1.3603103458 1.3680425073
+ -0.1461553154 -0.8807085459 -9.8486305494 9.8899955714
+ 0.1103672695 0.1888951222 -2.8344956547 2.8463498912
+ -0.0077301276 0.0070167693 -0.0160419832 0.0191398838
+ -0.4959795548 -0.1957474697 -3.4842598391 3.5248233171
+ -1.2019346657 -0.9174859801 -11.2544119828 11.3942339425
+ -0.4266884666 -0.3193275713 -6.1626244067 6.1872007005
+ -0.5499778730 -1.3540484181 -12.9981909229 13.1137043066
+ -0.0635058872 0.0105776156 -0.3076033124 0.3438669312
+ -0.3642963845 -0.1779341167 -1.8549966664 1.9039077769
+ -0.0277460430 0.0434793027 -0.1937959329 0.2005421559
+ -0.3187950271 0.3387944074 -0.7079097763 0.8470821514
+ 0.2880289865 -0.0661064257 -0.0344827102 0.5763339083
+ 0.6643163420 0.1408241044 0.2010347024 0.7218326448
+ 0.4747983722 0.3482570767 0.2531617925 0.6559627763
+ -0.2794264151 0.0733491864 -0.2427439299 0.4023227871
+ 0.3238565663 0.3861667927 0.1042259359 0.5332454388
+ 0.3747555465 0.0803009658 0.0502173854 0.4109641535
+ 0.2902554824 0.6463922375 1.2210180813 1.4186035773
+ -0.5110313129 0.2632622922 -0.8084714962 1.0017814045
+ -0.0116068776 0.3964015392 -0.1808842256 0.4358761326
+ -0.0286978438 0.0088087966 -0.0008588793 0.0300316302
+ -0.5092992279 -0.5508714441 -0.5713926760 0.9533175895
+ -0.1321754785 0.1342725956 5.9677137505 5.9723183672
+ 0.1465787494 -0.0444265728 65.1656470939 65.1659765522
+ 0.1356401684 -0.0529533204 19.6396925445 19.6407282283
+ 0.6284830891 1.5371217325 317.9857341237 317.9914545880
+ 0.1852583370 -0.0795923850 -11.2846444135 11.2864456380
+ 0.4262631396 -0.1796548485 -85.8724997781 85.8738590844
+ -1.0928848583 0.4646397112 -75.5030259832 75.5124936668
+ -0.2150613753 0.0248481537 -33.2981866669 33.2991829316
+ 0.2658471799 0.4482778332 -67.6668890024 67.6688960675
+ 0.0233390639 -0.0045920856 -4.4716017027 4.4716649681
+ 0.7134918384 0.1737064953 -132.6093495593 132.6114561977
+ -0.1149350539 0.1887568768 -330.2631191304 330.2632225616
+ 0.0688286058 -0.1418063151 251.8699828150 251.8705158024
+ -0.0364345314 -0.2282604204 336.3064911921 336.3065995904
+ -0.1220050853 -0.2144828032 49.2263628202 49.2294558733
+ 0.2823307230 -0.1144488812 52.0267488879 52.0278280232
+ -0.2189554070 0.1809468045 0.8768051643 0.9321750358
+ 0.0930259137 -0.1570687620 1.3891064494 1.4079847049
+ -0.6570073663 0.1990448690 13.0254507554 13.0772319515
+ -0.1680191081 -0.0809235097 0.9039187975 0.9334495233
+ -0.0767064702 0.1705495426 1.8810198357 1.8954383230
+ -0.2949964308 -0.3913331538 0.4297666345 0.6665910864
+ -0.0553091196 0.0731885402 0.3993957218 0.4329115252
+ -0.2015971165 -0.2296847072 1.1696262190 1.2169230622
+ 0.4002530472 -0.6474377991 0.4407174080 0.8905559074
+ -0.1440235733 -0.8704552900 0.4647400615 1.0069251766
+ -0.0854034983 -0.1712295631 0.3257331481 0.4027346390
+ 0.3127265734 -0.5791176120 0.6646066838 0.9457044714
+ 0.0731159930 -0.0860281270 0.0906140103 0.2010907030
+ -0.0680747921 0.1832607360 0.2968064692 0.3818278928
+ 0.0848716533 -0.1495416066 5.6217148731 5.6243438732
+ 0.4273409205 -0.6492938636 6.3515674934 6.3989540088
+ -0.0564082277 0.5178513292 3.0930877546 3.1397489597
+ 0.3858638780 0.0818409207 4.3403522358 4.3604731606
+ 0.1362416054 0.0721612747 1.7915199739 1.7981414965
+ 0.1677065325 -0.0598861856 1.8433317541 1.8519135488
+ 0.1606888923 -0.2716750238 36.0513707817 36.0530226647
+ 0.2206733591 0.0829757962 66.0367585106 66.0373268394
+ 0.0736080783 0.0449905902 6.5713328280 6.5718990740
+ 0.8382525396 0.4653913276 45.9488278966 45.9588298533
+ -1.0644723654 0.3192295631 102.1551941260 102.1613340537
+ 0.4213528730 -0.6006837482 44.7254184478 44.7316542766
+ -0.0368627276 0.1157488682 29.8168302320 29.8174043393
+ -0.1439645912 -0.0798302692 21.4231433668 21.4237758201
+ -0.4640050805 -0.0856268113 87.9686619861 87.9699273860
+ -0.6053471397 0.2432703678 34.6275273661 34.6339538156
+ -0.2338232311 -0.0609424090 8.6780302195 8.6825155085
+ 0.0942800261 0.7037099875 18.9028191092 18.9166631976
+ -0.8227535215 -0.1059587418 40.2949115459 40.3143998950
+ -0.7489089332 0.1100931653 29.4015316832 29.4154158796
+ -0.7271755111 -0.2309875392 15.3448359927 15.3644268001
+ 0.1193783781 0.0134494735 0.5693574096 0.5983976356
+ -0.3904781613 -0.2296288581 0.6488968677 0.8035854259
+ -0.2776178911 -0.0283060508 0.3227889573 0.4489381047
+ 0.2218796029 -0.0455508355 -0.0296894448 0.2677063406
+ -0.1134476473 0.2661843714 -0.0886696369 0.3332665264
+ -0.1108571409 0.1143393419 -0.0060437214 0.1593716328
+ 0.0324535745 0.0888906491 0.0233734656 0.0974735908
+ -0.8159829411 0.1671532106 -0.3659836481 0.9097870007
+ -0.1077221596 0.3317448940 -0.2065456203 0.4053638262
+ 0.0054873597 0.0630309091 -0.0198947794 0.0663235167
+ 0.2371322143 0.3260399460 -0.4446520137 0.6002075864
+ -0.0353798222 0.3723894946 -0.6000737409 0.7207592850
+ -0.3279717163 0.0506917039 -0.4186434679 0.5521568922
+ -0.0365174917 -0.1609858339 -0.2292479789 0.2824970827
+ -0.1585435001 -0.1482394811 -0.1727435157 0.2774009867
+ 0.0770765184 0.3138724596 -0.4334561709 0.5406856413
+ 0.0740953736 0.3099059312 -0.6942321252 0.7638652069
+ -0.6434029687 0.4412526157 -1.4654223405 1.6601608016
+ -0.5038128901 0.0022414855 -1.8709649161 1.9376124922
+ 0.1713137528 0.4417987748 -0.6664273937 0.8177163508
+ 0.1327035161 0.6070688632 -1.1005528513 1.2638668468
+ 0.2221577460 0.1015578121 -15.2335032940 15.2354616162
+ -0.1104588418 -0.0004082762 -34.4037375258 34.4041979539
+ 0.5070705066 -0.0572918686 -47.7853747099 47.7883031589
+ 0.2523656975 0.2498832584 -122.2020341498 122.2061621696
+ 0.3752695801 0.2230778764 -200.1358290802 200.1385106980
+ 0.0412018538 -0.2130877438 -89.4451508143 89.4455230180
+ -0.4046127874 0.1168170630 -3.7425999970 3.7688051497
+ 0.0173224392 -0.0781860199 -2.6694834421 2.6743288417
+ -0.0039970851 -0.1184762703 -1.6976667817 1.7018005479
+ 0.2153864448 -0.3052401230 -4.9590799203 4.9731314591
+ 0.0340432783 -0.0145367706 -0.9573335118 0.9580489107
+ 0.0248734174 -0.2348326471 -2.2676924767 2.2799548741
+ 0.0429530787 -0.1000636099 -2.5905802710 2.5928678782
+ 0.2631993921 -0.1558223389 -4.8749697336 4.8845557039
+ -0.0048911180 -0.0186228310 -1.0456701768 1.0458474322
+ 0.2406553761 0.0871500153 -6.6811927915 6.6860935720
+ -0.3499602329 -0.7175420980 -5.4171899247 5.4756995450
+ -0.1016750115 -0.0862186957 -0.9512210787 0.9605170545
+ -0.1301707423 -0.4549447088 -1.6743581572 1.7399409038
+ -0.1411654775 -0.2017079647 -1.0895526349 1.1170222644
+ 0.4457023104 1.5874126373 1.4438650717 2.2474321358
+ 0.0092373177 0.0563992149 0.2939289063 0.2994334675
+ -0.0852576752 0.0697392184 0.1388864120 0.1772621369
+ 0.4026282448 1.3468360272 0.8739855515 1.6611463863
+ 0.3564036213 0.0633905346 0.2359817474 0.4541024897
+ 0.0089254977 0.0631119586 0.0682260786 0.0933679904
+ 0.2013344182 0.3613057148 0.0833209565 0.4219238666
+ 0.1330416143 0.3451070868 -0.5880604058 0.8545697410
+ 0.0172731545 0.3584073418 -0.0297852795 0.3600574223
+ -0.0035898507 -0.0067907924 0.0152830765 0.0171048039
+ 0.0557006260 0.0871143528 -0.8691871914 0.8753158538
+ 0.0633957964 -0.0292576360 -0.2431137281 0.2529413392
+ 0.0025349339 0.0448095923 -0.0889181418 0.0996030190
+ -0.0261714137 0.1762920434 -0.0093697504 0.1784702208
+ 0.3543394371 0.1667147710 2.4879143839 2.5185448642
+ 0.1965890554 0.1876294963 2.2457706121 2.2621533384
+ -0.0909742670 0.1833930937 19.0328598254 19.0339607669
+ -0.0280687453 0.0832697482 21.3364989993 21.3366799492
+ 0.0821457670 -0.0305187131 4.4965119234 4.4973657619
+ -0.0289164112 0.0405384991 5.1769241553 5.1771636287
+ 0.0267417808 0.2807673724 -43.6815706084 43.6824811138
+ 0.1097720716 0.1703091814 -42.6622752050 42.6627563665
+ 0.0040856809 0.1371818239 -10.5501208037 10.5510134356
+ -0.0419821364 0.0746048048 -19.2261285348 19.2263191176
+ -0.1571306479 -0.6331822160 -232.2231121386 232.2240285180
+ 0.0245948174 -0.0726385924 -33.9904999742 33.9905864875
+ 0.0835080533 -0.0411652288 -77.9257446910 77.9258003091
+ 0.0925292911 0.0999769912 -105.4975726390 105.4976605892
+ -0.0428097952 -0.2354149965 -391.2767293430 391.2771190009
+ -0.0723368913 -0.0545505226 83.8887718639 83.8888207881
+ -0.0138969202 -0.2226353690 132.1371650631 132.1373533508
+ -0.2138015673 -0.1509608617 2.3268186182 2.5229698688
+ 0.3622205292 0.4128540894 1.2262726042 1.3436505166
+ 0.0075634036 0.0578611248 0.0748489629 0.0949077557
+ 0.0240375957 -0.1985177758 0.3501757996 0.4032495554
+ -0.0047318279 -0.0857233793 0.3634152196 0.3734190273
+ -0.0039338748 -0.0336301753 0.1449557498 0.1488586361
+ -0.2613091544 -0.1916906165 0.0840059529 0.3347906312
+ -0.0021070413 -0.0123330385 0.0457025608 0.0473842540
+ -0.2635863447 0.2562528666 2.1336111161 2.1695436092
+ -0.2129196626 -0.1481752280 2.2503469389 2.2695444061
+ 0.0026227545 -0.1581032268 0.0193982628 0.1593103944
+ 0.0547292786 -0.0316933816 0.0758740410 0.0987756775
+ -0.0083738512 -0.1402749299 0.0395162228 0.1459750294
+ 0.1644861172 -0.6735558540 0.4329699238 0.8174326431
+ 0.0086328734 0.0281334747 0.3542626270 0.3554828094
+ 0.1935499165 0.0611291808 0.6060826855 0.6391670897
+ 0.1652150214 -0.0973653132 10.3685982044 10.3703714847
+ 0.1644037048 -0.0753690236 19.7503813147 19.7512093590
+ -0.0131488860 -0.0035294431 0.0514945953 0.0532639045
+ 0.0115789246 0.0888776940 4.8605690306 4.8613953365
+ -0.1493534648 0.1615105664 17.0778843606 17.0793011085
+ -0.0144510465 0.1360450618 6.7497157594 6.7511021266
+ -0.0405016547 0.0832403075 5.9354938856 5.9362157137
+ -0.2191942739 0.0330186113 16.4311650853 16.4326602356
+ 0.0380413109 0.0558848526 0.6765287670 0.6798981031
+ 0.0935757232 -0.0233103885 3.0678403600 3.0693556758
+ -0.0914750333 0.6898058757 9.7089054984 9.7789261372
+ -0.0639123368 0.0275961699 0.8607485362 0.8747652044
+ 0.0410981851 -0.0095704130 0.4310256363 0.4330863109
+ -0.7075040229 0.0546515489 0.7821227770 1.0560609700
+ -0.0939281609 0.1255094994 0.0280497288 0.1592542657
+ 0.0327700087 0.1612413466 -0.0022568297 0.1645531483
+ -0.1497038515 0.2423153700 -0.2029323316 0.3497277697
+ -0.0683450386 0.0641843072 0.0095354096 0.0942422073
+ -0.3130310851 0.3835024487 -17.6822710529 17.6891993086
+ -0.1867396630 0.4353485971 -16.7091717222 16.7158852516
+ 0.0290550015 0.3418836569 -48.2399611685 48.2411813928
+ -0.0477831894 0.0553136116 -7.2413867307 7.2417556305
+ -0.0892831778 0.1584026457 -3.2532855841 3.2583630823
+ -0.0155788244 -0.0190807147 -1.3260187944 1.3262475699
+ -0.0333814551 -0.0827739741 -4.9503152751 4.9511197900
+ 0.0036968710 0.0520286306 -2.6113932687 2.6119141351
+ 0.0579793025 0.0762842827 -4.5846119603 4.5856131235
+ 0.0312644996 -0.0438184656 -1.0107953343 1.0122276102
+ -0.1467479272 -0.0512067586 0.5495087533 0.5710665077
+ 0.0124921620 -0.0524702446 0.0993536796 0.1130501408
+ 0.1880413720 -0.3179714008 1.0837835413 1.1534868523
+ 0.0935552445 -0.0133970296 1.6702850763 1.6787686217
+ 0.2678279762 0.8570988359 -0.0111913703 0.8980398021
+ 0.1940917722 0.3772493212 -0.0627191283 0.4288616973
+ 0.1870214831 0.2998829157 0.0484846952 0.3567317815
+ 0.1826713842 0.1297990004 0.0947431530 0.2432958695
+ -0.2459194989 0.2206222223 702.9726837095 702.9727613445
+ -0.0325734456 0.0890530233 360.7484548306 360.7484672929
+ -0.0583974132 -0.0800890923 204.5949041748 204.5949281845
+ 0.0488220524 -0.0115910783 41.6286833172 41.6287135601
+#SUBSTART
+ 0.3427342115 0.2873884881 2762.8243896279 2762.8244293587
+ 1.0465573566 -0.4282709796 1372.3460670936 1372.3468537204
+ -0.4049533038 -0.2280589205 117.9630390915 117.9640371874
+ 0.1406675994 0.7590017056 9.5514344989 9.6285286381
+ -0.2947323301 0.5278422044 34.5648395732 34.5704078519
+ -0.0072282568 -0.6129783650 28.7257555942 28.7476541820
+ -0.3835839675 0.1330811641 29.3149578793 29.3219242834
+ -0.6737165377 0.2501334482 0.5026629304 0.8880374550
+ 0.0867214777 -0.7347657130 1.9891858624 2.1269088950
+ 0.0950660433 -0.6542487503 -0.2752857329 0.7296170224
+ -0.3646744434 -0.1687797384 -0.2261958697 0.6754847010
+ 0.4131002042 -0.0021718445 173.8803304556 173.8808771994
+ -0.0114398907 -0.1086356575 -4.5226852397 4.5261566631
+ -0.1713059709 0.0458797677 -0.7004706274 1.1852854397
+ 0.5511135102 -0.6288120983 0.4331458441 0.9519589610
+ -0.7412514169 0.3715097812 -0.6026648909 1.0344843818
+ -0.0055642603 0.0639107617 -3.7544941414 3.7576351059
+ -0.0076013747 0.5501336846 -6.5333900406 6.5580004619
+ -0.1292389870 0.3074533973 -82.3183330486 82.3191269754
+ -0.5647502607 0.6666143574 -3630.1680758661 3630.1683025924
+ 0.0135314117 -0.1293240441 4.7737003294 4.7775100656
+ 0.0399682861 -0.8301912176 195.8459402520 195.8477536452
+ 0.0751585002 -0.0331918544 67.9440444530 67.9442374813
+ 0.0601631722 -0.1563285828 21.4217371095 21.4228466551
+ 0.0036633105 0.0002991783 0.0077965673 0.0086195019
+ 0.1343139684 0.2113779413 11.7166121311 11.7192884045
+ 0.5462683293 -0.7672930528 224.1963710439 224.1983495412
+ 0.2376151702 -0.2169606531 86.6660072011 86.6666045088
+ -0.0665840117 -0.5116262837 31.0658373513 31.0704349021
+ -0.0064568486 -0.2779312608 4.2928681454 4.3041240892
+ -0.0374937103 -0.1482495408 3.5187978215 3.5248832035
+ 0.2149157902 -0.0323557191 11.5483142507 11.5512024269
+ -0.0725197457 -0.3839567041 5.0402294422 5.0572793554
+ -0.0414612402 -0.0386137258 1.1294620361 1.1394622987
+ -0.6074297295 0.3728556960 13.5657629626 13.6168376504
+ -0.1392136894 0.1499072624 1.9494595406 1.9651272030
+ 0.2359151935 0.0180823702 2.7768447582 2.8302810323
+ 0.2891581607 0.4921904312 1.5835325456 1.6890586048
+ -0.5096402479 0.2400293043 2.5433040239 2.6520592067
+ 0.0533709949 0.1155201600 0.5910193115 0.6204651335
+ -0.8577368601 -0.9297966826 32.6544510480 32.6792424548
+ -0.3927584470 -0.1691945428 25.8210899445 25.8250082613
+ -0.3476691479 -0.5482953623 24.2035252187 24.2304545240
+ 0.0860945911 -0.2593578041 9.6511684431 9.6560453008
+ 0.0361075568 0.1417067236 2.0100517089 2.0153640921
+ 0.1465597713 0.0717938683 2.8626581563 2.8673063746
+ 0.1252003006 0.6900336264 -0.3883436150 0.8016434895
+ 0.0299439992 0.6179076553 -0.4586229502 0.7700918932
+ -0.4770738066 0.9051244713 -4.8239310311 4.9332180272
+ 0.1203637682 0.6497040176 -32.4559226333 32.4629480564
+ 0.1408993573 -0.1673386530 -7.0308075960 7.0355945087
+ -0.5401134941 -0.4292467222 -29.6165226010 29.6248859254
+ 0.2585860397 -0.1157496748 -10.7260011637 10.7306498161
+ 0.1838214949 0.2133291042 -44.2075345523 44.2086517621
+ -0.5207070431 0.6081982910 -61.9552474730 61.9605778718
+ 0.1216784498 0.5142957916 -161.9051122605 161.9060349761
+ 0.2256764769 0.0193052124 -61.1283016153 61.1288805780
+ 0.4364724401 0.4316447473 -175.8258707616 175.8269977399
+ -0.5882204236 0.4931288276 -320.7240592466 320.7250081280
+ -0.1428541720 1.4820730802 212.8157499015 212.8209584464
+ -0.0815200037 0.6768592211 111.1660382357 111.1681287103
+ 0.1628578095 0.1792924676 75.7420813072 75.7440769312
+ -0.2835980228 2.8900214398 519.7906022510 519.7989520148
+ 0.2472015518 0.0089663126 1.5132484796 1.5396719611
+ 0.2657238644 0.1711112786 13.3785032891 13.3829637331
+ 0.1428619587 -0.4320135728 1.7257279610 1.8517081902
+ 0.3817806870 -0.1416244033 0.1578497596 0.4584869639
+ 0.0480934351 -0.2527893561 -1.4577980112 1.4868995472
+ 0.4918018433 -0.3951184888 -0.7161098638 0.9645106506
+ -0.1104938824 0.1069748430 -1.0200889624 1.0410157498
+ 0.5654201214 0.5509289637 -5.7554153195 5.8109816659
+ 0.1305022814 0.1181095347 -1.3848426156 1.4029431786
+ -0.2272103374 0.0341552564 -5.6427970274 5.7250974835
+ 0.0515448338 0.0099387214 -0.3586079392 0.3624297202
+ 0.9811697586 0.8393341779 -8.0927383541 8.1950954860
+ -0.1593149826 -0.0361199851 0.1224563730 0.2041604278
+ -0.0438614263 0.0444819997 -0.0122131777 0.0636524526
+ -0.2668638836 -0.1822766879 -0.2104829599 0.4101511729
+ 0.0771582264 0.4775604939 0.1794423975 0.5345061049
+ 0.1403523728 -0.6434188758 1.6553018928 1.7869501334
+ 0.0300196911 -0.0503811116 0.8014616892 0.8156347604
+ 0.2174349022 0.2344617884 0.9796916563 1.0399643231
+ 0.3148802613 -0.6046272522 0.9073756026 1.1434745131
+ 0.1003237111 0.1924448242 1.0528942689 1.0840507293
+ -0.0807484241 -0.2164112780 0.4533342857 0.5275849777
+ 0.0725321981 -0.3184870228 2.1707370469 2.1996076958
+ 0.4812598898 0.0212726595 1.1488614687 1.2535653420
+ 0.0811839514 -0.2410980898 0.6376188082 0.7005402575
+ 0.2318856645 -0.0148910504 1.6584630061 1.6804678016
+ 0.5384749661 -0.2799051100 -0.2720583012 0.6650698301
+ 0.0119727992 -0.0193939310 -0.0439995497 0.0495523244
+ 0.3047328089 -0.1252600471 0.4576335660 0.5809134444
+ 0.1285182994 -0.0496845313 -0.1056782644 0.1736473481
+ 0.1058940959 0.0818613694 -0.1293171045 0.1861122158
+ 0.1922488996 -0.0931589461 -1.0417465688 1.0725455362
+ 0.2369662934 -0.0107733493 -2.6218928897 2.6362987690
+ -0.0545904104 -0.3278539586 -1.1594864781 1.2142310360
+ -0.3647731938 -0.1909646722 -7.7591338001 7.7713038868
+ 0.3931371315 0.0125474283 -8.2510921943 8.2616412671
+ -0.4145396482 -0.2454427565 -6.8849141765 6.9031592962
+ 0.3446552950 -0.0876780193 -66.4679284674 66.4690263901
+ 0.2608514254 0.2922587610 -162.2666308947 162.2671637774
+ -0.6254716219 -0.1058668316 -1077.0937460814 1077.0939328908
+ -0.2075903843 0.0304796577 -434.3625551762 434.3626058513
+ -0.0824102021 0.0022395463 13.1874797046 13.1877373881
+ 0.2074576996 -0.1332647366 21.6038392085 21.6056970848
+ -0.0213761632 -0.3170262685 29.8895436326 29.8915583560
+ -0.2092413002 0.3556256842 27.5733176639 27.5767579372
+ 0.3029471678 0.2985969581 40.2698706199 40.2751419343
+ -0.1339462321 0.0455984883 45.3205277032 45.3207485829
+ -0.1761968469 -0.0889598286 50.3563529119 50.3567397452
+ 0.0436770341 0.0221419026 5.6511523214 5.6513644818
+ -0.0947974411 -0.0093641351 8.9655865321 8.9660925774
+ -0.0890158372 0.0194841588 6.4086548962 6.4093026946
+ -0.3272842509 0.1673654757 13.1167291415 13.1218790405
+ -0.0501883010 -0.0885686251 3.0052793106 3.0102403204
+ -0.2475447530 -0.3097018602 5.0392358485 5.0567352481
+ 0.0066214608 0.0291068650 0.5052564152 0.5250284595
+ -0.6938998983 0.0725432815 2.7361080483 2.8271056990
+ -0.0628685198 -0.5174622376 6.2236129485 6.2652017669
+ -0.7006467615 -0.1821782765 30.8319504413 30.8404484861
+ -0.0800648665 -0.0673931008 5.5141975970 5.5151905998
+ -0.0128072372 0.0080912000 1.6543627836 1.6544321420
+ -0.0025915817 0.4904418360 16.6370961923 16.6443236457
+ 0.0091144927 -0.0148645155 -0.0760029034 0.0779773629
+ -0.3412189236 -0.0355960977 -2.3030656386 2.3284777799
+ 0.0047467969 0.0154538321 -0.2452425122 0.2457747806
+ 0.2845936248 -0.1741846432 -12.5476440857 12.5520797449
+ 0.0550366518 -0.0441084759 -1.1070785442 1.1093229889
+ 0.1820670968 -0.1210783993 -9.6827846751 9.6852530928
+ 0.0975800613 -0.2681382807 -5.4022090284 5.4097395864
+ 0.1038570456 -0.1042221137 -4.5627087742 4.5650804914
+ 0.0422596223 0.0146128360 -11.8087477701 11.8088324278
+ -0.0784397008 -0.0652366207 -19.0159417908 19.0162154698
+ -0.1712985220 -0.1714715574 -39.1960108407 39.1967602169
+ 0.0155100131 0.0080834741 -5.2325022558 5.2325314868
+ -0.1147190137 -0.0360883320 -185.8909256974 185.8909645988
+ -0.1390297075 -0.0587886196 -89.3382468582 89.3383743811
+ 0.1362506460 -0.1939444686 30.3942750815 30.3951992332
+ 0.2098800095 -0.1142238662 42.8698202849 42.8704862110
+ -0.1388015284 -0.0948561030 1.2602362705 1.2714004098
+ -0.2248510597 -0.4056508198 4.0250631725 4.0516964508
+ 0.0202840276 0.0946512183 0.2940661778 0.3095887786
+ 0.0583348137 -0.0291710259 0.1006695875 0.1199510945
+ -0.0589899313 0.2391889050 2.9471694973 2.9607395993
+ -0.2697911233 -0.0689611315 1.7951036416 1.8219274840
+ 0.0733009520 0.0841871611 -0.0039237243 0.1116955830
+ 0.0362333111 -0.0455633696 0.0382431592 0.0696520833
+ 0.1166956992 0.1791022221 0.2512425902 0.3581872642
+ -0.4251776354 -0.1226755490 -0.0640302909 0.4684068478
+ 0.0720900098 0.1404923506 0.0908089744 0.1821574591
+ 0.0800513601 -0.0096068133 0.0158023017 0.0821597459
+ -0.0373019302 0.0916613970 -0.1485613773 0.1785041414
+ 0.0159376039 0.0551413597 -0.4304732849 0.4342831171
+ 0.2066508512 -0.2607917259 -2.6981813421 2.7186208734
+ 0.2364492994 -0.5970589968 -5.2317123587 5.2709773213
+ -0.1827887545 0.2479164978 -1.8725420573 1.8977060033
+ -0.0537564085 -0.0086480478 -0.3482564110 0.3524869756
+ 0.0507230632 -0.3823314884 -1.7225905288 1.7652388864
+ -0.0483935838 -0.3133642977 -1.0821785803 1.1276744219
+ 0.1131097588 0.0096459835 -2.1215891342 2.1246240413
+ 0.0086919002 0.0326179450 -0.1180909900 0.1228208508
+ -0.0439283255 0.0220218133 -0.7374281948 0.7390635971
+ 0.0851148553 0.0533067654 -0.6830113680 0.6903554727
+ -0.0842071091 0.0711040218 -2.1416604532 2.1444943730
+ -0.0835172712 -0.0129094788 -0.5581162232 0.5644780845
+ -0.2208879358 -0.0670857942 -2.4172156039 2.4282140061
+ -0.1180377049 0.0552859175 -1.0069895168 1.0153902301
+ 0.1894842872 0.1628532498 -0.4709752189 0.7293274723
+ 0.0785562627 0.0253139280 -0.0001404834 0.0825342419
+ 0.0458788235 0.0219675309 0.1522494246 0.1605220426
+ -0.1480473798 -0.1666027673 1.4340161584 1.4512328728
+ 0.0136466306 -0.0249319988 0.0532024320 0.0603186029
+ 0.4157891803 0.0936957899 -0.2568511504 0.4976264231
+ 0.1418266638 -0.0063315000 -0.0135554893 0.1426136099
+ -0.0768947985 -0.0490942044 -0.1424559040 0.1691648176
+ -0.1721282834 -0.2010473298 -0.1179303654 0.2897511792
+ -0.0494563696 -0.0116687747 0.0278507586 0.0579461608
+ 0.0308970720 -0.1586086937 -0.0024388011 0.1616084605
+ 0.0152581226 -0.0065457632 -0.0532151055 0.0557449977
+ -0.0675980383 -0.0769179437 0.0443643123 0.1115977466
+ -0.0245777935 0.0627860972 -0.3272350135 0.3341091378
+ -0.0116127410 0.1533383779 -2.5413722056 2.5460204637
+ -0.4364987732 -0.2620297104 -1.8384191061 1.9076099072
+ -0.1477212750 -0.0334517068 -0.7969918973 0.8112562333
+ 0.2555346523 0.1467234791 -2.2179506139 2.2374384156
+ 0.0189246958 0.0865547516 -0.5433150685 0.5504917190
+ 0.0061125039 0.1482128240 -1.0065901670 1.0174616298
+ 0.1248818754 0.2111566166 -2.7734620258 2.7842906113
+ -0.1137481023 -0.0841268217 -4.7668489513 4.7689479843
+ -0.0333541496 -0.0105385165 -6.3510020684 6.3510983958
+ 0.1344632671 -0.5925017327 -119.4295122208 119.4310576357
+ -0.0200196144 -0.0166389467 -6.5099358614 6.5099879078
+ -0.2741378513 -0.0863519961 23.4493082217 23.4514849016
+ 0.0798598960 0.7685933964 75.8384504232 75.8425154896
+ 0.1287150171 0.1050110676 9.0119864887 9.0135173685
+ 0.1527709096 -0.0231235240 6.6634423898 6.6652335391
+ -0.0994405619 -0.0826650556 8.4563471291 8.4573357924
+ -0.0129514207 -0.2067113393 17.0224417157 17.0237016915
+ 0.5854429357 0.3174027102 45.1473895113 45.1523008007
+ 0.1657956342 0.1233707429 10.0405523070 10.0426788838
+ 0.0927732778 -0.4370027253 19.7725632122 19.7776094168
+ -0.0169854937 -0.1484712213 9.9546088997 9.9557305385
+ -0.0329998175 -0.0109685452 0.5130544509 0.5142316273
+ -0.0180198979 -0.3352944341 8.4573842745 8.4640472495
+ 0.0437357113 -0.0158949013 1.3931397333 1.3939167037
+ 0.0594454805 -0.3656573142 13.2904491123 13.2956111798
+ -0.0645067407 -0.0552828763 3.6764747038 3.6774561267
+ -0.0155775810 -0.0752306551 0.8029314467 0.8065985499
+ 0.0020224904 -0.2202271194 4.6949328940 4.7000956324
+ 0.0210268069 -0.0032647372 0.1136161000 0.1155915365
+ -0.1276892243 0.0937364327 1.0290871968 1.0412067592
+ 0.0230400538 0.0079552397 0.0455686626 0.0516781668
+ -0.4990637786 -0.1258269654 5.8157914437 5.8385209769
+ -0.0599863419 -0.0479550568 0.5119618738 0.5176900703
+ -0.1078217834 -0.0623841040 -0.0802077441 0.1481573340
+ 0.0329858889 0.0117336586 -0.0445429971 0.0566553281
+ -0.0042120079 -0.0089249911 0.0043292746 0.0107767850
+ 0.4437854217 -0.2434170862 -0.4643758283 0.6869077727
+ 0.2447013372 0.1179531108 0.1646735685 0.3469709640
+ -0.1132821072 -0.1006947007 0.1712834942 0.2679367068
+ 0.1788045206 0.1699117647 0.2930191933 0.4076531576
+ 0.0270992065 -0.2055747302 0.3842812565 0.4584181559
+ 0.0602935964 0.0890158741 0.0768323141 0.1321451781
+ 0.0696528691 0.1329862982 -0.0533073905 0.1593064831
+ 0.0000162854 -0.0528588383 -0.1152939303 0.1268335422
+ 0.0792675213 -0.1091156129 -0.0211254001 0.1365131475
+ 0.0130367070 -0.0499796049 2.1010759148 2.1017107119
+ -0.1864807060 -0.2650042297 24.2045509852 24.2067199490
+ -0.1637107915 0.0068238561 8.1876677980 8.1893071599
+ -0.1285508721 -0.0069016616 2.6288597266 2.6320099586
+#END
Index: tags/siscone-3.0.2/examples/events/midpoint-irunsafety.dat
===================================================================
--- tags/siscone-3.0.2/examples/events/midpoint-irunsafety.dat (revision 0)
+++ tags/siscone-3.0.2/examples/events/midpoint-irunsafety.dat (revision 398)
@@ -0,0 +1,4 @@
+# R=0.7 is assumed
+400.0 0.0 0.0 400.0
+110.0 0.0 73.97603280415951055 132.5611309149182127
+90.0 0.0 216.1315626191298955 234.1214478858929349
Index: tags/siscone-3.0.2/examples/events/two-collinear.dat
===================================================================
--- tags/siscone-3.0.2/examples/events/two-collinear.dat (revision 0)
+++ tags/siscone-3.0.2/examples/events/two-collinear.dat (revision 398)
@@ -0,0 +1,2 @@
+ -0.8807412236 -1.2331262152 -157.4313156510 157.4393822839
+ -0.8807412236 -1.2331262152 -157.4313156510 157.4393822839
Index: tags/siscone-3.0.2/examples/events/single-event.dat
===================================================================
--- tags/siscone-3.0.2/examples/events/single-event.dat (revision 0)
+++ tags/siscone-3.0.2/examples/events/single-event.dat (revision 398)
@@ -0,0 +1,354 @@
+ -0.8807412236 -1.2331262152 -157.4313156510 157.4393822839
+ -0.0051712611 0.2381550800 -9.7396045662 9.7435168946
+ 0.0362280943 0.2694752057 -6.9243427525 6.9310844534
+ -0.2206628664 -0.1438198985 -0.6838608666 0.7460038429
+ 1.2716787521 1.0422298083 -6.1740167274 6.3907254797
+ -0.5695590845 -0.3627761836 -58.5430479911 58.5544811606
+ 0.2839991726 -0.4668202293 -49.6978846131 49.7097441380
+ 0.6510530003 1.3970949413 -62.7226079598 62.7485783532
+ 0.1434555273 -0.0312880942 -6.9382351613 6.9411919273
+ 0.4931562547 2.1627817414 -14.8865871635 15.0516040711
+ 0.2396813608 -0.0786236784 -1.9340954697 1.9554625817
+ 0.3355486441 0.0516402769 -0.8346540063 0.9118040941
+ -0.7853865645 -0.7810520475 -1.5367790662 1.8994852039
+ 0.1094889185 -0.1754670827 -0.6843130641 0.7283822313
+ -1.3395280577 -1.0677537402 -6.4527380155 6.7420362761
+ -0.4610425267 -0.0168193957 -0.8357253135 0.9647588756
+ -0.8586330562 -2.0252604440 -6.1169276419 6.5019392609
+ 0.1506846470 -0.2812835366 -0.3038867955 0.4622264166
+ 1.9980221318 1.1300023793 -3.4459595617 4.2454664891
+ 0.3272882037 -0.2364585949 0.1553473919 0.4545798417
+ 1.0076426762 1.4440286855 0.8523588299 1.9612643798
+ 0.0379998790 -0.3660104062 0.1528715253 0.4222050407
+ 10.0151541250 -2.3211630182 -15.0785563543 18.2503000364
+ 11.3598983026 -1.2325298244 -15.8349153125 19.5276839884
+ 1.6687709743 -1.1585763834 -2.8709909456 3.5198245120
+ 3.2014431503 -0.3128004506 -0.5513753788 3.3957985464
+ -30.7151484971 7.1828179172 -30.3287168815 43.7617176202
+ -7.5956115238 2.5973350872 -7.5388480549 11.0234901429
+ -0.9213602936 -0.5107772285 -0.1419601961 1.0721150358
+ -1.0794599717 -0.6668199287 0.5316879271 1.3827705828
+ -0.7396340255 -0.6182167240 2.5119449763 2.6941784942
+ 0.2074176533 0.2794277179 0.9960164767 1.0642511636
+ -0.1539166871 -0.7751679292 2.5738103560 2.7372826624
+ -1.3215623416 -0.6371922652 234.4350568153 234.4396892268
+ -1.0575338040 0.0953188302 464.9467453555 464.9479787674
+ -0.6276410883 0.2361957514 71.0828886604 71.0861889671
+ -0.2082020096 -0.4373362216 0.9028588667 1.0340430193
+ -0.0179791764 0.0902483897 0.2648461382 0.3131952817
+ 0.1020198339 0.1098009129 1.7787412558 1.7904928168
+ 2.0706642474 2.4044116603 1.0424047727 3.4696174649
+ 0.7973260719 0.5349870337 57.3601218239 57.3683274589
+ -0.2096823488 0.0247005810 -23.7890553577 23.7951971424
+ 0.3102511281 0.1319028264 -314.2349531398 314.2355280746
+ -0.2551007217 0.1414141961 -264.4206622484 264.4208599525
+ -0.0667217187 0.1675665310 -440.2993433749 440.2994024371
+ 0.1230808742 0.0544787546 -9.2334321211 9.2344131146
+ 0.0149244718 0.0926408620 -13.1527203128 13.1530550328
+ -0.7273456972 0.8103042163 -69.3094134240 69.3181065354
+ 1.3444919516 -0.0354346667 -75.6843009141 75.6962503634
+ -0.2673665474 -0.0908126999 -12.8334289873 12.8372937636
+ 0.3478059093 0.1156549525 -5.5306033046 5.5427356000
+ 0.1066857461 -0.0194790151 -1.0350365802 1.0407026486
+ 0.0216700641 -0.0151983847 -0.0808217620 0.0850455160
+ -0.0908971368 -0.1795934739 -2.1471276079 2.1565419240
+ 0.1619100903 0.1096391138 -5.1549916876 5.1605866621
+ 0.1658801571 -0.4323029725 -10.9719847384 10.9928382207
+ -0.0738683424 0.2189545272 -5.2858871411 5.2927762347
+ 0.6032480190 0.0236332859 -3.2008192361 3.2944425092
+ -0.0357683833 0.1856094526 -0.6235460716 0.6515673024
+ -0.3533710661 0.6295703546 -2.8607535473 2.9504475593
+ 0.0481173336 0.0105768278 -0.5957002119 0.5977339622
+ 0.2075827055 -0.0308763006 -0.7487101323 0.7775672240
+ 0.5304017839 1.4777754272 -3.9322188565 4.3370823357
+ 0.0413924064 0.1486652835 -0.0938036137 0.2282402258
+ 0.0836183570 1.0175603398 -5.1671981062 5.3502475764
+ 0.3485824980 0.7400614406 -2.3277750515 2.4712784483
+ 0.2840798497 0.1448084307 -0.3598613881 0.5006504231
+ 0.0615749422 0.1226682661 -0.2567909641 0.3228937304
+ 0.4447081942 -0.4703237310 -41.1153447304 41.1206763305
+ 0.0124634495 0.4015541485 -14.9710629970 14.9771027945
+ -0.0316220376 -0.1433969883 -40.0395270888 40.0428387244
+ -0.3087482155 0.1806952265 -13.8307938752 13.8354195977
+ -0.3356629575 0.0993822522 -10.0800461630 10.0861229965
+ -0.3201882660 -0.2024976612 -41.8446572615 41.8568897287
+ 0.1061884633 -0.3151853343 -14.3998854139 14.4044020183
+ -0.2527720657 0.9069338223 -58.5238686950 58.5316077815
+ -0.1792120633 -0.0360308668 -33.2666000360 33.2673950427
+ 0.9675598538 0.3593779851 -47.8071191709 47.8274640622
+ -0.0714174325 0.0908505489 -6.7152464947 6.7176907894
+ -0.0778201914 1.4032563894 -90.8847339885 90.9004422830
+ 0.0244495106 0.0548209263 -26.7828085908 26.7832395149
+ -0.1660314882 -0.0217473452 -18.6254257666 18.6267013767
+ 0.0157049989 0.0168585335 -0.3203174380 0.3211450112
+ 0.3107606707 -0.1971654391 -2.5216196955 2.5483352004
+ 0.0555180663 0.1012407689 -2.8568822700 2.8592146218
+ 0.4924054759 0.4638065599 -11.5988585156 11.6185669746
+ 0.0246279353 0.3500825457 -1.4762107229 1.5237592353
+ -0.1337804291 0.0207566609 -0.6922983624 0.7054112734
+ 0.1425990775 0.2159252673 -1.4422250588 1.4652547008
+ 1.1509079385 1.3932642481 -11.9161396276 12.0523922095
+ -0.2817355269 0.1171350200 -3.5044085055 3.5204338196
+ -0.2938296833 0.5477549955 -4.0607872094 4.1104554447
+ 0.2320766870 0.2725578877 -2.4417843515 2.4718288765
+ -0.1166849087 0.3561484951 -1.0167846717 1.0926060461
+ 0.4301305393 0.3390614943 -3.7153711906 3.7581162630
+ 0.2292214322 0.5342372509 -4.0278522037 4.0719804844
+ -0.9524325280 0.0334349530 -3.6861382279 3.8073429911
+ -0.2656944809 -0.2572725338 -2.3412698888 2.3703011214
+ -1.0311407020 -1.0586248548 -4.0709688056 4.4316494143
+ -0.0950317920 0.0651839091 -0.4709223689 0.5045073299
+ 0.0664907355 -0.2283387225 -1.8762930749 1.8964480162
+ -0.5611110795 -0.6953888597 -1.9606771050 2.1592002697
+ 0.1891889671 -0.1472085995 -0.2096350365 0.3184488743
+ 0.0792704574 0.0251844818 -0.0983276385 0.1287881517
+ 0.1611736633 0.0711833539 -0.3690578008 0.4321197344
+ -0.0054785644 -0.1772470704 -0.1887858326 0.2942217092
+ 1.2592788545 0.6027682305 -1.9731707573 2.5928490514
+ 0.2029562446 0.1650861534 0.0141930687 0.2968600737
+ 1.2748961578 0.4162795142 0.2649070316 1.3741558745
+ 1.0762322510 0.3311719610 0.5525788508 1.2620514638
+ 0.1617039199 -0.1197724715 0.0749212600 0.2560987754
+ -0.0323954715 0.2494233491 0.1560907622 0.3272698956
+ 0.4783653778 0.0155338834 0.0730680592 0.4841628626
+ 0.8887630855 0.0859887077 0.3171179068 0.9475535060
+ 0.4620391835 0.0959242469 0.9549103797 1.0742510351
+ 0.4929608353 0.2924063523 0.4046649124 0.7153637789
+ 0.8090379891 0.3357430404 0.1242812216 0.8956514187
+ -0.2218609894 0.0554977900 0.1140035220 0.2911681494
+ 1.0947245051 -0.6236432380 -0.8821510424 1.5443519278
+ 1.2312355422 -0.7380880549 -1.6968461982 2.2269893898
+ 0.9823668004 -0.1980014204 -1.1323956352 1.5185679940
+ 0.3072642138 -0.3616367001 -0.8863081947 1.0149947787
+ 3.5267082850 -0.8709343198 -6.0396048282 7.0492910411
+ 0.0302309577 -0.1093072034 -0.1454183249 0.2312752681
+ 8.3195138078 -1.2696507106 -13.6925071989 16.0726648724
+ 1.9111207173 -0.2604029574 -2.8768617815 3.4664110534
+ 0.5301770085 -0.2474488120 -1.1645712928 1.3107343956
+ 1.7420326246 -0.2822907394 -2.8168929273 3.3240414394
+ 7.1662439694 -0.8989264899 -11.6921124639 13.7429478399
+ 4.0278455019 -0.7538804612 -6.1367606781 7.4387161891
+ 2.3520608039 -0.3594541793 -3.9148734196 4.5833515040
+ 0.8874010232 0.1118054115 0.0320276498 0.9058071435
+ 0.1500724686 0.0233402575 0.0493207873 0.2120821501
+ 4.2962697295 -1.7142289365 -0.1690138675 4.6308271300
+ 1.8430690942 -0.4354147487 0.3986540928 1.9353074110
+ 17.9174665745 -3.9541912904 4.1909545762 18.8211407058
+ 3.7381128073 -1.1588289400 1.2894704313 4.1229341070
+ 40.1307210930 -9.9455385011 9.4372399972 42.4083658029
+ 46.9323028742 -12.1457646999 11.2983938225 49.7778448306
+ 49.9481498640 -13.6951263923 11.6387976852 53.0834743878
+ 55.4631919903 -13.9171302743 13.2275436067 58.6925897426
+ 8.2260209293 -2.0146434912 1.9795098478 8.6973943203
+ 552.6086009193 -143.3841889206 127.4057239389 584.9508777791
+ -58.5643305599 13.6721150775 -60.7292192202 85.4679184928
+ -20.7055785892 4.9367170132 -21.3460862941 30.1457632088
+ -63.1393333534 15.4319228136 -63.1699054399 90.6388674177
+ -184.7092504379 43.8836483458 -185.9895634959 265.7736690492
+ -132.3436726570 31.1975659982 -133.8117860858 190.7714585356
+ -249.6259700938 59.9806981396 -252.0534723625 359.7801849802
+ -84.6956389844 20.2530979512 -84.9405599439 121.6489105704
+ -1.4896061764 0.5394718049 -1.1697689680 1.9742835694
+ -15.6910439822 4.0928980329 -16.0308697076 22.8077421088
+ -6.5161499932 1.4530419848 -7.0414172713 9.7042557013
+ -1.6887821332 0.6217356263 -1.7453944171 2.5108607565
+ -2.9066030431 0.8578299581 -2.1768165890 3.7339287264
+ -4.3216629645 0.4876667295 -4.0106317127 5.9177053101
+ -0.1313279989 0.1710015195 0.2960934797 0.3662784619
+ -0.1378802261 0.0239116355 0.1336123094 0.1934811936
+ 0.1228571341 0.1038820753 0.1856298240 0.2456497354
+ 0.0880826051 -0.0369854789 0.0702432827 0.1185773575
+ 0.3000337170 -0.0143366600 0.8191164649 0.8835481533
+ 0.1103182833 -0.3276972527 0.5695489167 0.6807505905
+ 0.0246169502 -0.0632054218 0.4462814427 0.4514067409
+ 0.3462650138 -0.1370493016 1.8335961124 1.8710309122
+ 0.1072718009 0.2347141259 0.8106008195 0.9835205177
+ -0.1228669036 -0.3420825771 0.4269449947 0.5778222728
+ -0.0537484106 -0.1418315633 0.1658218865 0.2247264604
+ -0.1921583292 -0.2051056097 0.6510375898 0.7227190760
+ 0.0719282041 -0.6389806821 1.3260724361 1.4803438348
+ 0.0770785256 -0.0961694649 0.7126381724 0.7365613449
+ -0.1024788272 0.2570404755 1.0007133278 1.0476061595
+ -0.3569652766 0.0132486739 8.2719979695 8.2808834026
+ 0.9119741942 -0.5440359019 10.4508006448 10.5046135631
+ 0.2130354298 0.0824739706 12.4438615581 12.4813728536
+ 0.0796437059 -0.2190335365 1.8949965789 1.9143695121
+ 0.0257844816 -0.0205887972 0.4134653053 0.4147798172
+ 0.3407013815 -0.9771232757 20.8001110981 20.8258365743
+ -0.0484682129 -0.4170975131 51.2421047601 51.2524142879
+ 0.0897243336 -0.1477960689 33.5942223016 33.5949571509
+ 0.3309172902 0.2053558941 15.3759445633 15.3815092983
+ -0.4513428002 -1.0629724624 198.6483838807 198.6517896193
+ -0.5096208939 0.2808545308 526.2829357022 526.2840937694
+ 0.0439210002 -0.0909597094 62.6115892566 62.6118262930
+ -0.4921468048 -0.2259270362 263.1629036404 263.1651334325
+ 0.0256741895 0.0647083476 60.1293229885 60.1295252698
+ -0.2129474818 0.3356181212 10.9531127852 10.9612109561
+ -0.3345049992 0.0053042168 10.0385185055 10.0450612392
+ -0.2168883064 0.0832963463 14.9196810412 14.9221426402
+ 0.2190731187 0.1408132403 1.5507985399 1.5786948078
+ 0.1157490730 0.0973727931 0.2776072109 0.3455790172
+ -0.2700182117 -0.2659794788 3.8116405429 3.8304384274
+ -0.0503520285 -0.0502248492 1.5957756572 1.5973596371
+ 0.3728285538 -0.0813045131 0.3833836648 0.5586361729
+ 0.2045526783 0.5531671529 1.4067251294 1.5317281325
+ 1.1124557930 0.6363451605 0.6161236815 1.7036584277
+ -0.0045760421 -0.0333413613 -0.0266276402 0.1460185011
+ 0.2034731156 -0.0975389956 -0.0758288761 0.2759437765
+ 0.2198871730 0.5955469316 0.7259653412 0.9744393147
+ 1.6512411277 1.3209100794 1.5552345144 2.6286184355
+ 0.1485630649 0.3302111341 2.2869277289 2.4987878260
+ 0.1434858277 0.1748231234 1.2536107327 1.2814721851
+ 0.4466109566 -0.3708574769 3.3454935959 3.5230832803
+ 0.0645162267 -0.3240107647 0.8653597227 0.9367350499
+ 0.7297178455 -0.0230670048 8.7581561340 8.7896415668
+ 0.0818687057 -1.0590802908 6.0448998742 6.1375213268
+ -0.0165520648 0.0496969805 0.9381702085 0.9396313643
+ 0.1856788128 -0.2651426402 3.5296675023 3.5472256346
+ 0.2462301231 -0.0254015715 9.5838219962 9.5880341234
+ 0.4564255134 0.1547243999 36.4834178279 36.4899947345
+ 0.2420013869 -0.4750765942 8.8978425902 8.9148945584
+ -0.5836449074 0.2713063655 97.8985090318 97.9007242003
+ 0.1098728236 -0.3173326524 192.1524793330 192.1528234652
+ -0.0884675198 -0.0343950604 37.9162600215 37.9166357068
+ -0.3479866282 -1.6163644207 3219.6952699557 3219.6958312012
+ -0.4502778003 -0.0845033682 -15.5304915887 15.5378743620
+ -0.0136188828 0.0749919179 -11.8647621575 11.8658278304
+ -0.2356122901 0.2546257088 -464.6232035239 464.6233539976
+ -0.3366930922 0.0001267148 -314.7906873590 314.7912608153
+ -0.5908021127 0.2714310441 -62.0570105158 62.0624117444
+ 0.0950294025 -0.0979437150 -6.5075134406 6.5089442107
+ -0.0258241148 -0.1651896244 -7.6613397231 7.6631638929
+ -0.0283746791 -0.0128186850 -1.1860948704 1.1865034693
+ -0.2445470072 -0.0367850366 -2.3234980477 2.3366213976
+ 1.1134230020 -0.0084955425 -8.1756524679 8.2511257554
+ 0.7423074922 0.0450351928 -4.7803853081 4.8378851035
+ 0.0631614949 -0.0147897750 -0.3372075109 0.3433904735
+ -0.0615524241 -0.0730339500 -0.4109508860 0.4219043606
+ 0.2721762563 0.9356454684 -1.1899345164 1.5380040671
+ 0.0195567553 -0.0613884496 -0.2438139881 0.2521830074
+ 0.0015753821 -0.0127040661 -5.1798684309 5.1798842494
+ -0.2336502048 0.2398589892 -61.5027554276 61.5036669633
+ -0.2111577946 -1.2264310644 -54.4484267777 54.4628256623
+ -0.1724150208 -0.6710138080 -46.7073487537 46.7126952108
+ -0.0083548891 0.1191926839 -1.6273211403 1.6317018091
+ 0.1782576111 0.2370603640 -3.4515411588 3.4642617920
+ -0.0157160274 -0.0172284475 -0.8321853782 0.8325120519
+ 0.2055123178 -0.2277451049 -4.7400462090 4.7499622323
+ 0.1433996625 0.1319354611 -4.2237703099 4.2282627709
+ 0.2505217514 0.5109550496 -14.5866293938 14.5977256202
+ 0.0907354824 0.2212240967 -1.6245224103 1.6420249969
+ 0.0442826976 0.6827900032 -4.2712530344 4.3257098411
+ -0.0286900410 0.1272840718 -0.9586700336 0.9675084427
+ 0.0168298416 0.0212462677 -1.2498808277 1.2501746801
+ 0.0191626579 0.0396505095 -0.1096013028 0.1181178053
+ -0.1826163842 0.1583483453 -0.3493583086 0.4248225159
+ 0.0736986630 -0.4757600112 -0.5567925582 0.7360686341
+ 0.0718737115 -0.1073098612 -0.0922689901 0.1587287096
+ 0.3823052378 0.2473184083 -0.9764937570 1.0774338714
+ -0.0099669892 0.0144860894 -0.0618195721 0.0642716668
+ -0.0893120375 0.0045092023 -0.4219473328 0.4313195157
+ -0.0173901063 0.0980486800 -0.2280732197 0.2488641256
+ 0.0470683860 0.1067218125 -0.0220928902 0.1187142536
+ 0.2236348783 0.1462105889 -0.2007592535 0.3342070810
+ 0.2304940378 -0.1786278713 0.2738302916 0.4000230574
+ -0.0034266964 -0.0207838453 -0.0099250562 0.0232855581
+ -0.0198610958 0.0339167728 0.0860577817 0.0946084161
+ -0.1495093893 -0.0992705397 0.1721689527 0.2486962923
+ 0.1388593068 0.0621639466 0.1820504657 0.2372522611
+ 0.4364050518 0.1711414837 0.2526138346 0.5324965034
+ 0.1135784502 -0.3755312317 -0.4819257884 0.6214307973
+ 0.0656586648 -0.1174273893 -0.3106626572 0.3385432596
+ 0.6794157833 -0.2958876229 -1.3108688155 1.5058327741
+ 0.2105562628 -0.0146095214 -0.3598329775 0.4171656141
+ 0.8891967174 -0.2859846717 -1.2899195992 1.5925924171
+ 0.9709628090 -0.4638594187 -1.5007185975 1.8466430748
+ 0.8378588087 -0.0907723342 -1.0811879512 1.3708444061
+ 0.1779040294 -0.0469475636 -0.1539205319 0.2398863222
+ 0.4696086571 -0.2188612179 -0.5030102129 0.7221161941
+ 0.4511368236 -0.1140360671 -0.5914121373 0.7525270589
+ 1.0715035537 -0.0504322193 -1.2598340838 1.6546435245
+ 0.0668091207 -0.0378517174 -0.0814590598 0.1119454758
+ 0.6316389071 -0.1273235117 -0.6462307006 0.9125749854
+ 0.2684052593 0.0083959523 -0.1886456222 0.3281753282
+ 0.3892874920 -0.1743366297 -0.6509560390 0.7782555985
+ 1.3389273647 -0.3627304714 -1.9218592665 2.3701989205
+ 0.0045094441 -0.0453764540 -0.0434900736 0.0630138411
+ 0.3133525938 -0.1008805853 -0.3655345011 0.4919168751
+ 1.4519335046 -0.3776623331 -2.3436634930 2.7827141980
+ 1.1774890796 -0.2142441295 -1.7232930015 2.0981229346
+ 0.2355847301 -0.2200748912 0.1401791546 0.3515441909
+ 0.3730544183 -0.2033339289 0.0678202445 0.4302486156
+ 5.7036562093 -1.3847122534 1.0304717985 5.9591101942
+ 0.3132978256 -0.0441957346 0.0509066642 0.3204688424
+ 12.0524189062 -3.0888845437 2.7804315114 12.7488355783
+ 31.6297261863 -7.9897036677 7.4822494855 33.4702704005
+ 0.1298166828 -0.0603422723 0.0449212824 0.1500382703
+ 5.6041248096 -1.7827306116 1.3929423696 6.0435611820
+ 15.2635626061 -3.9126479532 3.5227360906 16.1460467918
+ 12.6420333259 -3.3156273590 2.8203654708 13.3704469927
+ -6.8280628114 1.6575170026 -7.0642230364 9.9635862759
+ -28.7310801665 6.6899382857 -29.6661493612 41.8367142558
+ -23.0805998372 5.2804748057 -23.7593817157 33.5428860164
+ -9.5867328041 2.3566842001 -9.6302827557 13.7920713461
+ -2.4941626575 0.7605935548 -2.3465485517 3.5079395695
+ -12.8361288251 4.1724746846 -12.3930282133 18.3238341103
+ -0.2218939688 0.0177591193 -0.1601445527 0.2742236267
+ -0.3547183900 0.1627198093 -0.4375984432 0.5863405751
+ -1.5077751291 0.4846678610 -1.3722432145 2.0955524844
+ -1.0249084149 0.3454253853 -1.0884030972 1.5343980115
+ -0.6851007890 0.1387858818 -0.6931465231 0.9844169414
+ -0.1348478831 0.0027831157 -0.0667382711 0.1504848634
+ -1.7172317946 0.4278616379 -1.5483601280 2.3514611847
+ -0.1185075147 -0.0023470526 -0.1255368894 0.1726529765
+ -0.2481981444 0.1582306347 -0.1468021309 0.3289226630
+ -0.9966635486 0.3389627921 -0.4783137759 1.1562949761
+ 0.0088328598 -0.0568652170 0.3666038530 0.3710930576
+ -0.0824728099 0.0441797782 0.3879523579 0.3990747413
+ 0.1199632582 -0.0647633161 0.3012285579 0.3306419733
+ 0.0018630421 -0.0049969991 -0.0147954815 0.0157272757
+ -0.0136056330 0.0078110768 0.0042779078 0.0162612013
+ 0.0895632652 -0.1214885998 0.5518245090 0.5720938272
+ 0.3093767760 0.0801078725 4.7396091515 4.7503711613
+ 0.1443427580 0.0774488471 4.1438348166 4.1470712729
+ 0.0800206896 -0.2831535685 44.4006608942 44.4016358606
+ 0.0077367737 0.0117045964 0.7717758140 0.7719033374
+ -0.1114386512 -0.0611335023 10.4091099025 10.4098859187
+ -0.2179700232 0.0686322286 20.7719389630 20.7731959408
+ -0.0517190611 0.1441402526 13.4281329719 13.4290061578
+ -0.0315432027 -0.0288834445 4.1154298514 4.1156520855
+ -0.0210490068 -0.1913294761 14.6251063933 14.6263729969
+ -0.4133059803 -0.9942214423 74.9928286595 75.0005576544
+ 0.0017189742 0.0003086548 0.1162765244 0.1162896396
+ -0.0197978822 0.4918674160 1.4905912780 1.5697731904
+ 0.1498213953 0.2658028537 0.0262280525 0.3062442134
+ 0.1485723914 0.0742812231 -0.0073876616 0.1662709630
+ -0.0050837918 0.0002284770 -0.0021956656 0.0055423901
+ 0.1905224494 0.0721540097 1.0400756752 1.0598407498
+ 0.1789403158 0.0666764902 2.9045526860 2.9108231992
+ 0.1943735087 -0.0680286041 3.0118739143 3.0189059985
+ 0.0150257083 0.0162010005 3.8405935297 3.8406570928
+ 0.0864382180 -0.1775350230 10.9516521209 10.9534320844
+ 0.0112700861 0.0077621474 6.2645553713 6.2645703178
+ -0.0880690210 -0.2011746802 24.3996872285 24.4006754876
+ -0.0428591497 0.0438332411 44.4944475561 44.4944897890
+ 0.0444439323 -0.0497049989 94.1332069530 94.1332305677
+ 0.3963642912 0.0673770453 -289.8837440594 289.8840228682
+ 0.0542374607 0.0178424362 -96.5357422683 96.5357591535
+ -0.0134026835 -0.0410107441 -5.2778715751 5.2780479229
+ -0.0074119146 -0.0297613121 -58.9036529918 58.9036609767
+ -0.2811166895 0.8565449965 -1345.2132113785 1345.2138415713
+ -0.0217590821 0.0295680705 -1.4316647060 1.4321353144
+ -0.0411871732 -0.1433145865 -4.1950850614 4.1977344040
+ 0.0000161243 -0.0197893201 -18.6652813563 18.6652918468
+ -0.0037080800 -0.1644263966 -20.7846855998 20.7853363041
+ 0.1864447321 0.0253239348 0.0515967916 0.1951029695
+ 0.1036221868 -0.0670423838 -0.0340109532 0.1280194664
+ 0.4672472776 0.2236570795 -0.0501273890 0.5204375686
+ 0.1891841769 0.0409518465 0.0506236100 0.2000761265
+ 0.0261105832 0.0529552694 -0.0657671278 0.0883817754
+ 0.1618126437 0.0242326171 0.0023687129 0.1636342329
+ 0.3565264181 0.0124879620 9.3933918502 9.4011997783
+ 0.5033500838 -0.5007399100 16.8454871381 16.8610206829
+ -0.1398195181 0.0757052286 -118.9195521575 118.9196584511
+ 0.0018271729 -0.0111140989 -74.4314662452 74.4314670974
Index: tags/siscone-3.0.2/examples/events/Pythia-PtMin1000-LHC-10ev.dat
===================================================================
--- tags/siscone-3.0.2/examples/events/Pythia-PtMin1000-LHC-10ev.dat (revision 0)
+++ tags/siscone-3.0.2/examples/events/Pythia-PtMin1000-LHC-10ev.dat (revision 398)
@@ -0,0 +1,5473 @@
+# output from
+# ./gen-events -lhc -ptmin 1000 -out ../data/Pythia-PtMin1000-LHC-1000ev.dat -nev 1000
+# Stamped by ./gen-events on 2/12/2005 at 22:22:34
+ -0.8807412236 -1.2331262152 -157.4313156510 157.4393822839
+ -0.0051712611 0.2381550800 -9.7396045662 9.7435168946
+ 0.0362280943 0.2694752057 -6.9243427525 6.9310844534
+ -0.2206628664 -0.1438198985 -0.6838608666 0.7460038429
+ 1.2716787521 1.0422298083 -6.1740167274 6.3907254797
+ -0.5695590845 -0.3627761836 -58.5430479911 58.5544811606
+ 0.2839991726 -0.4668202293 -49.6978846131 49.7097441380
+ 0.6510530003 1.3970949413 -62.7226079598 62.7485783532
+ 0.1434555273 -0.0312880942 -6.9382351613 6.9411919273
+ 0.4931562547 2.1627817414 -14.8865871635 15.0516040711
+ 0.2396813608 -0.0786236784 -1.9340954697 1.9554625817
+ 0.3355486441 0.0516402769 -0.8346540063 0.9118040941
+ -0.7853865645 -0.7810520475 -1.5367790662 1.8994852039
+ 0.1094889185 -0.1754670827 -0.6843130641 0.7283822313
+ -1.3395280577 -1.0677537402 -6.4527380155 6.7420362761
+ -0.4610425267 -0.0168193957 -0.8357253135 0.9647588756
+ -0.8586330562 -2.0252604440 -6.1169276419 6.5019392609
+ 0.1506846470 -0.2812835366 -0.3038867955 0.4622264166
+ 1.9980221318 1.1300023793 -3.4459595617 4.2454664891
+ 0.3272882037 -0.2364585949 0.1553473919 0.4545798417
+ 1.0076426762 1.4440286855 0.8523588299 1.9612643798
+ 0.0379998790 -0.3660104062 0.1528715253 0.4222050407
+ 10.0151541250 -2.3211630182 -15.0785563543 18.2503000364
+ 11.3598983026 -1.2325298244 -15.8349153125 19.5276839884
+ 1.6687709743 -1.1585763834 -2.8709909456 3.5198245120
+ 3.2014431503 -0.3128004506 -0.5513753788 3.3957985464
+ -30.7151484971 7.1828179172 -30.3287168815 43.7617176202
+ -7.5956115238 2.5973350872 -7.5388480549 11.0234901429
+ -0.9213602936 -0.5107772285 -0.1419601961 1.0721150358
+ -1.0794599717 -0.6668199287 0.5316879271 1.3827705828
+ -0.7396340255 -0.6182167240 2.5119449763 2.6941784942
+ 0.2074176533 0.2794277179 0.9960164767 1.0642511636
+ -0.1539166871 -0.7751679292 2.5738103560 2.7372826624
+ -1.3215623416 -0.6371922652 234.4350568153 234.4396892268
+ -1.0575338040 0.0953188302 464.9467453555 464.9479787674
+ -0.6276410883 0.2361957514 71.0828886604 71.0861889671
+ -0.2082020096 -0.4373362216 0.9028588667 1.0340430193
+ -0.0179791764 0.0902483897 0.2648461382 0.3131952817
+ 0.1020198339 0.1098009129 1.7787412558 1.7904928168
+ 2.0706642474 2.4044116603 1.0424047727 3.4696174649
+ 0.7973260719 0.5349870337 57.3601218239 57.3683274589
+ -0.2096823488 0.0247005810 -23.7890553577 23.7951971424
+ 0.3102511281 0.1319028264 -314.2349531398 314.2355280746
+ -0.2551007217 0.1414141961 -264.4206622484 264.4208599525
+ -0.0667217187 0.1675665310 -440.2993433749 440.2994024371
+ 0.1230808742 0.0544787546 -9.2334321211 9.2344131146
+ 0.0149244718 0.0926408620 -13.1527203128 13.1530550328
+ -0.7273456972 0.8103042163 -69.3094134240 69.3181065354
+ 1.3444919516 -0.0354346667 -75.6843009141 75.6962503634
+ -0.2673665474 -0.0908126999 -12.8334289873 12.8372937636
+ 0.3478059093 0.1156549525 -5.5306033046 5.5427356000
+ 0.1066857461 -0.0194790151 -1.0350365802 1.0407026486
+ 0.0216700641 -0.0151983847 -0.0808217620 0.0850455160
+ -0.0908971368 -0.1795934739 -2.1471276079 2.1565419240
+ 0.1619100903 0.1096391138 -5.1549916876 5.1605866621
+ 0.1658801571 -0.4323029725 -10.9719847384 10.9928382207
+ -0.0738683424 0.2189545272 -5.2858871411 5.2927762347
+ 0.6032480190 0.0236332859 -3.2008192361 3.2944425092
+ -0.0357683833 0.1856094526 -0.6235460716 0.6515673024
+ -0.3533710661 0.6295703546 -2.8607535473 2.9504475593
+ 0.0481173336 0.0105768278 -0.5957002119 0.5977339622
+ 0.2075827055 -0.0308763006 -0.7487101323 0.7775672240
+ 0.5304017839 1.4777754272 -3.9322188565 4.3370823357
+ 0.0413924064 0.1486652835 -0.0938036137 0.2282402258
+ 0.0836183570 1.0175603398 -5.1671981062 5.3502475764
+ 0.3485824980 0.7400614406 -2.3277750515 2.4712784483
+ 0.2840798497 0.1448084307 -0.3598613881 0.5006504231
+ 0.0615749422 0.1226682661 -0.2567909641 0.3228937304
+ 0.4447081942 -0.4703237310 -41.1153447304 41.1206763305
+ 0.0124634495 0.4015541485 -14.9710629970 14.9771027945
+ -0.0316220376 -0.1433969883 -40.0395270888 40.0428387244
+ -0.3087482155 0.1806952265 -13.8307938752 13.8354195977
+ -0.3356629575 0.0993822522 -10.0800461630 10.0861229965
+ -0.3201882660 -0.2024976612 -41.8446572615 41.8568897287
+ 0.1061884633 -0.3151853343 -14.3998854139 14.4044020183
+ -0.2527720657 0.9069338223 -58.5238686950 58.5316077815
+ -0.1792120633 -0.0360308668 -33.2666000360 33.2673950427
+ 0.9675598538 0.3593779851 -47.8071191709 47.8274640622
+ -0.0714174325 0.0908505489 -6.7152464947 6.7176907894
+ -0.0778201914 1.4032563894 -90.8847339885 90.9004422830
+ 0.0244495106 0.0548209263 -26.7828085908 26.7832395149
+ -0.1660314882 -0.0217473452 -18.6254257666 18.6267013767
+ 0.0157049989 0.0168585335 -0.3203174380 0.3211450112
+ 0.3107606707 -0.1971654391 -2.5216196955 2.5483352004
+ 0.0555180663 0.1012407689 -2.8568822700 2.8592146218
+ 0.4924054759 0.4638065599 -11.5988585156 11.6185669746
+ 0.0246279353 0.3500825457 -1.4762107229 1.5237592353
+ -0.1337804291 0.0207566609 -0.6922983624 0.7054112734
+ 0.1425990775 0.2159252673 -1.4422250588 1.4652547008
+ 1.1509079385 1.3932642481 -11.9161396276 12.0523922095
+ -0.2817355269 0.1171350200 -3.5044085055 3.5204338196
+ -0.2938296833 0.5477549955 -4.0607872094 4.1104554447
+ 0.2320766870 0.2725578877 -2.4417843515 2.4718288765
+ -0.1166849087 0.3561484951 -1.0167846717 1.0926060461
+ 0.4301305393 0.3390614943 -3.7153711906 3.7581162630
+ 0.2292214322 0.5342372509 -4.0278522037 4.0719804844
+ -0.9524325280 0.0334349530 -3.6861382279 3.8073429911
+ -0.2656944809 -0.2572725338 -2.3412698888 2.3703011214
+ -1.0311407020 -1.0586248548 -4.0709688056 4.4316494143
+ -0.0950317920 0.0651839091 -0.4709223689 0.5045073299
+ 0.0664907355 -0.2283387225 -1.8762930749 1.8964480162
+ -0.5611110795 -0.6953888597 -1.9606771050 2.1592002697
+ 0.1891889671 -0.1472085995 -0.2096350365 0.3184488743
+ 0.0792704574 0.0251844818 -0.0983276385 0.1287881517
+ 0.1611736633 0.0711833539 -0.3690578008 0.4321197344
+ -0.0054785644 -0.1772470704 -0.1887858326 0.2942217092
+ 1.2592788545 0.6027682305 -1.9731707573 2.5928490514
+ 0.2029562446 0.1650861534 0.0141930687 0.2968600737
+ 1.2748961578 0.4162795142 0.2649070316 1.3741558745
+ 1.0762322510 0.3311719610 0.5525788508 1.2620514638
+ 0.1617039199 -0.1197724715 0.0749212600 0.2560987754
+ -0.0323954715 0.2494233491 0.1560907622 0.3272698956
+ 0.4783653778 0.0155338834 0.0730680592 0.4841628626
+ 0.8887630855 0.0859887077 0.3171179068 0.9475535060
+ 0.4620391835 0.0959242469 0.9549103797 1.0742510351
+ 0.4929608353 0.2924063523 0.4046649124 0.7153637789
+ 0.8090379891 0.3357430404 0.1242812216 0.8956514187
+ -0.2218609894 0.0554977900 0.1140035220 0.2911681494
+ 1.0947245051 -0.6236432380 -0.8821510424 1.5443519278
+ 1.2312355422 -0.7380880549 -1.6968461982 2.2269893898
+ 0.9823668004 -0.1980014204 -1.1323956352 1.5185679940
+ 0.3072642138 -0.3616367001 -0.8863081947 1.0149947787
+ 3.5267082850 -0.8709343198 -6.0396048282 7.0492910411
+ 0.0302309577 -0.1093072034 -0.1454183249 0.2312752681
+ 8.3195138078 -1.2696507106 -13.6925071989 16.0726648724
+ 1.9111207173 -0.2604029574 -2.8768617815 3.4664110534
+ 0.5301770085 -0.2474488120 -1.1645712928 1.3107343956
+ 1.7420326246 -0.2822907394 -2.8168929273 3.3240414394
+ 7.1662439694 -0.8989264899 -11.6921124639 13.7429478399
+ 4.0278455019 -0.7538804612 -6.1367606781 7.4387161891
+ 2.3520608039 -0.3594541793 -3.9148734196 4.5833515040
+ 0.8874010232 0.1118054115 0.0320276498 0.9058071435
+ 0.1500724686 0.0233402575 0.0493207873 0.2120821501
+ 4.2962697295 -1.7142289365 -0.1690138675 4.6308271300
+ 1.8430690942 -0.4354147487 0.3986540928 1.9353074110
+ 17.9174665745 -3.9541912904 4.1909545762 18.8211407058
+ 3.7381128073 -1.1588289400 1.2894704313 4.1229341070
+ 40.1307210930 -9.9455385011 9.4372399972 42.4083658029
+ 46.9323028742 -12.1457646999 11.2983938225 49.7778448306
+ 49.9481498640 -13.6951263923 11.6387976852 53.0834743878
+ 55.4631919903 -13.9171302743 13.2275436067 58.6925897426
+ 8.2260209293 -2.0146434912 1.9795098478 8.6973943203
+ 552.6086009193 -143.3841889206 127.4057239389 584.9508777791
+ -58.5643305599 13.6721150775 -60.7292192202 85.4679184928
+ -20.7055785892 4.9367170132 -21.3460862941 30.1457632088
+ -63.1393333534 15.4319228136 -63.1699054399 90.6388674177
+ -184.7092504379 43.8836483458 -185.9895634959 265.7736690492
+ -132.3436726570 31.1975659982 -133.8117860858 190.7714585356
+ -249.6259700938 59.9806981396 -252.0534723625 359.7801849802
+ -84.6956389844 20.2530979512 -84.9405599439 121.6489105704
+ -1.4896061764 0.5394718049 -1.1697689680 1.9742835694
+ -15.6910439822 4.0928980329 -16.0308697076 22.8077421088
+ -6.5161499932 1.4530419848 -7.0414172713 9.7042557013
+ -1.6887821332 0.6217356263 -1.7453944171 2.5108607565
+ -2.9066030431 0.8578299581 -2.1768165890 3.7339287264
+ -4.3216629645 0.4876667295 -4.0106317127 5.9177053101
+ -0.1313279989 0.1710015195 0.2960934797 0.3662784619
+ -0.1378802261 0.0239116355 0.1336123094 0.1934811936
+ 0.1228571341 0.1038820753 0.1856298240 0.2456497354
+ 0.0880826051 -0.0369854789 0.0702432827 0.1185773575
+ 0.3000337170 -0.0143366600 0.8191164649 0.8835481533
+ 0.1103182833 -0.3276972527 0.5695489167 0.6807505905
+ 0.0246169502 -0.0632054218 0.4462814427 0.4514067409
+ 0.3462650138 -0.1370493016 1.8335961124 1.8710309122
+ 0.1072718009 0.2347141259 0.8106008195 0.9835205177
+ -0.1228669036 -0.3420825771 0.4269449947 0.5778222728
+ -0.0537484106 -0.1418315633 0.1658218865 0.2247264604
+ -0.1921583292 -0.2051056097 0.6510375898 0.7227190760
+ 0.0719282041 -0.6389806821 1.3260724361 1.4803438348
+ 0.0770785256 -0.0961694649 0.7126381724 0.7365613449
+ -0.1024788272 0.2570404755 1.0007133278 1.0476061595
+ -0.3569652766 0.0132486739 8.2719979695 8.2808834026
+ 0.9119741942 -0.5440359019 10.4508006448 10.5046135631
+ 0.2130354298 0.0824739706 12.4438615581 12.4813728536
+ 0.0796437059 -0.2190335365 1.8949965789 1.9143695121
+ 0.0257844816 -0.0205887972 0.4134653053 0.4147798172
+ 0.3407013815 -0.9771232757 20.8001110981 20.8258365743
+ -0.0484682129 -0.4170975131 51.2421047601 51.2524142879
+ 0.0897243336 -0.1477960689 33.5942223016 33.5949571509
+ 0.3309172902 0.2053558941 15.3759445633 15.3815092983
+ -0.4513428002 -1.0629724624 198.6483838807 198.6517896193
+ -0.5096208939 0.2808545308 526.2829357022 526.2840937694
+ 0.0439210002 -0.0909597094 62.6115892566 62.6118262930
+ -0.4921468048 -0.2259270362 263.1629036404 263.1651334325
+ 0.0256741895 0.0647083476 60.1293229885 60.1295252698
+ -0.2129474818 0.3356181212 10.9531127852 10.9612109561
+ -0.3345049992 0.0053042168 10.0385185055 10.0450612392
+ -0.2168883064 0.0832963463 14.9196810412 14.9221426402
+ 0.2190731187 0.1408132403 1.5507985399 1.5786948078
+ 0.1157490730 0.0973727931 0.2776072109 0.3455790172
+ -0.2700182117 -0.2659794788 3.8116405429 3.8304384274
+ -0.0503520285 -0.0502248492 1.5957756572 1.5973596371
+ 0.3728285538 -0.0813045131 0.3833836648 0.5586361729
+ 0.2045526783 0.5531671529 1.4067251294 1.5317281325
+ 1.1124557930 0.6363451605 0.6161236815 1.7036584277
+ -0.0045760421 -0.0333413613 -0.0266276402 0.1460185011
+ 0.2034731156 -0.0975389956 -0.0758288761 0.2759437765
+ 0.2198871730 0.5955469316 0.7259653412 0.9744393147
+ 1.6512411277 1.3209100794 1.5552345144 2.6286184355
+ 0.1485630649 0.3302111341 2.2869277289 2.4987878260
+ 0.1434858277 0.1748231234 1.2536107327 1.2814721851
+ 0.4466109566 -0.3708574769 3.3454935959 3.5230832803
+ 0.0645162267 -0.3240107647 0.8653597227 0.9367350499
+ 0.7297178455 -0.0230670048 8.7581561340 8.7896415668
+ 0.0818687057 -1.0590802908 6.0448998742 6.1375213268
+ -0.0165520648 0.0496969805 0.9381702085 0.9396313643
+ 0.1856788128 -0.2651426402 3.5296675023 3.5472256346
+ 0.2462301231 -0.0254015715 9.5838219962 9.5880341234
+ 0.4564255134 0.1547243999 36.4834178279 36.4899947345
+ 0.2420013869 -0.4750765942 8.8978425902 8.9148945584
+ -0.5836449074 0.2713063655 97.8985090318 97.9007242003
+ 0.1098728236 -0.3173326524 192.1524793330 192.1528234652
+ -0.0884675198 -0.0343950604 37.9162600215 37.9166357068
+ -0.3479866282 -1.6163644207 3219.6952699557 3219.6958312012
+ -0.4502778003 -0.0845033682 -15.5304915887 15.5378743620
+ -0.0136188828 0.0749919179 -11.8647621575 11.8658278304
+ -0.2356122901 0.2546257088 -464.6232035239 464.6233539976
+ -0.3366930922 0.0001267148 -314.7906873590 314.7912608153
+ -0.5908021127 0.2714310441 -62.0570105158 62.0624117444
+ 0.0950294025 -0.0979437150 -6.5075134406 6.5089442107
+ -0.0258241148 -0.1651896244 -7.6613397231 7.6631638929
+ -0.0283746791 -0.0128186850 -1.1860948704 1.1865034693
+ -0.2445470072 -0.0367850366 -2.3234980477 2.3366213976
+ 1.1134230020 -0.0084955425 -8.1756524679 8.2511257554
+ 0.7423074922 0.0450351928 -4.7803853081 4.8378851035
+ 0.0631614949 -0.0147897750 -0.3372075109 0.3433904735
+ -0.0615524241 -0.0730339500 -0.4109508860 0.4219043606
+ 0.2721762563 0.9356454684 -1.1899345164 1.5380040671
+ 0.0195567553 -0.0613884496 -0.2438139881 0.2521830074
+ 0.0015753821 -0.0127040661 -5.1798684309 5.1798842494
+ -0.2336502048 0.2398589892 -61.5027554276 61.5036669633
+ -0.2111577946 -1.2264310644 -54.4484267777 54.4628256623
+ -0.1724150208 -0.6710138080 -46.7073487537 46.7126952108
+ -0.0083548891 0.1191926839 -1.6273211403 1.6317018091
+ 0.1782576111 0.2370603640 -3.4515411588 3.4642617920
+ -0.0157160274 -0.0172284475 -0.8321853782 0.8325120519
+ 0.2055123178 -0.2277451049 -4.7400462090 4.7499622323
+ 0.1433996625 0.1319354611 -4.2237703099 4.2282627709
+ 0.2505217514 0.5109550496 -14.5866293938 14.5977256202
+ 0.0907354824 0.2212240967 -1.6245224103 1.6420249969
+ 0.0442826976 0.6827900032 -4.2712530344 4.3257098411
+ -0.0286900410 0.1272840718 -0.9586700336 0.9675084427
+ 0.0168298416 0.0212462677 -1.2498808277 1.2501746801
+ 0.0191626579 0.0396505095 -0.1096013028 0.1181178053
+ -0.1826163842 0.1583483453 -0.3493583086 0.4248225159
+ 0.0736986630 -0.4757600112 -0.5567925582 0.7360686341
+ 0.0718737115 -0.1073098612 -0.0922689901 0.1587287096
+ 0.3823052378 0.2473184083 -0.9764937570 1.0774338714
+ -0.0099669892 0.0144860894 -0.0618195721 0.0642716668
+ -0.0893120375 0.0045092023 -0.4219473328 0.4313195157
+ -0.0173901063 0.0980486800 -0.2280732197 0.2488641256
+ 0.0470683860 0.1067218125 -0.0220928902 0.1187142536
+ 0.2236348783 0.1462105889 -0.2007592535 0.3342070810
+ 0.2304940378 -0.1786278713 0.2738302916 0.4000230574
+ -0.0034266964 -0.0207838453 -0.0099250562 0.0232855581
+ -0.0198610958 0.0339167728 0.0860577817 0.0946084161
+ -0.1495093893 -0.0992705397 0.1721689527 0.2486962923
+ 0.1388593068 0.0621639466 0.1820504657 0.2372522611
+ 0.4364050518 0.1711414837 0.2526138346 0.5324965034
+ 0.1135784502 -0.3755312317 -0.4819257884 0.6214307973
+ 0.0656586648 -0.1174273893 -0.3106626572 0.3385432596
+ 0.6794157833 -0.2958876229 -1.3108688155 1.5058327741
+ 0.2105562628 -0.0146095214 -0.3598329775 0.4171656141
+ 0.8891967174 -0.2859846717 -1.2899195992 1.5925924171
+ 0.9709628090 -0.4638594187 -1.5007185975 1.8466430748
+ 0.8378588087 -0.0907723342 -1.0811879512 1.3708444061
+ 0.1779040294 -0.0469475636 -0.1539205319 0.2398863222
+ 0.4696086571 -0.2188612179 -0.5030102129 0.7221161941
+ 0.4511368236 -0.1140360671 -0.5914121373 0.7525270589
+ 1.0715035537 -0.0504322193 -1.2598340838 1.6546435245
+ 0.0668091207 -0.0378517174 -0.0814590598 0.1119454758
+ 0.6316389071 -0.1273235117 -0.6462307006 0.9125749854
+ 0.2684052593 0.0083959523 -0.1886456222 0.3281753282
+ 0.3892874920 -0.1743366297 -0.6509560390 0.7782555985
+ 1.3389273647 -0.3627304714 -1.9218592665 2.3701989205
+ 0.0045094441 -0.0453764540 -0.0434900736 0.0630138411
+ 0.3133525938 -0.1008805853 -0.3655345011 0.4919168751
+ 1.4519335046 -0.3776623331 -2.3436634930 2.7827141980
+ 1.1774890796 -0.2142441295 -1.7232930015 2.0981229346
+ 0.2355847301 -0.2200748912 0.1401791546 0.3515441909
+ 0.3730544183 -0.2033339289 0.0678202445 0.4302486156
+ 5.7036562093 -1.3847122534 1.0304717985 5.9591101942
+ 0.3132978256 -0.0441957346 0.0509066642 0.3204688424
+ 12.0524189062 -3.0888845437 2.7804315114 12.7488355783
+ 31.6297261863 -7.9897036677 7.4822494855 33.4702704005
+ 0.1298166828 -0.0603422723 0.0449212824 0.1500382703
+ 5.6041248096 -1.7827306116 1.3929423696 6.0435611820
+ 15.2635626061 -3.9126479532 3.5227360906 16.1460467918
+ 12.6420333259 -3.3156273590 2.8203654708 13.3704469927
+ -6.8280628114 1.6575170026 -7.0642230364 9.9635862759
+ -28.7310801665 6.6899382857 -29.6661493612 41.8367142558
+ -23.0805998372 5.2804748057 -23.7593817157 33.5428860164
+ -9.5867328041 2.3566842001 -9.6302827557 13.7920713461
+ -2.4941626575 0.7605935548 -2.3465485517 3.5079395695
+ -12.8361288251 4.1724746846 -12.3930282133 18.3238341103
+ -0.2218939688 0.0177591193 -0.1601445527 0.2742236267
+ -0.3547183900 0.1627198093 -0.4375984432 0.5863405751
+ -1.5077751291 0.4846678610 -1.3722432145 2.0955524844
+ -1.0249084149 0.3454253853 -1.0884030972 1.5343980115
+ -0.6851007890 0.1387858818 -0.6931465231 0.9844169414
+ -0.1348478831 0.0027831157 -0.0667382711 0.1504848634
+ -1.7172317946 0.4278616379 -1.5483601280 2.3514611847
+ -0.1185075147 -0.0023470526 -0.1255368894 0.1726529765
+ -0.2481981444 0.1582306347 -0.1468021309 0.3289226630
+ -0.9966635486 0.3389627921 -0.4783137759 1.1562949761
+ 0.0088328598 -0.0568652170 0.3666038530 0.3710930576
+ -0.0824728099 0.0441797782 0.3879523579 0.3990747413
+ 0.1199632582 -0.0647633161 0.3012285579 0.3306419733
+ 0.0018630421 -0.0049969991 -0.0147954815 0.0157272757
+ -0.0136056330 0.0078110768 0.0042779078 0.0162612013
+ 0.0895632652 -0.1214885998 0.5518245090 0.5720938272
+ 0.3093767760 0.0801078725 4.7396091515 4.7503711613
+ 0.1443427580 0.0774488471 4.1438348166 4.1470712729
+ 0.0800206896 -0.2831535685 44.4006608942 44.4016358606
+ 0.0077367737 0.0117045964 0.7717758140 0.7719033374
+ -0.1114386512 -0.0611335023 10.4091099025 10.4098859187
+ -0.2179700232 0.0686322286 20.7719389630 20.7731959408
+ -0.0517190611 0.1441402526 13.4281329719 13.4290061578
+ -0.0315432027 -0.0288834445 4.1154298514 4.1156520855
+ -0.0210490068 -0.1913294761 14.6251063933 14.6263729969
+ -0.4133059803 -0.9942214423 74.9928286595 75.0005576544
+ 0.0017189742 0.0003086548 0.1162765244 0.1162896396
+ -0.0197978822 0.4918674160 1.4905912780 1.5697731904
+ 0.1498213953 0.2658028537 0.0262280525 0.3062442134
+ 0.1485723914 0.0742812231 -0.0073876616 0.1662709630
+ -0.0050837918 0.0002284770 -0.0021956656 0.0055423901
+ 0.1905224494 0.0721540097 1.0400756752 1.0598407498
+ 0.1789403158 0.0666764902 2.9045526860 2.9108231992
+ 0.1943735087 -0.0680286041 3.0118739143 3.0189059985
+ 0.0150257083 0.0162010005 3.8405935297 3.8406570928
+ 0.0864382180 -0.1775350230 10.9516521209 10.9534320844
+ 0.0112700861 0.0077621474 6.2645553713 6.2645703178
+ -0.0880690210 -0.2011746802 24.3996872285 24.4006754876
+ -0.0428591497 0.0438332411 44.4944475561 44.4944897890
+ 0.0444439323 -0.0497049989 94.1332069530 94.1332305677
+ 0.3963642912 0.0673770453 -289.8837440594 289.8840228682
+ 0.0542374607 0.0178424362 -96.5357422683 96.5357591535
+ -0.0134026835 -0.0410107441 -5.2778715751 5.2780479229
+ -0.0074119146 -0.0297613121 -58.9036529918 58.9036609767
+ -0.2811166895 0.8565449965 -1345.2132113785 1345.2138415713
+ -0.0217590821 0.0295680705 -1.4316647060 1.4321353144
+ -0.0411871732 -0.1433145865 -4.1950850614 4.1977344040
+ 0.0000161243 -0.0197893201 -18.6652813563 18.6652918468
+ -0.0037080800 -0.1644263966 -20.7846855998 20.7853363041
+ 0.1864447321 0.0253239348 0.0515967916 0.1951029695
+ 0.1036221868 -0.0670423838 -0.0340109532 0.1280194664
+ 0.4672472776 0.2236570795 -0.0501273890 0.5204375686
+ 0.1891841769 0.0409518465 0.0506236100 0.2000761265
+ 0.0261105832 0.0529552694 -0.0657671278 0.0883817754
+ 0.1618126437 0.0242326171 0.0023687129 0.1636342329
+ 0.3565264181 0.0124879620 9.3933918502 9.4011997783
+ 0.5033500838 -0.5007399100 16.8454871381 16.8610206829
+ -0.1398195181 0.0757052286 -118.9195521575 118.9196584511
+ 0.0018271729 -0.0111140989 -74.4314662452 74.4314670974
+#END
+ -0.2377147175 0.4341759888 -2308.6715816616 2308.6718253878
+ 2.6350475198 2.6632616972 110.9547733728 111.0180960578
+ 0.7209068511 1.1295195065 50.1035529096 50.1216621328
+ 2.5437837979 1.5473394180 95.3273926328 95.3739815738
+ -0.1521961007 0.9209601948 33.5354507105 33.5487297148
+ 0.4407997008 0.3341357031 1.9998934723 2.2772517511
+ -0.2452681819 0.4908898821 2.4250199151 2.6574802989
+ -2.3749768658 -3.2162867818 2.5118877270 4.7237776741
+ -7.6967366880 -11.0706036409 6.9799133886 15.1834347667
+ -3.2252974823 -4.2093618244 3.1398301238 6.1643559119
+ -4.7218655152 -6.9627507620 4.0274348293 9.3282165072
+ -1.0604800715 -1.2427656789 1.5787359322 2.2761747392
+ -3.9430037859 -4.4166182485 4.3035835641 7.3793616049
+ -0.6764400527 -0.1893843429 0.6198299243 0.9471570589
+ 0.4027955320 0.0277472254 1.9749529039 2.0206268598
+ 0.7949267590 0.5530477440 14.5367756778 14.5696635942
+ -3.0042310843 -1.1934326443 19.9345176380 20.2167621327
+ 20.1828410706 -28.0152665041 15.0024756379 37.6584558636
+ 16.2032408593 -26.1971535616 13.0500343651 33.4538300616
+ 5.8230188034 -9.9530921505 5.3151340680 12.7320474900
+ -0.0235127327 -3.4010605785 2.9146850370 4.4813652559
+ 9.2932983985 -75.3225356136 72.3253366387 104.8412460727
+ 4.2055170651 -43.8692701003 40.9317428634 60.1467063648
+ 15.1308001691 -124.7999279511 119.6295090976 173.5398091767
+ -0.3132702993 0.2870411145 32.4285472446 32.4316309652
+ 0.1823331019 -0.5944312335 48.0785352151 48.0827580538
+ 0.6721179022 0.1995256309 211.1461093829 211.1473195195
+ 0.0502855078 -0.1370903784 185.0087052715 185.0088155424
+ -1.3092936884 -0.5306729329 1126.1714216048 1126.1726985918
+ -0.4610609696 -0.7165509012 7.1527445447 7.2641673663
+ 0.9002556468 0.4370354256 5.7729378006 5.8606954219
+ 6.1374912605 -8.9099936339 -5.3899060330 12.0883147030
+ 0.3573057754 -1.4224510988 -0.2033725613 1.4872372807
+ 6.0285101154 -10.0120805850 -4.3766848375 12.5148077337
+ 3.0241120190 -4.6746167363 -1.3306262404 5.8009182989
+ 0.0602325628 -0.4261663847 0.9983137957 1.0960638525
+ -0.4953551263 -0.5116066824 0.3808844306 0.8195552654
+ -0.9086508225 0.7156795014 0.3866882009 1.2275386004
+ -3.5574742858 3.2068197264 1.9870515413 5.1872121284
+ -2.0124220703 2.3854667380 1.4041650818 3.4251209480
+ -6.8803456735 7.3831875316 4.2339920410 10.9451716799
+ -2.0747988849 2.0092110683 1.4637946615 3.3715287521
+ -0.7064007364 1.5344697060 1.1406408572 2.0430713715
+ -1.8273913683 2.5631539547 1.4575448231 3.4717479898
+ -0.0552032091 -0.9752813741 -1.7841517099 2.0388472875
+ -0.0526878435 -0.4863241518 -0.0442639355 0.5106136214
+ -0.3433650464 -0.4293632765 -1.5008564783 1.6728608749
+ -0.3852291363 -0.9263684797 -1.9087563962 2.1608773247
+ 0.5972687395 -0.9628109248 -20.8964225289 20.9275820179
+ 1.9143061027 -1.5662711969 -21.3041060150 21.4476615555
+ -0.4636194751 -0.3477175292 -21.9880043352 21.9960829451
+ -0.6070718221 -0.1719833032 0.5135470468 0.8254240171
+ -0.2489117841 -0.4604581646 1.2828612739 1.3925486098
+ -0.5703040169 -1.1940672201 -0.6751169573 1.5653967752
+ -0.4430147703 -1.1637278285 0.0929354544 1.5626750555
+ -0.2497810066 -0.8014242179 0.4842090059 1.3497857143
+ -0.2585994017 -0.3758374654 -0.9321143768 1.0471124330
+ 0.1451662201 -0.2168313885 0.4627779647 0.5493016584
+ 0.0130910043 -0.5025166792 0.9051272746 1.1469920359
+ -0.6784484261 -0.0731407164 0.6478729775 1.3288084208
+ 0.6839570086 0.1010334348 -1.5640739487 1.9505596259
+ 0.4127909680 0.5727139867 -3.7171761220 3.7861954256
+ 0.4840827508 -0.4475183832 -1.4182756576 1.8245291006
+ -1.1843414744 -0.9112578999 -3.9548510227 4.3306180729
+ 0.3913656852 -0.0308243742 -0.7461149872 0.8545669082
+ -0.4379726603 -0.2489408848 -76.6403335134 76.6421163098
+ 8.9845276441 -91.8278139266 89.6933340396 128.6778255895
+ 0.0923284210 0.2490313906 0.1750724100 0.9907280719
+ 0.4738844286 2.4275744803 -0.0299281934 2.6455492055
+ 1.1205501567 12.2281290315 -3.9421948827 12.9060959905
+ 11.7257089531 177.3816977690 -61.6883511328 188.1680926702
+ 0.4316138415 15.1992564028 -4.6325801380 15.9231679080
+ 1.3257620646 20.8414747286 -8.0065952699 22.3855550191
+ 0.8235926928 5.3752448801 -3.2019158567 6.3298869309
+ 0.1787100403 6.1611379028 -3.1367825516 6.9174013977
+ 0.4639357006 3.2913918792 -1.8132511813 3.8183789287
+ -0.5054955114 -0.1700033882 -2.3963868903 2.5041441556
+ -2.1879032137 0.1090530292 -5.9432424764 6.3533129255
+ -1.2217580700 1.0086660120 -3.8918062335 4.2042520678
+ -0.3672613283 0.2915010944 -17.7741575050 17.7871911708
+ -0.0307545520 0.2558516683 -7.0898948451 7.0959491697
+ 1.8216346778 -0.0570879569 -134.4772694727 134.4896914137
+ -0.5429252414 -0.1249040419 -9.9395738065 9.9561526745
+ 0.2740352260 0.1333852986 -6.0541207114 6.0633937952
+ 0.2986744966 -0.0800834745 15.2126985110 15.2164810514
+ -0.2955743464 -0.1672354886 6.4874990494 6.4978808548
+ -0.4071107970 0.1545753407 1.9846445103 2.0366458588
+ 0.4990746435 -0.1055695050 7.2943577663 7.3135050029
+ -0.2818813558 -0.3636171022 52.8350512763 52.8372387398
+ 0.0338151452 -0.4967308830 114.9974844456 114.9986469209
+ 0.4729037040 0.3197024873 139.8014067607 139.8057293950
+ 1.8644721584 1.3255929552 69.5109912452 69.5486258455
+ 0.0851599951 0.1422199464 2.0073341889 2.0189970452
+ -0.0312759069 0.1397065011 1.1334170792 1.1509170904
+ -0.0235310253 0.0731040907 0.0927084632 0.1203859475
+ -0.3458448316 0.2989761162 0.9661483670 1.0688489288
+ 0.3461485667 0.0220135141 1.1323739873 1.1924990806
+ 0.0873714583 0.1214013465 0.3506279290 0.4059455482
+ -0.2539626985 0.1261126721 0.5029223639 0.5939799216
+ -0.4873974465 -0.3856774078 0.4748352483 0.9270637926
+ -2.0174056282 -2.9382119495 1.8155131241 4.0023221531
+ -2.8919175041 -4.7121150643 3.4391697641 6.5126479777
+ -6.6574276526 -10.0347527596 6.3413836977 13.6106661440
+ -2.6651189291 -3.3103529508 2.4960933099 4.9306447004
+ -4.7009446522 -6.6801452469 4.0892198341 9.1348201950
+ -7.0150174690 -9.2500265040 6.3819776816 13.2477582837
+ -1.2902470527 -1.9336473699 1.0884442985 2.5667957845
+ -0.2075399089 -0.3738103261 0.2524595489 0.4965307619
+ -6.0498743539 -8.1641801220 5.7946707567 11.6983975709
+ -8.5414380338 -11.4247005585 8.9938083350 16.8638078348
+ -1.0595618730 -1.2873693428 1.3207875219 2.1316544397
+ -6.2325785142 -7.3765700669 5.9663163685 11.3902828622
+ -2.6819908692 -2.8203316031 2.5476010572 4.6537185460
+ -1.4516918596 -1.0629882950 1.2310113419 2.2361613813
+ -4.1737301714 -3.7590934493 4.1614850623 7.0534783485
+ -5.8456787070 -2.9429606058 7.4249853668 9.9099457784
+ -6.8713987323 -3.7834380612 8.7926469940 11.7839146741
+ -14.9081503780 -8.3401641447 18.6886345650 25.3198702079
+ -0.4191348178 0.2167521307 0.6938714067 0.8506425781
+ -0.4309435418 -0.5831389212 1.0944545906 1.3202552683
+ -1.2781351851 -0.5357722936 1.3614904473 1.9477724521
+ -0.2133182564 -0.1688199058 1.4470717292 1.4790203560
+ -0.5976075168 -0.2847644740 0.7846466188 1.0360384409
+ 0.3102028317 1.1474694057 16.1129495388 16.1573368616
+ 0.4132935552 0.2922259637 4.1643508939 4.1973212564
+ 0.0495881026 0.0772431129 1.8196805340 1.8273320741
+ 0.2042057887 -0.0801924809 3.4929481745 3.5026129636
+ -0.0616010608 0.1950000816 3.5355747887 3.5414839840
+ -0.0204921708 0.0263815043 2.4916281825 2.4918521049
+ 0.4181895424 0.0289232711 3.8002639034 3.8258599777
+ 0.6866362814 0.5457904864 19.4760505243 19.4962914537
+ 0.0604875516 0.2455242512 10.9868642707 10.9897737649
+ 0.4408145603 1.3231990539 74.9383853631 74.9513627230
+ 0.8199366383 0.6663399472 25.8308215439 25.8527972652
+ 0.2803113566 0.4678785189 23.1913461086 23.2167786500
+ 0.1557178074 -0.1344464992 6.3667021940 6.3715540105
+ 1.5109384010 0.9107620031 73.4634642454 73.4906510585
+ 0.0290457615 -0.0006040639 4.9473559773 4.9494095579
+ -1.6990895761 -0.4500963148 6.6259331161 6.9191960172
+ -0.1821115125 0.1810086560 1.7975423153 1.8211443921
+ -0.5164163071 0.3311332752 2.3450406504 2.5996812276
+ -0.0585672767 -0.0030124545 1.7395253464 1.7461006319
+ 0.1219031075 0.4127166488 1.2765868773 1.6424558563
+ -0.2920659488 0.1285868983 0.7115488985 0.7922239132
+ 0.6649566972 -1.6029524639 1.8195963248 2.6838229056
+ -0.1604220588 -0.2614920355 0.1278979850 0.3604871718
+ 0.6128066938 0.1165307142 0.0573867754 0.6417822670
+ 0.4227180895 -0.4634596623 0.3287290517 0.7218227041
+ 1.7005664700 -2.9000048641 1.6001060791 3.7258252482
+ 18.5064232968 -27.2540486867 14.5789428754 36.0254899787
+ 5.6812055201 -7.9862517647 4.1905412194 10.6600388792
+ 2.0066512455 -3.2409889127 1.4821431356 4.0899152348
+ 3.7655284333 -6.4403758013 2.9056058147 8.0062594259
+ 5.2510297245 -7.9132359865 3.9895800019 10.3018855227
+ 5.5578915915 -8.4962996385 4.7622770492 11.2534146360
+ 0.5656168802 -0.9613766849 0.7086164672 1.3288283064
+ 4.5998221120 -8.4317501230 3.5769248857 10.2502021942
+ 0.4844194718 -1.2390824351 0.3318359278 1.3782533778
+ 0.3197825926 -0.7748439252 0.7229590880 1.1157032056
+ 0.6541304026 -1.9903745614 1.9477788504 2.8640530221
+ 0.1225524209 -0.5096951450 0.5416526036 0.7666000030
+ 1.2757468733 -9.2719323817 8.0124677477 12.3213383757
+ 0.1175266064 -2.2761968785 2.4031688796 3.3150543257
+ 4.6591357959 -39.7868864984 37.7543788293 55.0464938408
+ 3.7991806245 -38.7832116169 37.1312731566 53.8267796060
+ 2.2302158541 -24.2195946958 23.1318023815 33.5657919792
+ 3.2312369504 -33.4219979954 31.7743613649 46.2287828324
+ -0.3737664878 -0.0965006369 333.6604981438 333.6607506362
+ 0.1776961535 0.3355879580 312.9391355837 312.9393970961
+ 0.3615429647 -0.0456121733 161.1020805523 161.1032488593
+ 0.3604703585 0.6574221297 12.4990857040 12.5566570697
+ 0.1858790234 0.0955005290 2.7582476993 2.7696717347
+ 0.3061265385 -0.2471853011 0.3926827297 0.5731435612
+ 0.0072682405 0.0418884502 0.1570557533 0.2143682909
+ -0.2697575985 -0.0075740501 0.4768061448 0.5653763461
+ 0.2797492838 -0.4618539600 0.9245312371 1.0797252129
+ 0.4499071429 -0.5902029228 -0.4428247026 0.8754024385
+ 5.9052374147 -7.3712003174 -5.1060094380 10.7376550144
+ 1.0351550516 -1.8534982776 -0.9132285257 2.3110578067
+ 0.3355072860 -0.4854564662 -0.2070886849 0.6253949496
+ 1.7496529196 -3.3250098361 -1.6720193754 4.1148638283
+ 2.1470208624 -2.3099678381 -1.1544796793 3.3583438368
+ 0.3588126361 -0.4230453450 -0.1498763642 0.5746101255
+ 0.6066135197 -0.9114434012 -0.5913244447 1.2521395368
+ 1.6733563776 -2.6793491908 -1.5274215187 3.5116278182
+ -0.0363879673 -0.1537071505 0.0065067983 0.1580895654
+ 0.9674137922 -1.6351570450 -1.2319070932 2.2643372305
+ 0.3654629558 -0.7786333724 -0.5022393095 1.0057620045
+ 0.0725726059 -0.1768859238 0.0530357150 0.2425860366
+ 0.2709803114 -1.1447092274 0.3281953457 1.2292198804
+ 0.0714600677 -0.1180381797 -0.3452266296 0.3971155548
+ -0.1910645967 -0.5426429063 0.1307858805 0.6062604517
+ -0.2031251700 -0.9314689420 1.2178688611 1.5529258103
+ -0.3723370998 -0.5923149397 0.4175653469 0.8266271878
+ -0.7692619971 0.9300009799 0.9703700243 1.5549159501
+ -0.4157798244 0.5025340115 0.3322793451 0.7319992202
+ -0.4220956989 0.5129675628 0.4992110272 0.8309706067
+ -2.0269272381 1.2318634296 2.2366025247 3.2630954899
+ -0.8036447223 0.9169000594 0.6247512548 1.3770782381
+ -1.7471705174 1.1875329176 1.4023596743 2.5394746874
+ -2.8437748935 1.9187766650 1.9378958191 3.9425473397
+ -3.1176814964 3.1784886253 2.4602401628 5.0887119487
+ -0.3765661735 0.4220860809 0.3333628396 0.6712445981
+ -17.0315247162 16.3019539379 10.3289179600 25.7441402654
+ -8.0511481243 8.4430264775 5.3615796889 12.8402374887
+ -4.7792412299 5.1797259384 3.3518195995 7.8054392537
+ -18.3516402939 17.9026496592 12.0159039084 28.3141129619
+ -14.0464034039 13.8079218546 9.9370118663 22.0618185820
+ -4.7732564499 4.8424115810 3.4786393617 7.6389357014
+ -1.3224013571 1.3359309183 0.9731986286 2.1167362468
+ -0.0849398506 0.1805373218 0.3040110814 0.3895009953
+ -0.0142308572 0.0148071882 -0.0815975270 0.0841422993
+ -0.0179621444 0.1020566169 -0.0075316248 0.1038985903
+ 0.1278597683 -0.1849505936 0.6843311234 0.7337190973
+ 0.4001170803 -1.3399664539 1.3075516146 1.9195767204
+ 0.1585630679 -0.2530946483 -0.3042455778 0.4263385029
+ 0.0009113939 -0.1993635214 -0.2251378488 0.3007219568
+ -0.1851967294 -0.0218054420 0.1616663894 0.2835297379
+ -0.2859158297 0.2322962743 -0.1217216700 0.4123170753
+ 0.3684877401 -0.4631979758 0.7708190283 0.9818234763
+ 0.1340275559 -0.0798746586 0.6691342618 0.8460052997
+ 0.2106732230 -0.3483497760 0.6610858560 0.9200033925
+ -0.3767574128 -0.1551437588 0.1713763924 0.4635357448
+ -0.5890137148 -1.0928097352 -1.7233453788 2.1805344593
+ -0.1013078945 -0.2383993449 -0.8020693572 0.8543375070
+ 0.0438527765 -0.0788795844 -1.1534352104 1.1653487137
+ -0.4778626588 -0.6964761624 -0.8140675105 1.1813625447
+ -0.0310072143 -0.0135729287 -0.1460189716 0.2048096597
+ 0.0057214853 0.1078041383 -0.3371000336 0.3539645466
+ 0.0636368710 -0.3202863383 -6.6926631892 6.7006248630
+ 0.5981661959 -2.2614147005 -20.5799777727 20.7124910228
+ 0.0739092979 0.0331935370 -3.1189800271 3.1200321800
+ 0.3396516511 0.3298221384 -32.7868089827 32.7902270372
+ 0.1063203920 -0.9015724706 -21.8302390865 21.8495527484
+ 0.0389097165 -0.4537406698 -51.5526653553 51.5548657217
+ -0.0030271687 -0.3685827895 -23.5952119637 23.5985035507
+ 0.0107905294 0.0518866383 -23.5105253978 23.5109994029
+ -0.3490767392 0.6157345398 -40.7498214632 40.7562070446
+ -0.3884450394 0.6939331077 -314.0131780938 314.0145730539
+ -0.9626114581 1.3597012213 -289.4516104099 289.4568254820
+ -0.7491841464 0.8529266458 -274.3100052696 274.3123898616
+ -0.3579642361 0.5983983918 -87.3788745129 87.3817681783
+ -0.1291223583 -0.0606460946 -2.6338236739 2.6413741617
+ 0.1459932977 -0.1772630437 -20.6990713437 20.7215984257
+ -0.2233872496 -0.0448846593 -4.0179783834 4.0268531846
+ 0.0002599285 0.0178139027 -1.7422868456 1.7479589926
+ 0.2647570302 0.0512479636 -9.4865331311 9.4913915351
+ -1.4177242519 -0.7691955533 0.6158783748 1.7265312121
+ -0.2620229703 -0.1350861742 0.1763938946 0.3435391062
+ -0.2076576140 -0.1199113221 -0.0376563791 0.2799967814
+ 0.1324333522 -0.1015024929 0.3856750405 0.4427938241
+ 0.0184689500 -0.0847312140 0.3325020364 0.3708879479
+ -1.4461849335 -1.4280108528 3.6444983625 4.1752262163
+ -2.6040373712 -3.1175061741 1.0332325627 4.1913512027
+ -0.0798132309 -0.1254518975 0.0202353320 0.1500593186
+ -0.3417306815 -0.2947356987 0.5529097236 0.7272124436
+ -0.5309474558 -0.3750224637 0.3458513608 0.7494264458
+ -0.0978950221 -0.9460040633 0.8872624376 1.3081366677
+ -6.1453056108 -8.4644419285 0.2618748116 10.4642064397
+ -0.9333741972 -0.9752554442 -0.0493103381 1.3580213061
+ -1.2639507938 -1.7051271563 -0.1721649686 2.1340456391
+ -0.3701271038 -0.4512903862 -0.0550605440 0.5862497327
+ -0.1299851300 -0.0886971526 -0.0707229343 0.1725255121
+ -0.0265316385 -0.5810731741 0.0150580448 0.5818734452
+ 0.1147255280 -0.9884260887 -0.0484101507 0.9962387376
+ -0.2324933131 -0.0020866343 1.1301599511 1.2549740913
+ -0.0730586523 -0.3312932104 0.2253138139 0.4305099970
+ 0.1600189281 0.0655138512 0.8521840964 0.8806790795
+ -0.1039468387 0.3103772082 0.2035223774 0.4099269443
+ 0.0042305757 0.0212708278 -0.0123340708 0.1417824393
+ -0.2945065663 -0.1050218703 1.5820995491 1.6187286613
+ -0.2638455971 0.5393920657 0.9722593439 1.1512281774
+ 0.2159212816 1.0642597992 1.4824678622 1.8429491766
+ 0.5904416695 0.0332982709 -0.1790189706 1.1234449362
+ -0.1003867063 0.3332426533 -0.6435599963 0.7316403663
+ 0.0284980610 0.0970227807 -0.1094985485 0.1490486215
+ 0.3817548181 0.1314704161 -0.1227419094 0.4444846147
+ 0.8121338823 0.3803254619 -0.4939559664 1.0332865921
+ -0.2483926752 -0.3322943981 -0.6487013734 0.7700207529
+ -0.0766480625 -0.0570910179 -0.0636996178 0.1148562194
+ 0.1068681446 -0.1241938963 -0.0518697118 0.2213937129
+ -0.0155452771 -0.1686975807 0.0596284948 0.2274552080
+ 0.3177372024 0.4355954505 -1.5702612595 1.6661033984
+ -0.0272315941 -0.2319920397 -0.2399505847 0.3627918607
+ -0.1455251962 -0.1413469819 -0.8898085609 0.9232527346
+ 0.0516299300 0.5899743538 -2.9529434676 3.0149776608
+ -0.1624996260 -0.4211801888 -3.1642240671 3.1993112715
+ -1.2486946223 -0.7065707795 -8.5549696938 8.6755672306
+ -0.0769712779 0.1975473746 -39.0584298576 39.0592546302
+ -0.3295477601 0.3312731213 -76.6318446946 76.6333964058
+ 0.1827129067 -0.1520714103 -105.7427169736 105.7429841771
+ 0.6180328759 0.3697044437 -602.7543322057 602.7547624356
+ 2.6154168776 -28.5229569309 27.8159017129 39.9267247018
+ 0.1261177410 -0.5195239844 0.5517854459 0.7682955377
+ 1.3982157067 -6.0918325495 7.1221548424 9.4757860135
+ 0.3287226371 -2.3199469222 2.3833408250 3.3451465688
+ 0.0911613493 -2.6948192417 3.8731072175 4.7213134232
+ 0.1719815561 -1.7830664973 1.7513611637 2.5091132896
+ 0.1114996819 -0.2006872533 -0.0371963640 0.2712395751
+ 0.2335461793 -0.7416638911 1.1878645519 1.4265732101
+ 0.0168356315 -0.1517788007 0.4396589398 0.4859012359
+ 0.3069525736 0.0918702669 -0.2349339490 0.4211101681
+ 0.2044817104 -0.1238833559 0.1401764096 0.2771448747
+ 0.5035391930 -0.2286454429 0.5733188064 0.7965707195
+ -0.0838660851 0.0170342693 -0.4310155667 0.4394292950
+ -0.0162685967 0.0475842923 -0.0382077875 0.0631566872
+ 0.0674259701 2.8007227281 -0.9048307948 2.9440300318
+ 0.0939484878 1.4774145416 -0.5617211758 1.5833858423
+ -0.0038961811 1.4703797454 -0.2222892681 1.4936278250
+ 0.0208509382 0.9467539162 -0.2572745759 0.9911850139
+ 0.3385637849 9.4409037927 -2.5590816121 9.8324452880
+ 0.0703565722 3.3453530409 -0.6758864449 3.4165244455
+ -0.0795158132 18.5500395603 -4.1477433132 19.0314060342
+ 0.0223788945 3.7811647036 -0.7349745067 3.8519988131
+ 0.7401175360 10.3037714258 -3.2915321346 10.8429305605
+ 0.8765530835 14.8706076665 -5.1848873216 15.7735808871
+ 2.2822091726 30.8993402220 -10.9806293488 32.8720459592
+ 4.5164999163 63.7091229436 -22.1561507141 67.6030000222
+ 0.3157874102 4.4965734112 -1.5407638084 4.7637010028
+ 2.2440694457 29.2046188206 -10.3136849206 31.0534652620
+ 1.7455717757 28.4923802941 -10.1443899568 30.2950636743
+ 2.6437614435 43.3867515208 -14.8764839044 45.9426700926
+ 3.3602410170 51.4101725689 -17.4139072033 54.3834598672
+ 0.9196821584 11.7581780005 -3.9889742001 12.4511830810
+ 0.5129976938 4.3980027316 -1.6177805947 4.7161730777
+ -0.4110962252 2.9471022916 -0.6798971203 3.0555117252
+ 0.7570918867 11.2019116195 -5.3798726957 12.4506434397
+ 0.2577937327 7.3529839234 -3.7775282295 8.2717609671
+ 0.1081481260 2.5536652179 -1.4734004478 2.9535217498
+ 2.0576493628 12.5353646442 -6.8800127452 14.4472607376
+ 1.2114605173 6.4713780960 -3.3229632237 7.3761734943
+ 0.3017732385 2.3435341282 -1.5317945614 2.8194137087
+ 0.0187956515 0.0929917099 -0.0888843351 0.1300044601
+ 3.2959528841 8.9598298460 -4.1938002659 10.4282930885
+ 4.9346028045 17.5144688753 -8.2115675931 19.9638735456
+ 2.2999146975 6.4078610069 -3.4739601453 7.6444861944
+ 0.9104563062 3.1575768332 -1.4580241335 3.5978516231
+ 2.2371684649 8.0098055013 -3.7494784121 9.1235944154
+ 0.6715031184 0.3307296624 1.2325449909 1.4487737874
+ 0.0200536445 -0.0910347475 -0.1201852189 0.2064309707
+ 0.0808156521 0.2396953497 0.1166230256 0.3115537599
+ -0.5766682852 -0.1684834851 0.5087805575 0.7995438928
+ 0.5647731371 0.3947958708 0.8411082623 1.0962551572
+ 0.2760992214 0.0858859788 1.0782734942 1.1250603071
+ 0.2309552519 -0.1541269819 -0.1828797133 0.5985113811
+ -0.4451326668 -0.3156221856 -11.1270406010 11.1412868546
+ -0.0156762661 0.0126505763 -0.8673718830 0.8676057663
+ 0.1016787631 0.0137566164 -0.6005962535 0.6092976900
+ -0.6713176187 0.1053278935 -23.6508260590 23.6609977467
+ -0.2120140743 0.1160721067 -7.1870412875 7.1924588949
+ 0.0437788018 -0.3854396725 -3.4370345401 3.4944759526
+ -0.1660568559 -0.1825478528 -5.9299140960 5.9350467381
+ 0.1770273975 -0.2945256180 -2.1324338390 2.1599440078
+ -0.0215160453 -0.1499918694 -12.4077557512 12.4184944435
+ 0.4348819770 0.1795557400 -37.2856396595 37.2888692132
+ 1.7357253688 -0.6198698208 -115.0579650012 115.0728107380
+ 0.1239447657 0.1492099254 -5.9217112471 5.9248873408
+ 0.0085456217 0.0685847635 -5.6328021110 5.6332261200
+ -0.3824334831 0.3768684664 5.4466225619 5.4748024920
+ 0.4331927824 -0.1206052721 5.7140895246 5.7334544996
+ -0.1956830387 -0.2454755844 6.9958893404 7.0043199215
+ 0.0258945859 0.3558158249 1.4702200340 1.5193097657
+ -0.2241929565 0.0335405905 0.6467250801 0.6993715515
+ -0.0313011320 -0.0753798217 0.3960406437 0.4277731346
+ 0.3859105205 -0.0416244041 7.2305171712 7.2422729767
+ -0.2591097430 -0.0260337382 22.5358868422 22.5378235676
+ -0.3911313369 -0.8602381379 179.0578601134 179.0628119191
+ -0.0655506127 -0.0277736023 14.7603385676 14.7611700983
+ -0.1957660441 0.0284435638 17.5958954063 17.5975608626
+ 0.1225797515 -1.1494993645 111.4589755804 111.4649703360
+ 0.0638710006 -0.1492953664 14.2475046745 14.2484300209
+ -0.1725353166 0.4829220409 14.7681305256 14.7776906565
+ -0.1058408573 -0.1333451658 0.9859470065 1.0102249773
+ -0.3294909348 -0.0664421386 5.0676928562 5.0807449753
+ 0.2314345918 -0.1375358150 7.1070359985 7.1135025508
+ -0.6241442485 -0.1876012790 3.7416388837 3.8005383308
+ 0.0287386229 0.0927421140 3.6721210189 3.6734043864
+ 0.8060776882 1.1825667870 43.9939381523 44.0172104931
+ -0.1072995410 0.1688098083 2.1250955346 2.1917382150
+ -0.0546059780 -0.4039590046 0.5690756430 0.8588871909
+ -0.3718427839 -0.1550479273 0.2441664072 0.4913287443
+ -0.1033609561 -0.4250077497 0.4757832926 0.6611842413
+ -0.2567381840 -0.7947507102 0.4227864091 0.9361044462
+ -0.3622304293 -0.7020267233 0.3747681002 0.8743589269
+ -0.8944242650 -1.1509338768 0.9391415075 1.7339637614
+ -0.0355386025 -0.1050589485 0.0657941563 0.1289544336
+ -10.4906374204 -12.0145698622 10.3350220960 19.0121992314
+ -0.0440689697 -0.0380577750 0.0153921277 0.0602277836
+ -1.1887653287 -1.3418235853 1.2594111305 2.1908377248
+ -7.6738590301 -8.1798328077 7.9673896637 13.7898465188
+ -0.3460951370 -0.2639222923 0.3978047219 0.5896485538
+ -0.2788576674 -0.1522099872 0.1623069027 0.3567534296
+ -2.5007171039 -1.6898693117 3.0182011587 4.2683465837
+ -0.8455777403 -0.6686896333 1.0766850458 1.5236135430
+ -0.0335546181 -0.0149250942 0.0082434488 0.0376380828
+ -1.5758588702 -0.3896635331 1.3158301703 2.0896358259
+ 0.0776991002 0.0072225333 0.2963767490 0.3064775563
+ 0.0319567692 -0.1178310203 0.7725621933 0.7821494275
+ -0.0796344624 0.0381949576 0.4930813434 0.5009288508
+ 0.0423403716 -0.0266452114 0.1917039967 0.1981239428
+ 0.1301010817 0.4259815680 7.0810266349 7.0950211270
+ 0.0720925047 0.0615147613 2.1204902670 2.1226069743
+ -0.1179506743 0.5338868955 6.3254017508 6.3489884933
+ 0.0163565441 0.0071725698 0.3409534743 0.3414209337
+ 2.4137785680 0.8896626965 78.3356367106 78.3778655332
+ 0.1077549087 0.0198064203 4.0256157065 4.0271063099
+ 0.1995645481 0.1155710038 13.1301403279 13.1321653849
+ 0.1469405791 0.0227340492 15.7152683869 15.7159717753
+ -0.0359569521 -0.0559244988 0.4033275428 0.4087707900
+ -0.1176335958 0.0610728641 1.3275367628 1.3341369548
+ -0.0015417923 0.0031773122 -0.0031833916 0.0047546208
+ -0.5881637099 -0.2089279631 1.0777883122 1.2454778558
+ 0.0211636740 -0.0052760294 0.0135796528 0.0256932784
+ -0.0287536671 -0.5006036221 0.4331235646 0.6625909614
+ 0.7897682005 -1.5952243298 0.8315910990 1.9646929095
+ 0.3496990585 -0.9264166095 0.4892892979 1.1045094761
+ 0.0454727643 -0.1503980551 0.1141248216 0.1941953196
+ 0.6711466581 -1.0032242982 0.7382833518 1.4149060523
+ 1.4665876740 -2.5048763956 1.3437438912 3.1985829375
+ 2.8641365046 -4.5427477792 2.5423052398 5.9416454989
+ 1.0802544390 -1.3558740732 0.9970320764 1.9998542739
+ 0.3505838685 -0.3676640689 0.3604348893 0.6228958387
+ 0.5020508384 -1.0881859231 0.1771514366 1.2114397546
+ 0.2208517153 -0.5950260962 0.1810556549 0.6600096102
+ 0.4319288253 -2.2856358575 2.1018249888 3.1350218607
+ 0.9337800003 -3.9803790633 3.7119449255 5.5221280053
+ 1.4546069641 -11.1809893608 10.9176740915 15.6947765857
+ 4.5396049605 -35.5435019464 34.3826788703 49.6600156072
+ 1.3303698262 -11.9568600406 11.4000156139 16.5739778539
+ 0.5316675291 -5.5696685355 5.2623965721 7.6809306493
+ 1.5827040715 -14.6801948527 14.0727885800 20.3974618889
+ 2.7046333488 -25.6117507463 24.3131793107 35.4176157587
+ 0.0523889920 -0.3757526820 0.3454173253 0.5130768102
+ 1.9797719303 -20.4923259299 19.4027444193 28.2899524552
+ 1.3559833181 -16.0345479972 14.7281696944 21.8143164638
+ 0.1568411763 -2.3669469254 2.2101516795 3.2421917508
+ 0.6996282618 -7.3419521076 6.8704566615 10.0795295125
+ 0.1242461711 -1.7672579398 1.5834460718 2.3761185154
+ 0.4068156954 -4.2029919284 3.9826278907 5.8044780193
+ 0.4679831308 -6.5855569618 6.2352399364 9.0811224952
+ 1.7327957450 -17.4371572930 16.4366581489 24.0254191776
+ 11.5637509777 -115.1063148868 108.9576870578 158.9180972466
+ 0.6038065339 -6.2258812644 5.9363780276 8.6236166389
+ 1.4331084534 -15.9881492849 14.9845517025 21.9593148145
+ -0.0765179947 0.0349627659 15.6362237983 15.6364501108
+ -0.5414825329 -0.1018286701 120.7522454068 120.7535024055
+ -0.2443973132 -0.0347051435 206.5266873924 206.5268349144
+ -0.2162875839 -0.0245360227 102.6094188176 102.6096497043
+ 0.3237057335 -0.1911866295 65.3307119878 65.3317936886
+ 0.2875783454 -0.1747684154 40.1094322494 40.1108439287
+ -0.0268591825 0.0906276891 0.3905694921 0.4018448978
+ -0.2220590270 0.0982374913 0.7361940469 0.7752048058
+ 0.0750736786 0.0209592530 3.7262531037 3.7270682232
+ 0.0174978863 -0.0672990647 1.1102776681 1.1124530734
+ -0.0136237698 -0.0333840771 0.0707566752 0.0794141725
+ 0.2543700394 -0.4883452978 0.6230419787 0.8314845483
+ -0.1756558881 0.0441178961 0.2807045124 0.3340604781
+ -0.0718747982 0.0513063248 0.3875940467 0.3975266917
+ 0.8307406568 -0.8931054609 -0.5646430372 1.3440941792
+ 0.2767086278 -0.4223662254 -0.2162391514 0.5492906914
+ -0.0029335814 -0.2181338426 -0.1802158662 0.2829641985
+ 0.0510139184 -0.0438541450 -0.1373816419 0.1529683674
+ 2.4428852632 -4.9891800428 -1.8152725196 5.8442125414
+ 0.1406130375 -0.2605097397 -0.0667907424 0.3034771063
+ 1.5095019674 -3.1507946325 -1.0344770324 3.6436582903
+ 1.0648670513 -1.9908145749 -0.6252246065 2.3426886940
+ -0.1065710284 -0.0705416483 -0.0159595879 0.1287952510
+ -0.0153243457 -0.1729948464 -0.0683183264 0.1866264884
+ 0.3608522917 -0.4151560759 -0.2230287587 0.5935577234
+ 0.0203337562 -0.0388963966 -0.0669875804 0.0800857493
+ 0.0583011039 -0.1468638933 0.1101662042 0.1926255809
+ -0.0759882837 -0.2132549857 0.1277163139 0.2599295385
+ -0.2189911466 0.0485519043 -0.0504429579 0.2299106385
+ -0.1367728337 -0.0505136760 -0.1118753307 0.1837784784
+ -0.0870507603 0.0658047431 -0.1243212221 0.1654202689
+ -0.0086720261 0.0178778492 0.0351201948 0.0403515751
+ -0.2855777830 -0.1313807409 -0.0057386420 0.3144018149
+ -0.0865109421 0.0294182868 -0.0287292140 0.0957859408
+ -0.9690462370 0.4755670072 0.8619438050 1.3813622663
+ -1.4385419850 0.5742904302 1.3810980580 2.0752456209
+ -0.1789261525 0.0934549253 0.1172808830 0.2334591969
+ -1.9010414789 1.5110780150 1.3196132124 2.7638188258
+ -1.3874010732 1.2067857315 1.0348292155 2.1099964561
+ -0.5946723048 0.5914168638 0.3911023038 0.9254026523
+ -0.2596404021 0.1376885204 0.2311607741 0.3739071683
+ 0.0075384405 -0.0150901031 0.0088845706 0.0190650175
+ -2.2630912125 2.8353966883 2.1677801368 4.2261480023
+ -0.0783865110 0.1259663731 0.1141647281 0.1872045870
+ -2.9562684029 2.9549487150 1.9817968550 4.6258797598
+ -4.7300768212 4.4938394849 3.0582014602 7.2056100520
+ -3.2640566108 3.2888430496 2.1205924066 5.0958283250
+ -5.8605856584 5.7567533059 3.5994003629 8.9689662647
+ -12.7270255727 13.3535377734 8.3992859097 20.2692415938
+ -1.2058471776 1.2066522579 0.7687630762 1.8711156444
+ -1.4362591138 1.4819581655 0.9776279496 2.2835929266
+ -3.5429056984 3.4056167726 2.4552734672 5.4935211102
+ -10.3853500976 11.0688068289 7.5335071716 16.9708722037
+ -1.1324136070 1.4170391372 0.6288539598 1.9249149543
+ -5.4434220742 7.0020090372 3.8400164480 9.6656184769
+ -0.4140311365 0.4204837637 0.2280104199 0.6326271644
+ -1.3012453540 1.6388563715 0.6790331790 2.2000399397
+ 0.0362057857 0.0521376359 0.0095260489 0.9404629341
+ -0.0376562156 -0.0675224456 -0.0775363237 0.1773948636
+ -0.2170179133 0.5155284963 0.5120815402 1.2074293743
+ 0.2043173639 -0.0358707538 -0.0241034415 0.2088379086
+ 0.0178036379 -0.0710910876 -0.0003178614 0.0732871973
+ 0.0365138629 -0.0010764509 -0.0036269924 0.0367093450
+ -0.0353822723 -0.1070919881 0.1649353849 0.1998106111
+ 0.0048522994 -0.4198757160 0.3583453933 0.7432402112
+ 0.1462823353 0.0668196753 0.5133932730 0.7328788933
+ 0.0912800639 -0.1423127659 -0.1033663638 0.1981655333
+ 0.0799617125 -0.3099013552 -0.0310466705 0.3215534499
+ -0.2288563262 -0.0832617548 -0.1602089444 0.2915041058
+ -0.4193135942 -0.2886143200 -0.5259382219 0.7319379272
+ 0.0226298837 0.1106736198 -0.0509461306 0.1239204179
+ 0.0645978139 0.0074817939 -0.1301651390 0.1455053889
+ 0.0472248342 -0.2648449176 -0.3941433802 0.4772022837
+ -0.0522324519 -0.3261629570 -0.3251871403 0.4635268921
+ 0.0917270771 -0.2153038403 -0.3763767876 0.4646599525
+ 0.0017990534 -0.1627732498 -1.5006999438 1.5159414480
+ 0.0714769609 -0.2318737146 -0.9630371846 0.9931339257
+ 0.1346286216 -0.0869766009 -0.6509914421 0.6704324369
+ 0.2216902671 -0.1149686566 -0.6170650501 0.6656828393
+ 0.1747790837 -0.2274106351 -0.9307473125 0.9739373105
+ 0.0849977519 -0.0579550062 -0.2077520542 0.2318282050
+ -0.0213978723 -0.0203862294 -0.0888013621 0.0935917160
+ -0.0284587840 -0.0270055017 -0.1223782808 0.1285142141
+ 0.2359760192 -0.1858916533 -2.8179718554 2.8339382079
+ 0.0623298338 0.0022500261 -1.1709529989 1.1726128928
+ 0.1536246983 -0.1562413548 -1.7223650909 1.7362469338
+ 0.0929633450 -0.1396658071 -2.5737475994 2.5792102331
+ -0.0235240466 -0.1696672022 -16.2042100316 16.2051153371
+ 0.0990983142 -0.1281237399 -19.3898067888 19.3904833224
+ -0.0169595443 0.0337677883 -0.7324363218 0.7334104275
+ -0.1481493152 -0.0080167886 -10.8926709403 10.8936813201
+ -0.0330332148 0.0088153122 -1.4239466647 1.4243570503
+ 0.0663000224 0.1342152019 -17.5255117799 17.5261511051
+ -0.0375383047 0.0559278864 -11.4492816028 11.4494797381
+ -0.9185408296 0.7076375677 -137.7492292798 137.7541093230
+ -0.3358526424 0.6251502719 -103.1393343384 103.1417757149
+ -0.3875192727 0.5453205390 -83.6100879011 83.6127642439
+ 0.1283965831 0.1678089392 -28.5273245192 28.5281070131
+ 0.2460607185 0.7127572038 -113.7805541121 113.7830526167
+ -0.7643634567 0.7692681445 -84.0086603681 84.0208985456
+ -0.1433649645 0.1511462259 -14.1276993489 14.1292352089
+ -0.0297553237 0.1444589330 -5.8639167959 5.8657713860
+ -0.0886704275 0.2207246836 -8.3913812348 8.3947519832
+ -0.0738263139 0.0306149093 -5.0854078927 5.0860358859
+ -1.0758702348 -0.7744616220 1.0949112304 1.7193365490
+ 0.0534167087 -0.1446045471 0.1245636251 0.1981916156
+ -0.5608923831 -0.3852397082 0.3681163363 0.7736404432
+ -0.3348774789 -0.3007052023 0.3549255127 0.5731829238
+ -0.2095267361 -0.4614181326 0.0693028741 0.5114792612
+ -0.4260287577 -0.6208046366 0.0041499998 0.7529383253
+ -0.9583835391 -1.7901799936 -0.5873910133 2.1716231369
+ -0.3182943745 -0.4712635260 0.5921518034 0.9600623974
+ -0.1845115067 -0.3255222115 -0.1262942924 0.3949170224
+ 0.0013203824 -0.0247036024 0.0246569193 0.0349281413
+ 0.9214491975 -0.0539910597 1.1612854284 1.5646862092
+ 0.0193005481 -0.0444681757 1.1373970738 1.2424562214
+ -0.1069265695 0.0681823196 0.3278180856 0.3514922719
+ -0.8095032385 0.4796499310 3.6512739487 3.7705650768
+ -0.0118862686 0.0005061288 0.0075132907 0.0140708594
+ 0.2388045802 0.3836133560 -0.0138768272 0.4520834003
+ -0.0035118629 0.0287437487 -0.0014529302 0.0289939179
+ -0.0961806083 -0.1434131033 0.0541133474 0.1809593379
+ 0.1526598019 -0.0051105092 0.1004602672 0.1828206709
+ -0.0291600058 -0.0067005549 0.0118633197 0.0321860487
+ 0.0955778139 -0.1098193130 0.0581322679 0.1567633905
+ 0.0503122408 0.0302813864 -0.0172092392 0.0611918446
+ -0.3888507908 -0.1581639990 -0.2571882063 1.0595834816
+ -0.2036359693 -0.0590915355 -0.0581257782 0.2604185258
+ -0.0068841041 0.0250564777 -0.0082032067 0.0272490470
+ -0.4400914426 -0.0113915663 -0.0186295687 0.4406328477
+ -0.2649747630 0.0425242705 0.1348919784 0.3312032145
+ -0.1471576874 -0.2929545295 -0.0758801097 0.3643011354
+ 0.0220044614 -0.0730288168 -0.0697849496 0.1033796092
+ -0.1007577405 -0.0754085297 -0.0092560137 0.1261912929
+ 0.1473384529 -0.0540221261 -0.0825302122 0.1773083352
+ 0.6654451142 -0.0395797864 -0.5940846858 0.8929279777
+ 0.0548677344 0.1050661250 -0.2671154265 0.3238515013
+ 0.2568673445 -0.2673399652 -0.1994149414 0.4435060241
+ 0.1167005350 0.3063483090 -0.2802292438 0.4532951746
+ -0.0080275951 0.0853536600 -0.1000211681 0.1317342917
+ 0.1220842185 0.0405094959 -0.2214730926 0.2561169780
+ -0.1717186174 -0.2879753937 -0.7388294798 0.8113483291
+ -0.3280562562 -0.2709204868 -1.0527007990 1.1354284608
+ -0.2430754858 -0.1326670114 -36.1747130755 36.1757730024
+ -0.0398869934 -0.0267012345 -2.0671868729 2.0677440595
+ 0.2365227689 -2.0660128110 2.1108048273 2.9630809935
+ 0.1784990185 -1.2047878460 1.3756628387 1.8373415303
+ 0.3566586952 -0.4693212624 0.6847718330 0.9035376780
+ 0.0577685809 -0.0567592524 0.1889157784 0.2055431658
+ -0.2202059240 -3.6165878388 4.8010317665 6.0353773450
+ 0.1997809514 -0.2383183329 0.0399672735 0.3135369824
+ 0.0232761218 -0.0297971528 0.0644880073 0.0747552757
+ -0.1947249617 -0.2825617387 -0.1622770547 0.3795955603
+ -0.1536388666 -0.2172571265 -0.0037091759 0.2661189928
+ -0.2034782736 8.9182944793 -1.6729943882 9.0761384989
+ -0.0604850289 0.9549374636 -0.3613199610 1.0227981778
+ 0.1335023798 1.7977573998 -0.5407504131 1.8820641762
+ -0.0183040364 0.3606524526 -0.0669065227 0.3672624567
+ 0.4642839432 3.8328398398 -0.8662178373 3.9592971528
+ 0.0993386796 3.0401888554 -1.0953676761 3.2360356272
+ 2.1401758251 29.1574891793 -10.1314292580 30.9416448595
+ 3.3379167053 47.0883056272 -16.4906682612 50.0039233908
+ 4.1501140243 67.2447459000 -22.9694901278 71.1805926802
+ 0.2239783622 4.1741518907 -1.4270793250 4.4170426434
+ 0.9992903765 14.1009123875 -4.9208065598 14.9682546950
+ 0.5500636889 7.8855620168 -2.8583164420 8.4056309261
+ 1.0902127758 15.5874007471 -5.3167779254 16.5052644164
+ 1.7221632549 22.5336319561 -7.7652362810 23.8962195736
+ 0.5828341070 9.7015011921 -3.2776277183 10.2567862626
+ 1.6042175163 28.7711130243 -9.5106152542 30.3447237754
+ 0.0298662661 0.3213846931 -0.2143767047 0.3874757881
+ -0.1162892884 1.4988775493 -0.8344737720 1.7194486275
+ 0.3755606502 1.7025568472 -0.6533593655 1.8618872362
+ 0.3708418338 2.2604371818 -0.9567286186 2.4824241314
+ 0.7909014075 2.9623653011 -1.7264060597 3.5537707474
+ 0.0042740280 1.0593620337 -0.5791523207 1.2073456822
+ 0.1633599912 1.5570532872 -0.9096332838 1.8106722886
+ 0.0072248114 0.1315628280 -0.0454138829 0.1393678455
+ -0.3775663999 4.0506393282 -1.8864183294 4.4842847219
+ 0.1883107567 2.8326261495 -1.6152301209 3.2662210867
+ 0.2272230112 2.5442487002 -1.3234212209 2.8768516600
+ 0.2989401051 2.8818937972 -1.2821138472 3.1714307097
+ 0.4775519752 6.6217162661 -3.5575512816 7.5333148815
+ 1.1225914855 7.5971494459 -3.6411723516 8.5136774000
+ 3.4097028906 13.4818811986 -6.1660207250 15.2409762361
+ 0.3391029019 1.3288580973 -0.5260909910 1.4755019947
+ 0.0092469965 0.1050063760 -0.0626326644 0.1226160536
+ 0.9381973045 3.1805801122 -1.5482575858 3.6597002042
+ 2.4330781604 11.7636243647 -6.0310708975 13.4743955517
+ 1.7291523241 4.5350556082 -2.1956151135 5.3270463538
+ 0.8736714086 2.5433365592 -1.2662226301 2.9724034606
+ 1.3406568484 4.2363767327 -2.0657985079 4.9001808213
+ 20.1525350837 61.9674628021 -30.3014190819 71.8628354214
+ 0.0290149001 0.0103240269 0.0081893625 0.0318671558
+ 0.0327916141 0.0063682796 0.4259397901 0.4272476445
+ -0.1602018089 0.0606363185 -4.7100418005 4.7131555401
+ -0.1333101279 0.0574684985 -9.1630763342 9.1642262153
+ -0.1087861689 -0.0373408824 -1.7557629143 1.7595261247
+ -0.1757267923 -0.2248139937 -7.0216305880 7.0274260830
+ -0.0292971449 -0.1686825521 -1.1034267257 1.1166300484
+ -0.0521013848 -0.2127581470 -2.8002913252 2.8088453303
+ 0.1142945449 0.3387884596 1.9108778748 1.9440409244
+ -0.0358590482 0.1904077454 1.1273452103 1.1438742081
+ 0.2743962728 -0.1810931906 3.8528587372 3.8693782824
+ -0.1199841534 -0.0618167755 3.8583984741 3.8632804817
+ 0.3555317479 -0.0855483361 67.3400497482 67.3428815604
+ -0.3397291832 -0.0463473095 17.0493061515 17.0527535676
+ -0.0129738774 0.0307329204 2.3231871148 2.3234266083
+ -0.0210683709 -0.0502265060 0.6386803762 0.6409985968
+ -0.1058969533 -0.0526674387 5.6935266300 5.6947549122
+ 0.0104737635 0.2109948043 2.6090663874 2.6176049972
+ -0.0025047789 0.0114900142 0.0893727253 0.0901445421
+ -0.0550037677 0.2167188958 1.6302413729 1.6455028679
+ -0.0314366139 0.0315227650 0.2604840819 0.2642610495
+ 0.1339069200 0.0651397013 1.1937274652 1.2029794284
+ 0.0420907680 -0.0535105324 0.8488688078 0.8515945412
+ 0.0442565358 0.0839427689 1.2809461527 1.2844563346
+ 0.0513687665 -0.0460913350 0.2387267258 0.2485027383
+ 0.1029432629 0.0595736689 1.0154406986 1.0223825849
+ -0.1000945493 -0.0230344657 1.6484604101 1.6516571161
+ 0.0390845311 -0.0455822700 0.8198356812 0.8220315614
+ -0.2764540948 -0.3349004923 0.4935086163 0.6720236198
+ -0.3030208397 -0.0360432641 0.8916440813 0.9526960159
+ -0.4732820627 -1.4253410255 1.5116649351 2.1354633246
+ -0.3630312838 -0.7923625215 0.5109407361 1.0198873954
+ -1.2147974524 -1.3456879166 1.2882183311 2.2239863506
+ -0.3493848183 -0.4889488411 0.4730956170 0.7648268976
+ -0.0912992086 0.3418176378 0.4339168455 0.5770081946
+ -0.0403671591 -0.1097037960 0.2654379580 0.3218719075
+ -12.3902062850 13.1786881252 8.2572189685 19.8845713397
+ -3.5378365070 3.4925432170 2.3205284268 5.4880303605
+ -0.2077813524 0.1909002202 0.2133320292 0.3537322987
+ -0.4642492724 0.5332269122 0.3041617957 0.7696575373
+ 0.0775161655 -0.0090601527 0.0111415689 0.0788351244
+ 0.0046949323 0.0816642282 0.0931222318 0.1239469185
+ -0.2353732919 -0.4581370882 -0.2472878610 0.5881507028
+ -0.0881120311 -0.0694328494 0.1207870221 0.2159952319
+ 0.0498674939 -0.1679751125 0.0547100017 0.1835635848
+ -0.0658902332 -0.2583063723 0.1803372187 0.3218465741
+ 0.0413719410 0.0277979834 -0.0708763538 0.0866476942
+ 0.0426305673 0.0169642232 0.0638988876 0.0786652272
+ 0.0230341608 -0.0187275027 -0.2020452224 0.2042145044
+ -0.0688119223 0.0106442744 -3.3079117044 3.3086444694
+ 0.3346270197 -0.5442767010 -6.9882662958 7.0188003231
+ 0.3251030352 -0.0541957977 -2.9158162565 2.9377020602
+ 0.0012603596 -0.0104980062 -0.0041605859 0.0113625312
+ 0.6837364805 -0.0372084990 -1.1390794728 1.3290530812
+ -0.0875519215 -0.0314433164 -0.2503230464 0.3013228063
+ 0.3964724858 -0.0395283535 -0.6660557594 0.7885828950
+ 0.0320035557 -0.0819493490 0.0550173879 0.1739155578
+ -0.3868647139 -0.8401568069 0.6142124551 1.1190462421
+ 0.5823779402 11.3080567561 -3.7045720677 11.9144721097
+ 0.3525344348 7.3296840186 -2.7477105427 7.8369599560
+ 0.4857381686 1.6472169439 -0.8316680041 1.9081239210
+ 0.0027007001 0.1418666719 -0.0781953380 0.1620122134
+ -0.7774618796 0.4436982520 142.3052178117 142.3081017066
+ -0.0159171924 0.1315096711 33.1609785732 33.1615368743
+ 0.7361110628 0.5665073334 3.6261201049 3.7431987752
+ 0.3004388531 0.2581277663 1.2356871618 1.2976194396
+ 0.1559411485 0.0705397989 0.6744510998 0.6958288518
+ 0.1264608069 0.0340300399 1.2356416448 1.2425621328
+ 0.0516194909 -0.0435568737 0.1222167899 0.1396378058
+ -0.0865410303 -0.0476384707 0.1560948652 0.1847278559
+ -0.0020706909 0.0005458443 0.0222913560 0.0223939782
+ 0.2873143569 -0.3175714834 0.0602592702 0.4324723881
+ -0.5728786300 -0.7842709837 0.0926299943 0.9756286262
+ -0.0523914437 -0.1670086235 0.0229564419 0.1765325520
+ -2.2850672677 -3.7656025235 -0.1053000018 4.4059485781
+ -0.9778749612 -1.4491776130 -0.0299682395 1.7485002972
+#END
+ -0.0774911082 -0.2516016317 -278.5120826200 278.5122420170
+ 0.1607347953 0.0730958798 -69.7433895618 69.7437527384
+ -0.7459132681 0.6086285166 -558.1693550957 558.1702027724
+ 0.4287438532 -0.1692136683 -117.5654423416 117.5664287428
+ 0.3582304453 2.1856663433 -23.4078678551 23.5175973453
+ 1.0840678397 1.7006685874 -1.1369521493 2.3672300005
+ 1.8594658544 0.4919863524 -0.3690389189 2.0197758585
+ 3.0075531271 -1.1682271438 0.9246423384 3.3592519570
+ 1.0556383753 -0.2995773668 1.0037980101 1.5669621511
+ 2.4094799285 -0.2991095129 1.5091676643 2.8621891710
+ 27.4138847684 2.2952713708 58.1844926350 64.3602673374
+ 3.5230228265 0.7050051199 5.9177289880 6.9863144091
+ 2.8139360769 0.4178709346 6.1142894442 6.7617326722
+ 2.0179620793 0.4637383451 3.7860349127 4.4160655746
+ 0.5767371348 0.9111928896 3.3439437779 3.6366480153
+ -1.0122060987 -0.5772113179 32.9997242045 33.0205846625
+ 0.2706267578 0.1464245582 128.5302031975 128.5306472899
+ -36.2452496015 -0.1058218001 30.3383542293 47.2669497012
+ -12.5082746676 0.0183469295 8.7553728108 15.2687034358
+ -0.6648746082 -0.3685367409 0.7550857403 1.0805146154
+ -0.6965111042 -1.4870126685 0.6879454354 1.8474967595
+ -0.5166975642 -0.6728366776 0.1143238160 0.9881277562
+ -0.2165041928 -0.3276827975 0.2327003512 0.4773670701
+ -0.8028626918 -0.9497917020 -1.5976691875 2.0294628345
+ 0.0070163151 -0.5123939465 -1.9101795641 2.1895603525
+ -0.0402484602 0.6378127831 -9.0730634933 9.0966139868
+ -0.7631479139 1.3332183149 -13.4657478237 13.5538079539
+ -0.8445548517 2.4933690303 -40.6587095795 40.7440830854
+ -0.2283240415 -0.1943826951 -10.7163108849 10.7214138651
+ 0.0036132266 0.3279823739 -1.7063557557 1.7431911091
+ -0.3946144936 0.4219475351 -14.5479247489 14.5600602542
+ -0.0482201946 -0.0437280192 -0.0170276816 0.1549420978
+ -0.2577016981 -0.5704918509 -5.5536698775 5.6672667142
+ -0.2965547014 1.3799265523 -0.7118265528 1.5869211722
+ -0.5532083446 1.7462356208 -0.2171234004 1.9094925627
+ 0.0701821863 0.1096793316 -0.8306745639 0.8523233606
+ -0.0630305969 -0.3294535121 -1.7925845710 1.8290302627
+ -0.1958140146 0.0171286263 -3.3137911736 3.3225484565
+ -1.0363013370 0.4358029682 -1639.6048757637 1639.6052671154
+ -0.4392422623 0.3571703521 0.9388292673 1.1051627045
+ 0.3132241105 0.1309387147 4.3773892937 4.3927521105
+ 0.3253941638 0.1492658458 1.4150825359 1.4663219370
+ 0.3446913500 -0.4119243276 1.2151150177 1.3358435798
+ -0.0844853259 0.0450513454 0.1292335313 0.2129518362
+ -0.1501742349 -0.0198061761 0.7124994166 0.7416736404
+ -1.4959809592 -1.7059369280 -77.0848269540 77.1183389742
+ -0.8822025234 -0.7525812513 -29.0495121470 29.0729822274
+ -0.0318177896 0.0147083009 -13.1048925611 13.1385779112
+ 0.4863323440 0.6527603010 -8.7683998321 8.8560850583
+ -0.6107752721 0.2278168320 5.1784850505 5.2426420172
+ -0.1946312758 0.4416981625 0.1422413279 0.5221982196
+ -0.8443868229 0.2125381179 -2.0135268500 2.2485757479
+ -0.6800173832 0.0600529691 -5.1699403514 5.2381250651
+ -0.1255172832 0.0434018392 -1.5231388222 1.5352752082
+ -0.4040964891 -0.7945776607 -47.3458789072 47.3544757854
+ -0.5028472334 0.5344413844 -82.7432546812 82.7518279482
+ -0.5505216862 0.1377169169 -68.7928264943 68.8015828956
+ 0.2023382793 0.0827064500 -54.7047416487 54.7053564085
+ 0.0631118125 0.5772154023 -391.1314862132 391.1319421217
+ -0.9090286060 -0.7751681416 45.6550018510 45.6708429138
+ -0.0793087459 0.0566244603 2.1944818892 2.2010740000
+ 0.9689189036 -0.7794093338 -31.0660072437 31.0911976064
+ 0.0516821736 0.5946252505 -0.9027813379 1.0912122455
+ 0.0849147818 -0.2373372325 -0.0222411678 0.2889877792
+ 0.0844654990 0.1925376390 -5.7594024885 5.7649286181
+ -0.0934976484 0.0837883445 -3.2937590723 3.2991045616
+ -0.3051421145 0.4234770420 31.0462740113 31.0509750940
+ 0.3051421145 -0.4234770420 3.8352987569 3.8731693553
+ -0.0931160927 -0.2615655764 -32.5070279408 32.5082136190
+ 0.0147708130 -0.0194984919 -0.8196975992 0.8200625112
+ 0.2389602721 0.4594824432 -19.5474332343 19.5547910232
+ -0.0562128981 -0.3298659961 -5.4829140157 5.4948882931
+ 0.1435418915 0.0426600517 -4.3250379838 4.3298796174
+ -0.1447317869 -0.4672626384 -7.1517826091 7.1698504821
+ 0.1401160341 -0.5137676618 -19.5134708486 19.5212349521
+ -0.1694669970 -0.4784580623 -17.5179838178 17.5258916465
+ 0.0275989767 -0.0129845041 -0.4892675286 0.5096987348
+ 0.0951959450 -0.0850123450 -4.8275954232 4.8312986579
+ 0.2022732740 0.0179310622 -14.1690852068 14.1712275892
+ 0.3196943698 -0.0731564823 -5.6967563215 5.7078952979
+ 0.0132010688 0.2162824022 -5.0459083057 5.0524867898
+ -0.1745793123 0.3108464690 -22.7090918475 22.7123190314
+ 0.8954569212 1.6213179967 -40.3680144660 40.4107236616
+ -0.2382989546 0.5764155185 -9.0446485783 9.0661297777
+ -0.1699533913 0.3625112616 -4.4490884706 4.4670669112
+ 0.3545168443 0.3271269628 -13.3837153905 13.3924057546
+ 0.4828525642 0.3813714160 -13.4929222659 13.5069442150
+ 2.1221854074 2.2623872970 -26.1951501116 26.3781719714
+ 0.3812192796 0.4843750547 -5.4465755484 5.4813440448
+ 0.6801862476 1.1302076236 -8.7576904632 8.8575755508
+ 0.0770017006 0.0958731517 -0.7441453661 0.7670417420
+ 1.0880070482 2.2269287361 -16.2398126051 16.4352707718
+ 0.8661021558 0.9326794514 -11.8775483813 11.9463659428
+ 0.7320896938 0.6440792131 -6.5654653289 6.6558071860
+ 1.2780793356 0.4247714819 -8.0353248342 8.1486098554
+ -0.3470479058 0.6831773357 -4.8065839625 4.8672808538
+ 0.0061450965 -0.0026533420 -0.0472826022 0.0477540251
+ 0.1939819969 -0.2380793407 -0.3209570609 0.4656221724
+ 0.4380594926 0.2822430115 -2.4634883801 2.5218667730
+ 0.4035014728 0.4913922479 -0.7097945487 0.9631032479
+ -0.1303927010 0.2696042045 -0.5937495209 0.6794902221
+ 1.7158339136 0.7301574501 -2.4584182614 3.0887725805
+ 0.0775796342 0.0261849437 -0.0420254480 0.1671830557
+ 0.0438469466 -0.4605628430 -0.2112183257 0.7087276121
+ 0.1605896129 0.1055516692 -0.0349046099 0.2400589413
+ 1.3750095626 0.0300899684 0.5875908808 1.5020983761
+ 0.8730094410 -0.0735800158 0.3301585363 0.9465959787
+ 1.0719748291 -0.0833708156 1.7387840941 2.1040737349
+ 5.7123165853 -0.1182670143 6.4717312053 8.6340797098
+ 8.1573003764 -1.0526434904 10.2594051106 13.1828598095
+ 3.0451955043 -0.6135562904 3.8196319736 4.9253157441
+ 21.2734777978 -4.0594050350 25.6840758708 33.5965900051
+ 16.9691374710 -2.1140957334 20.4109048339 26.6440690213
+ 4.4180483356 -0.3129930273 5.2239199685 6.8502507512
+ 31.8934524174 -4.8282088438 37.6059720374 49.5475194291
+ 3.4463517775 -0.6866498743 4.0033393847 5.3286991506
+ 11.6111780033 -2.0668989880 13.5282439592 17.9472814285
+ 4.2094580744 -0.6691692557 4.9179797983 6.5079835640
+ 4.9474581835 -0.4744432477 4.8622029571 6.9543465727
+ 1.6433780647 -0.1222401435 1.7566108775 2.4126325200
+ 10.0289673259 -1.3761083959 11.0828121525 15.0183308186
+ 20.2448442650 -2.1976287709 20.9995931639 29.2559369280
+ 6.7024344528 -0.7962568645 7.3829217932 10.0041824543
+ 5.4511814371 -0.5660006923 5.4245511502 7.7269096012
+ 6.6231924411 -1.0540115403 6.8994485130 9.6228627761
+ 6.6670160433 -0.6781948012 7.7810484234 10.2700168190
+ 3.0069488950 -0.3867143476 3.0636203246 4.3123704528
+ 0.8892130498 -0.1091570522 0.9069391979 1.2748152097
+ 14.7893336766 -1.7797886692 14.3083380085 20.6547954449
+ 8.8588478859 -0.3852156113 9.2624112253 12.8321268541
+ 12.2146614881 -0.9917599787 12.9977395610 17.8645530760
+ 5.8977851502 -0.6055048826 5.6407606579 8.1983124849
+ 14.2715653180 -1.5103139545 13.7316009554 19.8629043559
+ 6.8401193685 -1.0508266628 6.8760144559 9.7682506047
+ 8.1482305578 -1.2631784272 7.4991265972 11.1456799112
+ 1.9433544878 -0.2382110763 1.8020493374 2.6609684321
+ 4.8033559983 0.3397110751 10.1345580932 11.2203787907
+ 2.7855712268 0.3326929936 5.9913038442 6.6170456569
+ 13.7119678184 1.3165080934 28.7497521681 31.8797582257
+ 2.0912246150 0.3151177767 4.5440300532 5.0140012478
+ 1.4034040174 0.3593173941 3.2276353356 3.5405877295
+ 9.8646660917 0.1093686948 21.1908537117 23.3751012709
+ 7.5852851494 0.5009185228 15.1110872565 16.9160251839
+ 0.0703838841 -0.0154084451 0.2741174370 0.2834284399
+ 0.0097493892 0.0154187539 0.0287260130 0.0340289933
+ 0.0274952346 -0.1296393159 1.3498343546 1.3563241224
+ 2.3300396336 1.2244062044 3.1105101746 4.0771323965
+ 2.4511783167 0.6160205550 3.6674469861 4.4561646789
+ -0.0972789123 0.0134755250 0.8436668449 0.8607544985
+ -0.0343518420 0.2743574568 1.5251584808 1.5562905383
+ -0.2549251054 0.6740259708 3.3326662096 3.4096864788
+ 0.2365930094 0.1989683306 1.3053698231 1.3414749434
+ -0.5600144019 -0.2936484299 8.8067546102 8.8294264987
+ -0.2040494548 -0.2071460074 4.3066893884 4.3164938476
+ -0.0514539994 0.0131673466 5.0455393569 5.0477488131
+ -0.7556181325 -0.6838839477 23.6988241701 23.7211383126
+ -0.1797923193 -0.0399307318 11.5663510706 11.5686592401
+ 0.1324972623 -0.3472084023 27.3568774825 27.3597575752
+ -0.3712794229 -0.2224205327 11.4878760565 11.4968732870
+ 0.2295144337 -0.3795866119 20.0458302143 20.0568121298
+ 0.3562029007 0.1056292338 80.4972675144 80.4982459132
+ 0.0327084964 -0.0425321964 32.3553941450 32.3557396593
+ -0.1025112317 0.1989598223 249.7307230445 249.7308623412
+ -0.1158975462 -0.0239150053 158.2090414326 158.2091472545
+ 0.2548538927 -0.0844269293 131.1295373833 131.1298864963
+ 0.0471592685 0.2240192251 206.5468183281 206.5469923525
+ 0.0514681773 -0.0465443980 9.1124756356 9.1127398495
+ 0.1186073775 0.0819769161 31.9066207264 31.9069464867
+ 0.1166075737 -0.0497695960 425.3254599797 425.3265137889
+ 0.2284596679 0.2092040682 113.1055751874 113.1060855057
+ -372.3956704829 7.7896858788 313.7751344993 487.0266239359
+ -171.8058419544 3.4788737950 144.9641224651 224.8198527142
+ -114.8948965954 2.3774256688 96.3588639218 149.9746740772
+ -22.0141144641 0.2358421394 18.4053260747 28.6958597163
+ -32.0753994448 0.1808692030 27.1772169072 42.0414624130
+ -28.8712044495 0.2840046343 24.6626639324 37.9720172922
+ -12.2741144275 0.0785794151 10.3832364799 16.0770538191
+ -8.2037105207 0.4326307123 6.6540131569 10.5835533806
+ -4.6402919650 0.1143102205 3.4843795292 5.8056659252
+ -36.7284752503 1.5304889478 23.2154203125 43.4775633023
+ -53.6848208489 3.1512519121 34.2872652853 63.7779461783
+ -20.8578693954 0.8898273284 13.1398363869 24.6681431901
+ -4.0543502734 0.3403250516 2.7619355919 4.9194862820
+ -15.1174858266 0.5213318777 10.0136954228 18.1412166199
+ -14.0896374853 0.4444897921 9.2829883547 16.8792419326
+ -15.0416566566 0.6172830933 9.5448784023 17.8251837888
+ -2.0216560909 0.2598642711 1.1796909848 2.3550570288
+ -1.9229337181 0.3597417436 1.2256074001 2.3085063798
+ -2.0260076066 0.2523342042 1.3493688916 2.4472792603
+ -1.7367174839 -0.2414366410 1.6069704184 2.3825014126
+ -0.5415033624 -0.2693620699 0.0657980081 0.7859940349
+ -1.0176797425 -0.9513716091 0.4718665955 1.5514764068
+ -1.4233982237 -0.4622720321 1.0345137778 1.8246798285
+ -2.6430597101 -3.5306508581 1.3414197675 4.6098445859
+ -0.1906101266 -0.2184869835 0.1168064739 0.3125900425
+ -0.2761597629 -0.4639242405 0.6191296898 0.8214691037
+ -0.0951097099 -0.2489814961 0.1925965163 0.3288328760
+ -1.3454339256 -1.7088247176 1.0961335502 2.4858516755
+ -0.0048984163 0.0031521154 0.0109668849 0.0124178451
+ -0.8055122298 -0.5095738066 0.0360509545 0.9538422763
+ -0.2334775699 -0.5323825921 -0.2164618234 0.7927418754
+ -0.5388332450 -1.9191713874 0.6522541389 2.1020169663
+ -1.0014466553 -1.2105975414 0.6911539495 1.7220962161
+ 0.0562471104 0.0204436944 -0.0394196171 0.1568928717
+ -0.0619695096 -0.1473651158 -0.0097804698 0.1601635260
+ -0.2380953688 -0.1549887626 0.0503748503 0.2885282425
+ 0.1023453248 -0.0242044069 0.0328619987 0.1101831647
+ 0.0900107795 0.0262372754 -0.0937249203 0.1325695882
+ 0.0306829753 -0.0935788709 -0.2991878618 0.3149790893
+ -0.0602635707 -0.0938235685 -0.1151096248 0.1602647363
+ 0.3767286629 -0.7438132299 -0.7301592689 1.1170474248
+ -0.3607306131 -0.7841807482 -0.8698450927 1.2333597574
+ 0.2182819230 -0.0701598144 -0.5839665311 0.6427021797
+ 0.9824792927 -0.2484639248 -4.3300171073 4.4492165397
+ -0.0724599453 -0.0076074294 -0.2852158925 0.3257855228
+ 0.5605367659 0.5701797068 -6.1580358669 6.2802119944
+ 0.1673363503 0.0044268476 -0.3805965754 0.4385824771
+ 0.0026619542 0.0357274103 -0.2655753418 0.3021482764
+ -0.4139061448 0.1710860711 -1.9308142449 2.1934958796
+ -0.2530240237 0.0269383702 -0.0806211134 0.3012082024
+ 0.3313456714 0.2503765687 -1.6210158448 1.9191046178
+ -0.8177999571 1.0471372542 -3.2961834199 3.5566273521
+ -0.0733607631 0.2238071092 -7.8618131487 7.8665784935
+ -1.1036502622 1.4139480706 -25.1564151654 25.2206660658
+ -0.0188211197 0.2907726588 -4.2712657335 4.2834674885
+ -0.2617936479 0.8651834104 -11.3264518837 11.3633212710
+ -0.7158800119 1.5245900261 -21.6956275823 21.7613555395
+ -1.1122438020 3.2280709719 -45.1273499827 45.2565434464
+ -0.3174023320 0.6098108908 -10.3747641355 10.3975162626
+ -0.4170676483 0.8847420999 -12.5776858672 12.6156607350
+ -0.0578036661 -0.0446749419 -1.0063947175 1.0186497075
+ 0.2586012994 0.0890051669 -5.2418731083 5.2508580271
+ -0.0459506227 -0.0245181746 -0.7275740373 0.7294357959
+ -0.0031273337 -0.0244451473 -0.9524396104 0.9527583938
+ -0.4336654647 -0.6728295701 -13.4861178912 13.5098534834
+ 0.4547151204 -1.5504638165 -25.1180939879 25.1875394046
+ 0.1520749245 -0.2914693563 -8.4581716872 8.4657090219
+ -0.3151252980 -0.2571709273 -12.7827246702 12.7987160212
+ -0.2330174387 0.0640089888 -4.8912873728 4.8992413928
+ 0.1397656453 -0.1977584377 -1.9216331005 1.9418538548
+ 0.1401633808 0.5841475410 -5.4926614236 5.5271768039
+ -0.2650534838 0.4721408700 -2.2918970697 2.5354988293
+ -0.3252278974 0.0300075110 -0.1657580737 0.3919555585
+ -0.5899506210 0.8947869088 -0.2397968729 1.4453302987
+ -0.4530860803 0.6947659051 -0.5878484908 1.1319133960
+ -2.0347844708 3.8225360877 -0.8164894053 4.4088847477
+ -4.5129033587 7.8138005804 -2.8119816705 9.4524333870
+ -0.6592615681 1.0477129764 -0.1038617731 1.2500381390
+ -0.7840215061 2.0672245717 -1.2712155375 2.5541291822
+ -0.0352985052 0.0692065730 -1.6744982694 1.7474612866
+ 0.2236785748 0.0894157381 -0.2174898943 0.3532830566
+ -0.4308844463 0.1063008878 -10.5369092415 10.5462513552
+ 0.5266603141 -0.7021007898 -53.3466281654 53.3540301478
+ 0.0226585576 0.2195295086 -7.1308608613 7.1356403373
+ 0.3687289475 -0.1799807966 -15.3205636396 15.3266925377
+ -0.0234075795 0.0576662788 -25.9374694091 25.9379195859
+ -0.3794540328 -0.0548071264 -51.9635482736 51.9651500349
+ -0.0830025650 0.0278544410 -1.0590248360 1.0626377082
+ 0.0215208690 -0.0573847553 -1.0676955319 1.0694530877
+ 0.2145575276 -0.0752297835 -76.9612800802 76.9617424817
+ 0.1291421380 0.0590962871 -73.7352319468 73.7355008127
+ -0.4839155617 0.5227242415 -459.8629638971 459.8644727849
+ -3.9930042031 3.0724806095 6.7377045249 8.4276048132
+ -3.7860477067 3.2276089249 6.7298797242 8.3837067382
+ -0.1404277975 0.3105475880 1.8977275479 1.9902689710
+ 0.2896492695 -0.2352563120 2.0512893178 2.0896195543
+ 0.5388618150 0.0303133910 4.6868136442 4.7435381365
+ 1.0553884394 -0.9203857028 9.9348496761 10.0340257360
+ 0.3842291588 0.1386578774 3.0852771499 3.1122006917
+ 0.3097601491 0.2504181964 3.1386356166 3.1638100696
+ 3.1629001787 -2.0994780245 40.0352230694 40.2178879003
+ 1.9412127651 -1.2126298051 9.6681858355 9.9364015206
+ 2.6822628285 0.1304822157 9.8906601547 10.2496925598
+ 0.1725170161 0.3412579397 0.7933740196 0.8917069149
+ 0.1593884486 -0.4107194705 3.7698532256 3.7980742868
+ 0.0515391215 -0.0631911090 1.4325455365 1.4416365341
+ 0.0072822926 -0.0632368213 0.3783329840 0.4082493834
+ 0.1885516987 0.4163162673 1.4664540754 1.5423483127
+ -0.1825089594 0.1159909397 3.3165814945 3.3265531730
+ 0.0564906145 0.2086589550 1.2580915481 1.2841354591
+ 0.1850395422 -0.0518178509 1.8610144984 1.8761075315
+ -0.3513669118 -0.5114783839 1.0299677078 1.2105296807
+ -0.9482998479 -0.5231710853 4.0468786531 4.1916210711
+ -0.4288165315 -0.3281315988 1.2029565541 1.3259480457
+ -0.2494819405 -0.1093657784 0.6569020657 0.7247083696
+ -0.4376475491 -0.5629516198 1.8319869959 1.9708135482
+ -0.2422308834 -0.2332189235 1.0419270940 1.1037022793
+ -0.1398181416 0.0490081484 0.0572317387 0.1588281563
+ -1.0520482141 0.7186013713 0.7292692311 1.4680010174
+ 0.0504027767 -0.5075209820 -14.7919859331 14.8007758524
+ -0.0285874686 -0.7489823612 -25.7624686139 25.7733696071
+ -0.5784322500 -0.9184966567 -71.7555630254 71.7639082328
+ 0.0677975747 -0.0572400942 -4.5611595114 4.5641569663
+ -0.2128080439 0.5644871940 -7.1073540552 7.1943564907
+ 0.0584801910 0.1283580268 -1.7386016019 1.7498888624
+ 0.3797181899 0.7927432245 -6.6247003623 6.7484868229
+ 0.5793900200 0.3678886138 0.1607533526 0.7048946502
+ 0.1961017476 0.0637478726 0.1046832884 0.2312537082
+ -0.6469590501 -0.3930360245 0.2577236895 0.8117478759
+ -0.1428324713 0.0232872625 -0.1352442798 0.2423101558
+ -0.0733068161 -0.1618980975 0.0603595700 0.2338972977
+ 0.1385319048 -0.1547159812 -0.0007972124 0.2502169937
+ -0.6303280553 -0.4254494133 -0.3484746890 0.8365139147
+ -0.2758554277 0.2763497394 -1.0902310997 1.1580455545
+ -1.0492806061 -0.0709626748 -3.9521658660 4.1193787741
+ -1.4959103246 -0.1881277963 -4.9324272153 5.1812758044
+ -0.1060595445 -0.2764854769 -5.4498373932 5.4805196731
+ -1.2898059556 -0.0431103771 -7.3277127897 7.4571112413
+ -0.6278329997 0.1837529029 -3.5714440016 3.6335425477
+ -0.0496485145 -0.2296308794 -3.6450204370 3.6552495245
+ -0.3860562981 -0.1993801158 -4.8179305779 4.8394965373
+ -0.9535751672 -0.2128892431 -20.7261682413 20.7491849815
+ -0.5338329031 -0.1847938184 -10.3981537958 10.4134878252
+ 0.0277715807 -0.2846239942 -162.3592779406 162.3595897854
+ 0.6245983695 0.1120769866 -20.3436586498 20.3540318222
+ 1.1814594315 0.3882699405 -52.0441235518 52.0591670698
+ 0.0081617909 0.1554615381 -36.6107988965 36.6113959107
+ -0.1099340109 -0.3877974369 -10.5947510836 10.6033345061
+ 1.2231862888 -0.1565380829 -45.2981812588 45.3151784065
+ 0.4507803354 0.2742920303 -16.1825031541 16.1986261244
+ -0.0924225997 -0.1771885999 -5.4561007139 5.4615430532
+ -0.5214532780 -0.4434799598 -3.6949548148 3.7578290380
+ -0.2368608302 -0.2349319152 -0.2976455485 0.4683681406
+ -0.4029225536 0.6174672568 -0.5423779440 0.9153066325
+ -0.0133691199 0.1151191499 -0.0933524953 0.1488147856
+ 0.1272492195 0.2037505782 0.3839406308 0.4739165062
+ -0.2165761614 0.0813336956 -0.1201961867 0.2607058247
+ -0.5318141997 0.1571718239 -0.5429400114 0.7760883849
+ -0.1886330169 0.1812197523 1.7341390496 1.7593012937
+ 0.2242204499 0.1762847766 0.3286223137 0.4569721464
+ 0.0886265016 0.2299132403 1.0483553278 1.0859297551
+ -0.0737383872 -0.0748958448 1.6839813252 1.6930208581
+ -0.0698798437 0.0795010319 0.2815626297 0.3316035373
+ -0.2454659305 0.3124892347 14.3068650676 14.3130629458
+ -0.2511232958 -0.1859657157 3.8682477085 3.8833576035
+ 0.1076601079 0.0421062875 51.3184233630 51.3185535660
+ -0.0207210943 0.0894117008 37.6224539955 37.6225659473
+ -1.2382606901 0.5407017329 115.6288101276 115.6405213202
+ -0.0914767834 0.0267113040 2.3093340658 2.3155096865
+ 0.0247710927 0.0079221023 -3.6288735141 3.6316496435
+ -0.1512063843 0.1876969467 -3.2697759222 3.2816166566
+ -0.2603691644 -0.0489526906 -4.2487541262 4.2592933542
+ -0.0130666401 -0.0019658620 -0.1029282055 0.1037729117
+ -0.0158625873 -0.1499639196 -11.2548560413 11.2558662620
+ 0.1914493084 -0.0351191414 -1.2133176792 1.2288311448
+ 0.1378107225 0.0315964968 -1.7697417730 1.7753805443
+ -0.6838577572 -0.2272261254 -2.3220274316 2.4352791056
+ 0.2854920791 -0.0564090212 -0.3428543084 0.4708678865
+ 0.3456904700 0.1052461574 -0.2293778358 0.4501917715
+ -0.5547478991 -0.1167897687 -0.5519848790 0.8034626147
+ -0.1698970967 -0.4385894322 -1.4806457976 1.5598132826
+ 0.1712588784 -0.1532510441 -6.5265317544 6.5978196407
+ 0.1056167084 -0.1014986679 -3.5541334857 3.6791457551
+ 0.0399165803 -0.1522718170 -0.2120549239 0.2987090813
+ -0.2327056570 -0.0510351183 -1.0886023785 1.2204454406
+ 0.2327056570 0.0510351183 -4.5880006418 4.6210585177
+ -0.2260797135 0.2506599255 -28.6444491981 28.6464380385
+ -0.0131646914 0.1361276143 -12.1178066257 12.1185783595
+ 0.0802716997 -0.1198388200 -1.8799624869 1.8854876930
+ 0.2290424069 -0.3678744579 -9.6295668233 9.6393126957
+ -0.0845316817 0.0937761430 -1.4791930507 1.4845712012
+ -0.0436065086 0.1281731045 -0.6273399070 0.6417828536
+ -0.1097107595 0.0132126604 -4.9447796292 4.9460142142
+ -0.1066259280 -0.0892301062 -3.0004126672 3.0036323466
+ -0.0556881709 0.0925377148 -4.2435800553 4.2449541914
+ -0.0975380832 -0.0088456106 -8.1741950253 8.1747817240
+ -0.2115555724 0.2235503279 -13.7203846407 13.7238363877
+ 0.0062133352 -0.0128136376 -0.3869202008 0.3871821750
+ 0.0253538185 -0.0319997233 -0.0635429455 0.0755281691
+ 0.0077913967 -0.0596014681 -0.9233840465 0.9253383912
+ 0.0503699827 -0.0572186139 -2.1836925790 2.1850227424
+ 0.3122696748 -0.0535121969 -5.2317564877 5.2413406541
+ 0.4099250392 2.4746771730 -68.1343863030 68.1806874585
+ 0.1485282926 0.4154510117 -9.9731574009 9.9838874456
+ 0.1912828994 0.2237023037 -8.7197429360 8.7247090919
+ -0.0175758287 0.0002333992 -0.8478469696 0.8480291552
+ 0.1167388186 0.2444579156 -6.9762651996 6.9815230258
+ 0.0935955580 0.1152415711 -2.0540897554 2.0594478559
+ 0.0120429056 0.0259418102 -2.3278996507 2.3280753409
+ 0.1052544956 0.0736043450 -1.5967607449 1.6019179083
+ 0.3761042922 0.6292196617 -19.0003292294 19.0144650897
+ 0.0296571962 0.0391304504 -2.5360286780 2.5365039320
+ 0.5537438417 0.8256474942 -6.9025219557 6.9751426624
+ 0.0279138570 0.2527581116 -3.3021484831 3.3148650403
+ 0.3230609073 0.2951720095 -3.8840812717 3.9086547802
+ 0.0548874794 -0.0079753146 -0.4303430968 0.4339025490
+ -0.0116272115 -0.0262552277 -0.0218601693 0.0360887244
+ 0.0113802899 0.1583058904 -0.0589875486 0.1693215781
+ 0.4619039051 1.4395957203 -3.0418204012 3.4330944988
+ 0.4535591892 0.5232932002 -0.7572868810 1.0261750005
+ 0.0363602242 0.0244000072 -0.1109001713 0.1192320185
+ 0.3645824932 0.0957176956 -0.0815474372 0.3856582115
+ 0.1801332838 -0.0427236884 -0.0712819911 0.1983795244
+ 1.3343695436 0.0393253886 -0.5016121656 1.4260797067
+ 1.4575308330 -0.0806029895 -0.4763018741 1.5354987614
+ 0.1820878746 -0.0289245589 0.0844567380 0.2027943904
+ 1.0612150201 0.1296396256 0.6379269010 1.2449636470
+ 6.2775609418 -0.7310738558 7.4966576262 9.8178302773
+ 12.1708789636 -1.8080573480 14.6943210239 19.1656577365
+ 4.7167270392 -0.7711519899 5.7813077699 7.5010471858
+ 28.4261765107 -4.2241270292 35.0585076610 45.3319944365
+ 22.2237222096 -3.4068557971 27.3335400676 35.3924131404
+ 0.7067921461 -0.0551471863 0.8481165289 1.1053949505
+ 5.2598682457 -0.6664260673 5.9349915076 7.9582951605
+ 1.5855082246 -0.1709187176 1.8117894035 2.4136342683
+ 3.1512963921 -0.3705453290 3.3267468971 4.5973054835
+ 7.5610475050 -0.8531108102 8.7601745440 11.6033570775
+ 0.0704140818 -0.0086430800 0.0631193305 0.0949573359
+ 0.7474460245 -0.0341065636 0.7598849584 1.0664257908
+ 7.2816323816 -0.5443850089 7.9447422423 10.7906188180
+ 21.8155333171 -1.6312757753 22.7966259284 31.5992465687
+ 2.0660572348 -0.1583283569 2.5051273661 3.2510495977
+ 0.1477900240 0.0245881820 0.1748762016 0.2302784310
+ 6.0595037939 -0.8501029761 5.6478185555 8.3269511668
+ 3.2024522368 -0.4010649220 3.0965910074 4.4727429244
+ 46.6878618185 -5.5307852145 41.9533657116 63.0113554909
+ 3.0330700242 -0.3861233904 2.7577142598 4.1174741023
+ 25.8207115394 2.2931443641 54.8456083502 60.6632334331
+ 3.9184270637 0.8595540051 7.7767338113 8.7504567031
+ 3.1558510538 0.2926413839 6.8018984138 7.5040560289
+ 2.2594639598 0.4089980677 4.2942884357 4.9592056386
+ 0.6111917063 0.1295715708 1.3169675143 1.4643180367
+ -0.1038137413 0.0948369790 0.7369445784 0.7502390666
+ -0.0681719430 -0.0057966616 1.0506390165 1.0528643588
+ -0.9035953980 0.0885963766 33.3819295478 33.3942742742
+ -1.1892018943 0.1780018022 49.7841252143 49.7986446516
+ -0.0012126829 -0.0066078276 0.7653170171 0.7653465036
+ -0.6294470100 -0.3093283145 16.4581792138 16.4731159948
+ -0.3305767711 0.0012240601 43.0792582305 43.0805266007
+ -0.0526346324 0.0597386393 9.0098969873 9.0102487664
+ -0.1370938339 0.0546590980 15.3652094450 15.3659182487
+ -0.2826803978 -0.0789231202 33.8987770451 33.9000475253
+ -0.1320511374 -0.0102964323 18.1369178748 18.1374015095
+ -0.0968077897 0.0660704355 6.9844224173 6.9854057544
+ -0.1259780255 0.0242546291 5.0556892626 5.0573167460
+ -0.0460054239 0.0738291924 8.9444244985 8.9448475033
+ -0.1280465386 -0.0618212930 3.0121438353 3.0154980140
+ -0.1686776491 -0.2825845715 8.8876594562 8.8937504349
+ 0.0071972374 -0.4973681895 66.1917690113 66.1955088143
+ -0.3231818469 -0.2872220416 68.3968588395 68.3982254311
+ -0.0634893983 -0.1651218234 31.6026514834 31.6031466298
+ 0.0460147684 -0.0172948427 5.9393297442 5.9395331702
+ 0.1726317500 0.1164118691 9.8796905597 9.8818843850
+ 0.0327297960 0.0723450316 8.1788044752 8.1791899163
+ -0.0897958488 -0.0897174385 363.8429848822 363.8430070243
+ 0.0758339499 0.0601068072 55.1290237987 55.1291087232
+ 0.0718018707 0.3759312285 201.4579814612 201.4583450101
+ -44.2662928912 0.7856302896 36.6647976560 57.4841655453
+ -11.8812533396 0.2396497657 9.9243285792 15.4826971383
+ -1.0059533207 0.1489048090 0.6544146339 1.2173138558
+ -3.6329451443 0.1903760513 3.0637889261 4.7582366304
+ -1.2753172481 -0.1861289079 0.9800874303 1.6191508344
+ -2.1783085319 -0.1785002468 1.5273269284 2.6663866833
+ -149.4240501129 6.3261938425 94.7112670367 177.0255327906
+ -4.3572526375 0.1019889148 2.7871862801 5.1734378943
+ -1.9368336670 0.0683060021 1.1372774187 2.2470848428
+ -10.8191008215 0.5927097669 7.4144904851 13.1293151614
+ -1.4210768644 0.0611532447 1.0295516511 1.7558974276
+ -10.4583231591 0.4090213752 6.3099697407 12.2212740708
+ -8.7762078989 0.4660924799 5.2808926730 10.2531407241
+ -2.8337030227 -0.4484876530 1.7926860628 3.3830071410
+ -0.7957539588 -0.0747701301 0.4411982854 0.9129462538
+ -1.3706759559 -0.3910693945 0.7175657349 1.6716051748
+ -0.1669257450 0.0683464837 -0.0143221280 0.1809435534
+ -0.5680764331 -0.0202842195 -0.0346193473 0.5694916880
+ -0.1029649495 -0.2726212879 0.0722848877 0.3311027595
+ -0.3186834467 0.0725273821 0.1587251550 0.3892207858
+ -0.1173688033 -0.4067735455 0.2499671119 0.4916540556
+ -0.0451230482 -0.2458643962 0.0402733586 0.2531942618
+ -0.0652657499 -0.9915521247 -0.7494298722 1.2446205717
+ -0.1977994969 -1.5716303769 -1.3775189149 2.0992153400
+ 0.6940524606 -0.0158805444 -2.8361702902 2.9199011841
+ 0.3002101161 0.0698749007 -1.3868994017 1.4207388311
+ 0.0592439690 0.0134765951 -0.2705578635 0.2772963831
+ 0.7425670438 -0.2109596512 -1.9987879444 2.1426766055
+ 0.2704975871 -0.0874575069 -0.9940519075 1.0339037455
+ -1.0683939131 -0.6160884169 -0.7258477232 1.4310434684
+ -0.2083087333 -0.1022713592 -0.2066281115 0.3107203497
+ -0.1022837190 -0.0870734036 -0.1564573206 0.2062101597
+ -0.0855464917 -0.0248143265 -0.3570437267 0.3679866517
+ 0.0128097795 -0.0388931086 0.0118575359 0.0426305701
+ 0.0452898595 -0.0152363260 -0.1839348043 0.1900403358
+ -0.0256752227 0.0327380607 -0.1050967313 0.1130323874
+ -0.1115210662 -0.1229158201 -0.7397704884 0.7581593649
+ -0.0852586049 0.1834996115 -2.2608245117 2.2698609230
+ -0.8434899227 3.0842487505 -35.6458159364 35.7889404618
+ -0.4120567223 1.9406895632 -18.7063248077 18.8112374536
+ -0.0205243872 0.1410247404 -1.0500070428 1.0596339074
+ -0.0008132891 -0.0012131898 -0.0023665091 0.0027809412
+ -0.8256421813 1.3681918836 -19.1498487306 19.2164081047
+ 0.1573320002 -0.0811643336 -1.4397325267 1.4505760082
+ 0.0942411783 -0.2126828916 -1.9462542638 1.9601074132
+ -0.0438086108 -2.0377553932 -25.8770286487 25.9741750534
+ -0.4587468444 -0.1873411629 -11.5404540859 11.5510876495
+ -0.3608628899 -0.0316171632 -9.4129761192 9.4199437945
+ 0.1049868157 -0.6575911621 -4.7757200562 4.8239434292
+ -0.0520052129 -0.0356446537 -1.9300120889 1.9360789063
+ -0.8811137632 -0.9432680393 -21.1201243341 21.1595313734
+ -0.1033128641 -0.0942870920 -1.6834213739 1.6892220475
+ -0.0799760673 0.0208903371 -0.1394022888 0.1620665778
+ 0.0314897009 0.0068679358 0.0093103281 0.0335477573
+ -0.2412688407 0.2767819519 -0.7062002063 1.2313932835
+ -0.0544650836 -0.0134714733 -0.0685949212 0.0886182213
+ -0.0635812520 0.1714890594 -0.2274441755 0.2918594286
+ -0.3198734558 0.2709117696 0.0332893469 0.4205001727
+ -0.0472966262 0.1404291582 0.0008437638 0.1481824256
+ -0.5190281543 0.5871564233 0.0092489787 0.7837272701
+ -0.0616528052 0.1613358843 -0.0126200890 0.1731750634
+ -0.0664264493 -0.0371241149 -0.1065495930 0.1309331465
+ -0.3608325307 0.1031431028 -0.3952203591 0.5450116945
+ -0.1811695236 -0.2048750316 -1.2867333705 1.4064687592
+ -0.0102156179 -0.2721454975 -4.6197528554 4.6277731119
+ 0.0991838919 -0.1573891990 -3.4961973960 3.5011433898
+ -0.0233385651 0.0462549519 -9.4363002402 9.4364424669
+ -0.3024538790 0.1079682195 -28.4224843999 28.4242986712
+ -0.0920848566 -0.0656203245 -17.7856736499 17.7860330830
+ -0.1705324253 0.0511463621 -19.5189776775 19.5197896206
+ 0.0733190999 -0.0317741002 -47.9367505359 47.9370203184
+ 0.0606660532 0.1089534681 -33.6249979315 33.6255188347
+ 0.0253921493 -0.0269933746 -14.0685000163 14.0685488275
+ -0.1357419427 -0.0027633821 -30.5272418974 30.5275438150
+ 0.0829722415 0.0236746027 0.8302018734 0.8462622615
+ 0.9036690643 0.3444404940 8.8361415834 8.8900019628
+ -0.0548555055 -0.0910675856 0.3967796238 0.4107754879
+ -0.0431495353 -0.2238946982 1.8704413285 1.8842880570
+ 0.2876909245 -0.3826868797 3.6096006751 3.6412130328
+ 0.6382097287 -1.0490067735 10.7258580139 10.7959139031
+ 0.5416766056 0.2277012931 2.3357798575 2.4085532933
+ 0.1066437600 0.1187088843 0.6711681136 0.6898777627
+ 0.0467024961 -0.0951439318 0.3501702204 0.3658588172
+ -0.0088738351 -0.0179691846 -0.0073953163 0.0213618175
+ 0.0563619267 -0.0364432902 0.1138505542 0.1321617527
+ -0.0603508498 -0.0121025046 0.0217813477 0.0652925937
+ -0.0382993608 -0.1876983239 1.6599859554 1.6710029545
+ -0.0558717488 -0.2428668931 1.1666100014 1.1929312115
+ -0.2316534282 -0.0910827997 0.5501758613 0.6038649398
+ -0.0652649175 0.0263572443 0.0669370337 0.0971327971
+ -0.3701101981 -0.4252999322 1.5151088607 1.6226201761
+ -0.3395935736 -0.4082860566 2.0419377084 2.1144764575
+ -0.0201792038 -0.0104519382 0.0082033788 0.0241606850
+ -0.8430301430 -0.3571201694 1.4758089524 1.7367344936
+ -1.7652946878 0.3888646670 1.2976592637 2.2801482534
+ -1.2427708137 0.3663852796 1.1906437525 1.7596448544
+ -1.1154056165 0.4527946576 1.0359734131 1.5882045221
+ -0.0510845963 -0.0196625701 -2.1034254303 2.1041375415
+ 0.0139726824 -0.0497354448 -0.3044498112 0.3088017777
+ -0.0537426783 -0.2426450274 -4.3405598972 4.3476689278
+ -0.1221031191 -0.1563356830 -5.2490048727 5.2527518666
+ -0.3947701228 -0.3253889956 -12.5966785619 12.6078353426
+ -0.0981462509 -0.1556460614 -7.7285624944 7.7320124416
+ 0.1260950093 -0.0243891710 -0.5591441982 0.5737046430
+ 0.0191409703 0.0733038785 -0.3412238044 0.3495332889
+ 0.6777395355 1.4976280535 -10.2250690054 10.3563631082
+ 0.1359508008 0.3620211716 -2.8159454511 2.8423741366
+ 0.0557961035 0.2539036043 -1.8426434113 1.8608909121
+ 0.2877152201 0.4585718309 -3.4307492011 3.4731985623
+ 0.5340026408 0.8404017445 -5.7291004901 5.8149829181
+ 0.0868589540 0.2450328126 -1.2964828438 1.3222909367
+ -0.0969421269 0.1607395180 0.0691732349 0.2000497563
+ 0.0460167919 0.0939868362 0.0507597774 0.1163083210
+ 0.0887388544 -0.0681408214 0.1115090075 0.1579620669
+ 0.0340345594 -0.0281268443 -0.0408033213 0.0601197275
+ -0.0505747632 0.1072982445 0.1207196726 0.1692452638
+ 0.0184440804 -0.0065641352 0.1495440605 0.1508200849
+ 0.0873171555 0.0089951337 0.0744311618 0.1150877749
+ -0.0358777098 -0.0481696326 0.0279559349 0.0662499650
+ -0.0913005893 0.2219124435 0.6319366260 0.6902206998
+ -0.5169602282 0.0371277061 0.7933056050 0.9578308368
+ -0.2553074407 -0.1342322183 -1.4803041087 1.5145891248
+ -0.0508501718 -0.0037913156 -3.2891385071 3.2924932828
+ -1.2701377238 -0.4487950974 -12.3752506965 12.4483531714
+ -0.4200432364 -0.1725666609 -4.9239218361 4.9448176731
+ -0.1215703783 0.1768993509 -12.6120389401 12.6138653459
+ -0.0440602913 -0.0170579167 -1.6794563082 1.6801207615
+ -0.1496467258 0.1578171896 -2.4389834317 2.4486609785
+ -0.1931726808 0.3759642582 -6.6782372404 6.6916005147
+ -0.0290846976 0.0159036965 -4.1349791295 4.1351119996
+ 0.0256649670 -0.1162105302 -5.0049704412 5.0063851925
+ 0.0728285284 -0.0292572889 -6.5696594767 6.5701282806
+ 0.4006857987 -0.1121271523 -16.8985566496 16.9036782520
+ -0.0033552403 -0.0035466098 -5.2581866141 5.2581888807
+ -0.1551095580 0.0223485215 -6.7701696761 6.7719831567
+ 0.1965619286 -0.4512930089 -3.7273345149 3.7622871159
+ 0.2184670806 -0.3628974210 -7.4676331058 7.4809388709
+ 0.0680739389 -0.0211704484 -0.5419961102 0.5466644606
+ 0.1957881885 -0.2511877216 -1.2427125786 1.2828728851
+ 0.1843930058 -0.1588480659 -1.4380385403 1.4651512266
+ -0.1497321133 -0.5285620377 -3.3680902191 3.4154515137
+ 0.1073229894 -0.0951454335 0.1304053030 0.1938463840
+ 0.4656058468 -0.3525209167 0.2146374333 0.6221969375
+ 0.1208888242 -0.1574822716 -0.0208588938 0.1996243150
+ 0.0276980993 -0.0042787532 0.0532947995 0.0602148494
+ -0.0130266502 -0.0124564852 0.0454927690 0.0489331142
+ 0.1905485002 0.1592609887 0.4640125048 0.5262892722
+ 0.2217783893 0.2927823276 3.7519265406 3.7698620547
+ 0.0295403867 0.1028841785 1.9289059574 1.9318736970
+ 0.3124965460 0.0142247790 4.7555644919 4.7658420108
+ 0.0703187253 -0.0472995880 2.2036361683 2.2052651397
+ -0.0668249103 0.0963672117 10.8750943381 10.8757265997
+ -0.0706958480 0.0979783248 17.8719891555 17.8723975530
+ -0.2506692934 0.3633122696 69.4871196993 69.4885216080
+ 0.0020724214 0.0416421300 12.4205557630 12.4206257420
+ -0.2172232506 0.2211212941 39.5078155425 39.5090314929
+ 0.0355458310 0.0614459833 6.2651627230 6.2655648636
+ -0.1252906827 0.2817673138 29.6398240441 29.6414281023
+ -0.1294127626 -0.1384278248 13.5874255349 13.5887469103
+ -0.0237249442 -0.0379727974 0.8332482459 0.8344503853
+ 0.2142035725 -0.3756987944 23.2241532102 23.2471218794
+ 0.1307464627 -0.1592362198 6.5468424667 6.5515705659
+ 0.0283010141 -0.0119463776 -0.5785078837 0.5793229107
+ 0.0179896966 -0.2341908079 -1.4083784309 1.4278300908
+ -0.1633702370 0.5999789505 -7.3378638491 7.3641639337
+ -0.0044454740 0.1409969967 -1.1260995736 1.1349009494
+ 0.0475885605 0.2458382718 -0.8907403373 0.9252672455
+ 0.0342581264 0.0377445481 -0.5119804231 0.5145116362
+ -0.1167777854 0.1765212320 -1.5071860025 1.5219745210
+ 0.0386342984 0.0505943102 -0.4135285954 0.4183996803
+ -0.1467304048 0.3219425452 -3.2223051518 3.2416704499
+ -0.0213689148 -0.0077587114 -0.1083281811 0.1106879531
+ 0.0197576082 0.1329238546 -1.0717822443 1.0801741959
+ 0.1924323027 0.2822244270 -1.7442902136 1.7774220567
+ 25.7088136666 -4.1018598707 31.4474150447 40.8255771217
+ 6.8717818305 -1.0796387727 8.6989279333 11.1390229544
+ 3.0456303512 -0.3974016938 2.8867606033 4.2174232546
+ 6.4072415417 -0.4645125010 6.6547408418 9.2505984397
+ 34.1411692138 -4.0462103661 31.1507648279 46.3961748847
+ 35.3786421425 -4.7070360373 30.8236083136 47.1582372187
+ 30.9691559359 -4.1021381456 27.6597488040 41.7250267903
+ 18.0114303652 -2.2535599069 15.9941022888 24.1934070330
+ 9.1502998048 0.6131614110 19.4434550705 21.4981715105
+ 26.0193300841 2.0646939564 53.7679451906 59.7685528432
+ 49.9919318893 4.4978458817 105.3130713584 116.6631319241
+ 30.1070367552 2.5752707470 63.6830877356 70.4883064426
+ 17.6554713489 1.6509673831 36.4589711753 40.5425448266
+ 9.5999877029 0.8008636716 20.1118130021 22.3003508612
+ 23.2820675095 1.3402116383 48.9327485924 54.2059424726
+ 1.0005118841 0.1184803908 2.0185869535 2.2603616319
+ 9.4389032926 0.6801878788 19.2374623086 21.4395659186
+ -0.1079636267 -0.1233767129 15.6718444989 15.6727019992
+ 0.0319654938 -0.0129981784 1.5791472705 1.5795242472
+ 0.0464089915 -0.0033564504 3.2350974842 3.2354320874
+ -0.0587872995 -0.0890574220 16.6609843093 16.6613260374
+ -0.0265356964 -0.0256012529 1.2739377775 1.2744712740
+ -0.2921982774 0.0060805463 27.6243288292 27.6258748291
+ 0.0307969195 -0.1253164527 -2.2049798119 2.2087527327
+ 0.0543549915 -0.4510034084 -4.5261525273 4.5488916496
+ -0.1361401909 0.1476679291 -0.0578339299 0.2090089288
+ 0.0076186746 -0.0055161374 -0.0467146226 0.0476521556
+ -0.0190371721 -0.0389329355 -1.9142837467 1.9147742557
+ 0.1091121999 -0.0635613389 -17.6156518101 17.6161043994
+ -0.2449706189 -0.2834644742 0.8592264851 0.9373541834
+ -0.0045483069 -0.0602563687 0.0652071987 0.0889016076
+ -0.0343320986 -0.0639857363 -1.3295556327 1.3315370997
+ -0.0303664613 0.0585017862 -2.6924056585 2.6932123590
+ 0.0309609023 -0.0760088464 -0.3815666726 0.4144982904
+ 0.3009735885 -0.7627855341 -0.8157037942 1.1650233202
+ 1.6055272309 -0.1594596674 1.3315320237 2.0919184030
+ 17.1147921165 -1.7412664662 14.7710756276 22.6744965389
+ 83.2498970170 5.5383674199 177.3702717433 196.0144785629
+ -14.2140564351 0.4028068908 9.3772875186 17.0333547764
+ -12.6993653882 0.4234650195 8.2470945092 15.1481936788
+ -1.9956378643 0.0311817872 1.2391461045 2.3492607045
+ -2.2404860387 0.1755992491 1.4272803112 2.6622813286
+ 0.7550252447 -0.3218032273 4.4300643790 4.5054512359
+ 0.4706524235 -0.1374246338 2.2106499025 2.2643701608
+ 0.1925424529 -0.0501412900 0.6092559397 0.6409208571
+ 1.4200658812 -0.3953220023 5.8432824669 6.0263435498
+ 75.1965394335 -8.6598315634 68.2130157841 101.8947850855
+ 8.8071600637 -1.0805027855 7.9707240482 11.9283475928
+ 32.9556986699 2.5422959613 70.1239950217 77.5237737805
+ 21.0196096332 -2.4309190752 19.0218400589 28.4528338819
+ 21.5000444549 -2.5419115397 19.6307263073 29.2246238845
+ 99.0223162751 -11.5672192385 89.2390665277 133.8014599178
+ 3.6115585894 -0.4094381475 3.2231783558 4.8579701270
+ 41.4742851442 2.5229543255 88.2355392182 97.5295416152
+ 2.9936226055 0.3144665754 6.2215534713 6.9128773251
+#END
+ -0.0691976173 -0.4196020655 -14.9527958318 14.9669836090
+ -0.0349641216 0.0020836454 -30.9932370179 30.9935710667
+ 1.7388796003 -0.3156635200 -19.4113040366 19.5142220421
+ 0.5992901036 -0.1705534344 -7.2883595333 7.3162764829
+ 0.5305419236 0.3542390941 -144.0997836825 144.1012633436
+ 0.2037280119 -0.2191896262 -71.8667307908 71.8674893366
+ 0.8408168708 1.3663796238 -230.1151143400 230.1207493769
+ -0.0251824815 -0.3950200400 -92.5513476061 92.5522992609
+ -0.6899737354 0.3011455062 -8.9121228426 8.9449519684
+ -1.5206042943 0.5271797189 -16.7629297100 16.8405893046
+ 2.9218120683 -1.3539060864 -9.5424970057 10.0721783315
+ 0.4662004584 0.0784138919 -1.2071790278 1.3039373435
+ 7.6068554656 8.3466272962 -5.5049154903 12.5639966426
+ 4.3042248794 4.4119634495 -2.4387721050 6.6949364789
+ 15.6529826793 14.0780381656 -10.4761548735 23.5337977826
+ 0.5490528377 0.4162782839 -1.0643768536 1.2755879035
+ -0.0864328413 2.2342473700 -0.9816479212 2.4913059924
+ -23.3603292633 -40.0260379056 -48.6012149257 67.1556867714
+ -78.4799442484 -141.1346896041 -168.2854421578 233.2340279224
+ -12.5236040910 -21.9106431050 -26.4490912002 36.5580476203
+ -0.2190080531 -1.1846270426 -0.6283709640 1.3658827222
+ -1.2088745269 -3.6468838697 -3.7461179183 5.3887085650
+ -0.1620324454 -1.2097235525 -1.1294095458 1.6687514176
+ -0.5478741847 -2.2646781491 -4.6099651038 5.2500955500
+ 0.2278082828 -2.0237159444 -4.1251362890 4.6954088241
+ -0.0906091954 -0.6660310941 -0.7253956788 1.1052815458
+ -1.1186290077 1.4644333677 7.0670746743 7.3047190351
+ -2.3034841198 0.2819160538 14.6624807333 14.8746982757
+ -1.1894375492 1.2110637014 7.0996114103 7.3599396013
+ -2.5253269782 -0.1064810815 18.3881191543 18.5615468209
+ 0.6409330373 0.6458658593 3.0393115831 3.1756625373
+ 0.0755121394 -0.2573122811 3.8819655960 3.8937190919
+ -0.4612493662 -0.1441473564 1.6421346680 1.9526718851
+ 0.5054356091 -2.5953830326 1.5175518752 3.0518718387
+ 0.0704955779 0.0070106720 0.3259213255 0.3615567332
+ 0.5544977675 -2.2803100075 1.7742508687 2.9452890240
+ 1.3245876161 1.4125832910 7.0023171672 7.3256509200
+ 0.0652111089 0.0729382124 2.1783751487 2.3743804550
+ 0.0215319361 0.6148121059 8.3428205994 8.4179251420
+ 0.2813210872 -0.2204078090 5.9781883150 6.0619144895
+ 0.4620694627 0.2868672042 163.8668665689 163.8704627194
+ 0.0772262888 7.5345092901 -14.3467441994 16.2322720237
+ 1.4561799586 19.0867887031 -37.1246283912 41.7797121442
+ 0.3159529384 0.5562606357 -0.8183868127 1.0480882187
+ 0.9592227024 10.7256099021 -20.6370325306 23.2965387862
+ 2.6102627773 7.5937583743 -12.1976598970 14.6041440954
+ 4.2940942787 11.6159381469 -20.8929046340 24.2879025142
+ 8.1437004800 22.1737921720 -41.4079780748 47.6721831346
+ 30.9440826486 94.5656965580 -176.7466291269 202.8289861040
+ 0.0890143813 0.9773015637 -1.2108671557 1.5648389566
+ 1.0656261932 1.0500100268 -2.5047934470 2.9208817568
+ 1.1089744177 0.0282355218 0.5983278031 1.5712950890
+ 0.8936097118 0.0501578027 2.4079414782 2.7353296089
+ 1.5489200878 0.4430502429 6.4646281890 6.6638085479
+ 1.1998544942 -1.5617410835 31.7697931718 31.8446038567
+ 0.3185540214 -0.7193108008 23.0522493856 23.0847975562
+ 0.0531992697 0.6143547071 0.9044549104 1.4425991606
+ 0.9852007697 1.4455964094 1.8539452717 2.7162167070
+ 0.4870126271 0.3877954444 0.7958270536 1.1245213492
+ 0.3499920194 1.4239230105 1.6150122706 2.1858169119
+ 0.0765485252 0.7612983130 0.8112644942 1.1238614961
+ 0.6015499167 -0.4556960935 2.9519545291 3.0866159032
+ 0.1489297514 -0.9655501017 5.0995312960 5.2156809209
+ 0.9690999544 -1.3233178274 7.7581010790 7.9308219581
+ 0.4647516095 0.4249616628 1.1076810555 1.2818048132
+ 0.0274722636 0.4805100395 0.1146927526 0.5140805732
+ 0.2814059334 0.0074007933 320.8767370207 320.8782360910
+ -0.1340784743 0.5996692847 162.3573128738 162.3611867858
+ 0.0314231403 0.4917381947 3.1071178783 3.2832555735
+ -0.2212932279 2.8899120123 -0.0014598897 2.9401029272
+ 0.0636616520 -0.7164549400 -4.5737316266 4.6320472001
+ 0.5555078131 -0.0978083936 -16.1260294709 16.1631473576
+ 0.4361449882 -0.3122060481 -11.7355969419 11.7853605136
+ -0.2229133450 0.2316868456 -17.5363525102 17.5398548540
+ 0.3063681740 0.2066025877 -5.7612583588 5.8488455747
+ 0.3689636170 -0.0109738076 -3.1870955466 3.2114346301
+ 0.9275924247 0.3836649203 -9.3317546740 9.4325003874
+ 0.4489223528 -0.4790499212 -10.4698906709 10.5020603562
+ -0.3255701559 -0.5376048571 -7.0502276198 7.0795624289
+ -0.2221311224 0.2798825375 -57.4485512729 57.4517829208
+ -0.1312711131 -0.2094411947 -9.5493682375 9.5535863025
+ -0.3468737092 -0.2690595656 -38.7120223555 38.7147629343
+ -0.0057160756 0.4225384413 -60.3096010199 60.3131012928
+ 0.1151283984 -0.1262490046 -55.4040841304 55.4045233846
+ 0.6679006337 0.8961334851 -1080.8705570285 1080.8715421123
+ -0.2193074828 -0.1422254071 -111.1066493065 111.1070444379
+ -0.2081798629 -0.2023810378 -317.4409650780 317.4411285363
+ 1.1184131098 -0.0320949297 -10.0743763902 10.1796506921
+ 0.0411048214 0.0320630325 -0.3162668838 0.3496028762
+ 0.3919352985 -0.0559685560 -1.5914424758 1.6458780928
+ 0.2850962945 0.0261177830 -1.7546972420 1.7833687874
+ 0.6810571069 -0.0959990015 -7.2802617953 7.3140102669
+ -0.0517000743 -0.4492447596 -6.0625510179 6.1513713259
+ 0.0771101553 0.4625781691 -50.4002513547 50.4111897592
+ -0.0599621386 0.2147446263 -7.8163988590 7.8208235897
+ 0.0287314087 0.6296144075 -88.8169463747 88.8192922901
+ 0.7121977974 -0.0825538455 -207.9259265291 207.9272094835
+ -0.3087776490 0.1579999770 -98.0632277877 98.0683422087
+ 0.2401861281 0.1462018856 -42.9291607475 42.9303084852
+ -0.0394358565 -0.6452650962 -99.8342297237 99.8407438801
+ 0.2091981231 -0.1051823941 -17.5969925880 17.5991038157
+ 0.1809295648 0.0201595938 -6.1804132977 6.1846689670
+ 0.5904316920 -0.2956774832 -14.4512738481 14.4670256230
+ 0.5133465820 1.0554732713 -27.3823282733 27.4078260720
+ -0.0920735021 0.3181167744 -4.0031443880 4.0192437831
+ 0.0842164192 0.3379265815 -5.7813411925 5.7935026149
+ 1.5875009295 1.2519094722 -47.1269513646 47.1705041444
+ -0.6436784925 0.4644400861 -10.7437061264 10.7842889837
+ -0.7704597779 0.8030141729 -8.9974836070 9.0671181240
+ 0.0139336058 -0.0305019098 -2.9458609238 2.9877912449
+ -0.3484754876 -0.1849630199 -1.3288506031 1.3931870637
+ -1.6728705200 -0.0477253911 -9.4839670324 9.6315047602
+ -0.1922197996 -0.7113716322 -1.6816799612 1.8413379178
+ -0.0300661173 -0.0124349667 -0.2283122877 0.2306189509
+ -0.6382804367 0.1214889497 -2.1929303017 2.2871608576
+ -0.4873409519 -0.3201388802 -1.1620985723 1.3076478817
+ -0.6019890117 -0.6039274122 -1.9033311224 2.1432287351
+ 0.1383720396 -0.0574392756 -0.3182434310 0.3784240452
+ 0.3869763794 -0.2944763473 -2.2863812587 2.3899124934
+ 2.4937018363 -0.1645061721 -8.6508890424 9.0533884787
+ 0.0104969832 0.0142539536 -0.3928103180 0.4172446437
+ 0.2669164292 0.1937993908 -0.3855292232 0.5073808884
+ 0.8186430900 0.8268183986 -4.6366930726 4.8716607451
+ 0.1124215394 0.3274607343 -0.8857290726 0.9611789168
+ 0.1090351112 0.2622467093 -0.8844465783 0.9393548460
+ 0.4702135096 1.0205242077 -2.3311328256 2.5915691074
+ -0.0492649517 0.2548763288 -0.9354570395 0.9708083494
+ -0.6084433147 1.4329086778 -5.7859493932 5.9917143563
+ 0.3765142957 0.8304833131 -0.7309762702 1.1769756330
+ -0.5023564104 1.9904485261 -5.7532989270 6.1101698525
+ 3.1551720043 3.4709709297 -2.4918129557 5.3343717848
+ 3.4566440846 4.8140327787 -2.7898784797 6.5518090355
+ 7.8827245353 8.9494364886 -5.9303997637 13.3521440793
+ 1.8005136734 2.4292737969 -1.5007442403 3.3785993737
+ 4.8655545974 5.7606176720 -4.1202940228 8.5927388147
+ 20.4865624853 24.2429523554 -17.6595985874 36.3219135460
+ 24.2255111352 27.7116775809 -18.9166198201 41.3948223830
+ 34.9220585242 40.6042960492 -28.0942021585 60.4777868637
+ 5.8859019751 6.9836415030 -4.9036707074 10.3672830044
+ 39.2507541215 45.1313806890 -31.2301505629 67.4761676566
+ 15.8243788703 17.8801877316 -11.9909435257 26.7191745076
+ 13.4007799555 12.3634334722 -8.7609016623 20.2288968646
+ 4.2376613379 4.4554131600 -1.9942405758 6.4656751619
+ 1.8262406137 1.6085178249 -1.1300999703 2.6868364483
+ 1.5255170894 1.7817817763 -1.4810447498 2.7775748458
+ 0.4284784297 0.1285447204 -0.1511053363 0.4923719300
+ 0.2717194703 0.5700584444 -0.1749872009 0.6699988104
+ 0.4061824820 0.8072852869 -1.7754719590 1.9971164727
+ -0.1224805036 0.4470930496 -1.2527987747 1.4240924824
+ -0.1003547072 0.4528472816 -0.2151140651 0.5299958241
+ 0.4918583965 3.2874689214 -4.8986596127 5.9216317326
+ 0.4951928563 0.9073253263 -2.3061080025 2.5271702222
+ -23.7971317699 -38.9756762053 -47.9476604169 66.2146883674
+ -7.4165859527 -12.1297636797 -14.8195576572 20.5367038074
+ -4.5519374956 -7.8479623666 -9.3588064544 13.0344891163
+ -5.1540749897 -9.1572527091 -10.9129653169 15.1496725438
+ -8.9803639516 -15.8894414267 -18.8118890473 26.2112177296
+ -30.6635798664 -54.8345142965 -65.3995948614 90.6874058300
+ -15.5948767199 -27.9900631014 -33.0096579605 46.0032695663
+ -32.3017333336 -57.2574214165 -68.2724502351 94.7784850296
+ -26.5423705715 -47.2412102097 -55.8111339522 77.7904601581
+ -1.7903919319 -3.8338243851 -4.6714700424 6.3044289850
+ -3.6603299881 -6.6762363243 -7.8549447990 10.9393923449
+ -3.3839899747 -6.1015143272 -7.0200905067 9.8975520184
+ -0.1320550644 -0.3664645121 -0.3519762585 0.5249972049
+ -0.8337880704 -1.4851161735 -1.5575074894 2.3079432780
+ -0.8353956739 -2.4812160465 -1.7815912374 3.1698369238
+ -1.1743881585 -2.1376323135 -2.1153970417 3.2315698791
+ -0.1039947396 -1.7583211880 -3.0463260502 3.5188933928
+ -0.2909581210 -2.3785451626 -4.0502074580 4.7059870560
+ 0.3414322182 -0.7827387739 -3.8531253081 3.9490898157
+ -0.2158656748 -1.4212711617 -3.4880095024 3.7752218184
+ 0.0880126508 -0.5198892446 -0.3545517673 0.6505519149
+ -0.4691639778 -0.3384171038 -0.0610679201 0.5982056920
+ -1.6107144006 -1.4647978099 0.8744591537 2.5273512024
+ -0.9014841247 -0.8408818238 0.5540586217 1.3587555372
+ -0.4328864149 -0.6821028587 -0.1736418203 0.8380251934
+ -0.1596076736 -0.0418764594 0.1727967562 0.2767069771
+ -1.0251186554 -1.1228377663 1.2328169149 2.1712351871
+ -0.9008097912 -0.4380904641 0.6718999278 1.2142120212
+ -0.2861170921 -0.3122207083 0.5776927630 0.8698934702
+ -0.5656559477 -0.6079124863 0.3165571784 0.8995623793
+ -0.4278486488 1.3392578098 3.4544538523 3.8461291125
+ 0.0529254470 -0.0057189066 0.3937230784 0.4211074165
+ -1.3566749578 0.6170772781 5.0186972552 5.3189721970
+ -0.0304719908 -0.0366959043 0.5848641823 0.5868059674
+ -0.2009167297 0.0217569444 6.4813402865 6.4844901732
+ -1.6553779538 0.1644423668 12.7834812335 12.9254594385
+ -0.6041782543 0.1885360835 5.7549827049 5.7913627875
+ -0.4776920532 0.2619937387 4.7771868491 4.8101792475
+ -1.0311925789 0.1512832214 8.2509654520 8.3692906647
+ -0.2687004831 -0.1795658107 2.2878349041 2.3147596340
+ -1.2568318765 -0.6613678324 12.7693132179 12.8488082567
+ -0.3770073225 0.3030699707 1.1062444728 1.2154186714
+ 0.0573878647 0.0836627472 0.1517119028 0.2297588053
+ 0.7380178454 0.0328019164 1.1314001146 1.6450419806
+ 0.0577989989 0.1029654411 0.1633989736 0.2451970958
+ 0.9001811766 0.1062272298 0.1901532179 0.9366153993
+ -0.0094464015 -0.1214678936 0.3635688541 0.4080511981
+ -0.1277084077 -0.0578595880 0.2071303063 0.2501202373
+ 0.3284876566 0.1433736297 -0.0447206608 0.3611925743
+ 0.0435973953 -0.3281643649 0.4238721099 0.5556437112
+ 0.5416925595 -1.8068755927 2.1298387109 2.8875740910
+ -0.1434703316 -1.0410599040 1.4521926156 1.7979801550
+ 0.7546006340 0.0214383669 0.8377912440 1.1363343143
+ -0.1150008518 0.0456034532 2.3614439060 2.3687975804
+ -0.2503039082 0.0322413122 0.6927542109 0.8895366065
+ 0.6968661222 0.3231937566 7.0251714279 7.0842608046
+ -0.1116382064 0.1554618213 2.6104317697 2.6211572398
+ -0.1667372317 0.0809213162 0.4000668786 0.4624747086
+ 0.5546925157 0.3512947132 3.9961747501 4.0497536216
+ 0.2402592479 0.2633008904 1.9903973164 2.0220616564
+ 0.1602116261 0.5273506385 3.2354159655 3.2849905199
+ 0.1109105379 0.0863326678 6.4491360071 6.4506673852
+ 0.5763742012 0.3257824489 6.0596068128 6.0956686384
+ 0.0031881730 0.0341752694 4.2233124988 4.2257574896
+ 0.0354103404 -0.2801835897 3.9876356966 4.0000593708
+ 0.0704320927 0.1607500309 1.6994814086 1.7085193328
+ 0.3616746285 0.3506150786 6.2017116025 6.2221351858
+ 0.2531469339 0.2950202235 10.6157215310 10.6237537487
+ -0.0238753396 0.0193253922 0.4522029006 0.4532449293
+ -0.3765245971 -0.1749453319 3.5242850448 3.5486563258
+ 0.1237750690 0.0575204601 12.1883823491 12.1899455678
+ 0.5656671705 0.0443078886 32.6664777141 32.6717031782
+ 0.2000003782 0.1025358863 64.0921683221 64.0927143579
+ -0.2023247439 0.0129753605 4.1609691091 4.1682427201
+ 0.4828718521 0.7527382880 38.8018092092 38.8123647547
+ -0.3545988897 0.1214371843 11.9224186309 11.9291254146
+ -0.1854432336 -0.1827441643 67.9057681179 67.9064106553
+ 1.0037654915 0.3542265917 977.2249976961 977.2255873766
+ -0.0224224616 0.2674526403 238.4963024415 238.4964942966
+ 0.7562720105 4.2270545981 -8.4095656951 9.4889980347
+ 1.3063775268 2.9802021914 -5.9128995264 6.7505620461
+ 1.2168880934 3.0892788004 -5.8692450881 6.7447741125
+ -0.0018058244 0.0731769961 -0.2032990684 0.2160755538
+ 0.1298912757 0.8663619635 -1.3978799259 1.6497039378
+ 6.5018593285 20.5340806062 -38.1222210474 43.7889257646
+ 5.3920141615 14.9313378456 -28.8936794691 32.9676110727
+ 12.2673748044 36.8671458369 -69.0936761120 79.2693540102
+ 6.0558049925 18.0156749185 -33.6748289262 38.6684742377
+ 3.9160730839 11.5488562508 -21.6229151801 24.8250206399
+ 2.7515573212 7.0520261422 -13.7508911567 15.6974083144
+ 5.0289667235 14.4599778068 -25.8366247208 30.0321847562
+ 3.3007218070 8.7315716353 -16.7542534570 19.1796662211
+ 6.1994031717 19.3553078315 -36.6976923574 41.9499778913
+ 7.1563666415 23.0769192565 -42.6597639975 49.0266585666
+ 2.6583575405 8.6035238836 -15.7338365484 18.1284610643
+ 1.5289072775 3.9399098473 -6.4678712730 7.7274371985
+ 3.1688444041 8.9756867090 -17.5700646867 19.9889813467
+ 1.4589641043 5.1993231861 -8.7153748447 10.2646450252
+ 0.5091232213 1.3608143508 -3.7517898023 4.0257208867
+ 0.5298660430 2.4862900341 -3.1582866210 4.0566797165
+ 0.2985705786 -0.1259006917 0.2530459219 0.4341743867
+ 0.1246390176 0.0439423171 0.7569585882 0.7809813706
+ 0.4053285433 0.2542135631 2.5087444875 2.5577713839
+ 0.3768621124 -0.5220063788 4.9827725561 5.0261334883
+ 0.2250522977 -1.1529522056 7.3304756880 7.4253148702
+ -0.1200056276 -0.9197214025 13.4702332019 13.5028497403
+ 0.0377189833 -0.9791195321 10.9243139110 10.9690570238
+ 0.5760346738 -0.9298310878 8.7142612904 8.7837481419
+ 0.0227897247 -0.1459942389 1.2972992200 1.3056871584
+ -0.2848663876 0.5096956884 0.4286494763 0.7376711409
+ 0.4038884106 0.6916960244 0.9281327988 1.3231308173
+ -0.0495168998 0.1014374184 0.3644707155 0.3815499648
+ 0.0027371748 -0.0142150716 0.0385756970 0.0412056414
+ -0.1081180684 0.0529223144 0.3226041471 0.3443312125
+ 0.5052316370 -0.0115407789 0.6299763696 0.8195988090
+ -0.4142005939 -0.3067386439 1.8241662062 1.9007137765
+ -0.0564975407 0.2112528183 16.2269106336 16.2555602863
+ 0.0123327278 -0.1230090236 1.3386900200 1.3516116567
+ 0.0043624393 0.0596013819 1.2150019321 1.2244512385
+ 0.2336747851 0.0373134508 2.4632315411 2.4785047123
+ 0.2981740037 0.1329295371 21.3961389881 21.4192467977
+ -0.0690086673 0.0077989309 11.0548977714 11.0559969039
+ -0.1630202528 0.1373972174 101.4210354940 101.4213556114
+ 0.1859612820 0.1860127315 0.2744462693 0.3801356198
+ 1.6235431077 1.7712405012 3.1128585586 3.9323114756
+ 0.5723503929 -0.6619190264 0.0979686276 1.2876767478
+ 0.0375231136 -0.1486449137 0.1676109377 0.2666017738
+ 0.1050987761 -0.2927521217 0.4918733731 0.5984720191
+ -0.4660147417 0.0779251744 0.8176066363 0.9545692583
+ -0.5030797855 -0.3803121686 0.4457881824 1.2162423708
+ -0.1393472543 0.2520090281 0.1296260633 0.3452664315
+ -0.5286751096 -0.7027213734 -0.4362331703 0.9915108995
+ -0.2819516776 -0.0330237303 0.3183056429 0.4487600500
+ -0.4435400141 -0.8841602957 159.1603916770 159.1635266816
+ 0.5135826886 -0.5826958676 344.8863541172 344.8875819726
+ 0.3811075859 -0.2416387387 128.5262230860 128.5270910463
+ -0.7378574665 -0.8307432587 1430.5102820968 1430.5108001788
+ 0.1755375507 -0.2883930762 443.8449166189 443.8450450241
+ -0.1287306854 0.0333621852 41.1302883754 41.1305033579
+ 0.0208138388 0.1911791399 92.3572074037 92.3621734948
+ 0.0157718383 0.0613809726 29.8313662734 29.8317600872
+ 0.0524745508 0.0936838080 12.9249502022 12.9261497650
+ 0.2849418968 0.8898181948 22.5092997976 22.5482668396
+ 0.1992172817 0.0666847136 0.9286029723 0.9622461438
+ 0.0189037056 -0.6010584379 5.7311445772 5.7642975761
+ -0.1394171494 0.3959313410 1.7527701694 1.8697800576
+ 0.2325458777 0.1846723766 0.1106056136 0.3168833755
+ 0.1897592444 0.3446771393 0.1342753848 0.4157412418
+ -0.7960149279 -0.1721950699 -0.9495671213 1.3448455619
+ -0.4021986878 -0.2610904343 -1.3766114404 1.4644011890
+ -1.6194030088 0.1277952606 -4.8495381970 5.1385303236
+ -0.1949962240 -0.0043566518 -7.4148387194 7.4187165688
+ 0.1678531302 0.0676757573 -1.4093638682 1.4209367313
+ 0.2657142391 0.2052113253 -4.1937624443 4.2071794808
+ -0.0507729589 0.0828804591 -0.8516858939 0.8572140489
+ -0.1943844035 0.0585773146 -0.9357775063 0.9575469385
+ 0.1448306704 0.0680295987 -3.0610349027 3.0652142870
+ 0.3800313982 0.0823279424 -4.5649066490 4.5814380349
+ -0.7589881002 -0.2283955774 -33.6609866307 33.6739947713
+ -0.0168587469 0.0544729737 -1.6241976134 1.6251982678
+ -0.1481249632 0.0074329799 -1.7365475155 1.7428693375
+ -0.0626506506 0.0064830652 -116.0364398982 116.0364569926
+ 0.0554318413 -0.0391709014 -61.7724801198 61.7725174103
+ -0.0435089180 0.1001660209 -31.3766767672 31.3768668164
+ 0.0436244143 0.0585300353 -61.6611607334 61.6612039441
+ 0.5216670080 -0.0559658330 -2.8326259238 2.8808051419
+ 0.5732356963 0.0221172093 -2.5297689198 2.5939967467
+ -0.0102278038 0.0009877521 -0.0063612875 0.0120850984
+ -0.0906446708 -0.1162407038 -1.7201637351 1.7264679647
+ 0.0354912149 -0.1027962068 -3.5479996904 3.5496659688
+ 0.0182757588 0.0336654545 -0.4717320423 0.4732847831
+ -0.0550104260 -0.0315459448 -0.2842968652 0.2912833692
+ -0.0338399299 -0.1917853557 -2.0518693424 2.0610906243
+ -0.0792712471 -0.0238291111 -0.5420723093 0.5483558568
+ 0.0435452652 -0.0366157885 -0.8787265094 0.8805663997
+ -0.0428436074 -0.0233809923 -0.1771895613 0.1837889718
+ 0.0870809979 0.0041752494 -0.1514772277 0.1747738064
+ 0.2576560448 0.1972306376 -73.1856131012 73.1864654929
+ 0.8930179226 -0.0506511900 -222.5821432828 222.5839842277
+ -0.0320552076 0.0421860140 -107.5766060493 107.5766190967
+ -0.0053500167 -0.0378864072 -10.4342404863 10.4343106398
+ -0.2445528267 -0.5241281272 -36.3864823483 36.3944815802
+ 0.0172501295 -0.1556689990 -11.0785782751 11.0796853295
+ -0.0029355336 0.0228862840 -4.3529117147 4.3529728687
+ 0.1112528582 0.1310859181 -13.1591045128 13.1602276688
+ 0.1022225221 0.1863821171 -8.3716731551 8.3743715677
+ 0.0169026824 0.0293318814 -0.1815196700 0.1846495344
+ -0.1687930622 0.2027847416 -3.2731185607 3.2837353519
+ 0.3003334831 0.4485789371 -16.3187224388 16.3276491051
+ 0.2919766437 0.6025984044 -16.9673841919 16.9805919071
+ -0.0274967299 -0.0968421750 -2.7386356728 2.7404853266
+ -0.0859049059 0.0194815378 -3.5742462482 3.5753315127
+ -0.1954566444 0.2046738186 -1.3917502531 1.4202335860
+ 0.0032019056 0.0737682562 -0.6035753078 0.6080749625
+ 0.0085582619 0.0447313798 -0.0883579897 0.0994046001
+ -0.1791385338 0.0231930547 -0.4894043488 0.5216753288
+ 0.1198154743 -0.0678275312 -0.7238082333 0.7367867266
+ 0.0564860858 0.0396957391 -0.8586100166 0.8613812108
+ 0.8747727212 0.4941269318 -2.8659284169 3.0401339138
+ 0.4808751076 -0.1317282854 -0.7662921683 0.9248117010
+ 0.1114223845 0.1153821240 -0.2757351226 0.3189950472
+ 0.5214057138 0.2992881084 -1.4924528417 1.6089912290
+ 0.0344398486 0.0824895675 -0.3635637038 0.3743917715
+ 0.1532944689 -0.0061175289 -0.7334150466 0.7492891624
+ -0.1752450334 0.3675597343 -0.5291938644 0.6677253374
+ 0.0025910894 -0.0036235836 -0.0519487830 0.0521394300
+ 0.4791614146 0.1981416396 -0.9329246404 1.0764218226
+ 0.9744592580 0.5126610341 -1.0110831019 1.5013863611
+ 6.6277876416 7.7428480232 -5.1372661702 11.4136220472
+ 0.9436274602 1.0349717285 -0.7330589666 1.5808145720
+ 2.9319450552 3.1784125755 -2.1570842729 4.8323514842
+ 0.7654402370 0.7716808331 -0.6043977419 1.2436585926
+ 22.1700139180 24.6378606956 -16.9015113069 37.2080966547
+ 0.6434593509 0.9086064379 -0.5989040906 1.2642356208
+ 2.0252428236 2.4875921269 -1.6368012932 3.6012277848
+ 1.1179866093 1.0338726922 -0.8847142270 1.7611093282
+ 3.4188901215 3.2529553171 -2.4812786087 5.3317231260
+ 2.6048048249 2.4533540682 -1.3235204369 3.8151881614
+ 1.3885975974 1.2018834238 -0.6174737389 1.9375244180
+ 0.3601468716 0.4270055310 -0.1704890154 0.5840428041
+ 0.2354989595 0.4532141659 -0.2226270072 0.5571585272
+ 0.4876083837 0.9881342858 -1.2966025511 1.7072871062
+ 0.0174785697 0.6547307199 -0.5836814446 0.8883364395
+ -0.0973719834 0.2542826246 -0.2082877331 0.3428188094
+ -0.0702827743 0.6984819446 -0.4028141561 0.8093676171
+ 0.1194645825 0.0724888339 -0.0004102052 0.1397375604
+ 0.0880499034 0.1798785618 -0.1212870789 0.2341359391
+ 0.4697545841 3.5757074091 -4.1520082033 5.4995931635
+ 0.0721224723 0.4744243943 -0.4815632045 0.6798406261
+ 0.9149209340 1.6466414345 -4.3826334257 4.7723645982
+ 2.3023687712 4.6092761324 -9.9654685394 11.2194639541
+ -29.7266096402 -53.8102739369 -64.0453227640 88.7751106438
+ -5.5819068039 -9.9861063090 -11.9021455109 16.5088179633
+ -43.4650369847 -78.1540430539 -94.0099844922 129.7503027742
+ -1.8639216433 -3.3040456360 -4.0104846545 5.5204083745
+ -6.0325374437 -10.6568263154 -12.5756806402 17.5529826152
+ -21.0128592569 -36.8487419848 -43.8669864726 61.0219840893
+ -4.0787189155 -6.7063657876 -8.4854950143 11.5591918276
+ -1.5266095288 -2.6519963485 -3.3684225754 4.5508122278
+ -0.6000896445 -1.6725272332 -1.3482065851 2.2304967885
+ -0.7543418236 -2.4344889712 -2.0819491316 3.2909391249
+ -1.2909316973 -4.0988640061 -3.7215702739 5.6848285894
+ -0.8326041022 -2.8495783683 -2.6960562935 4.0102426368
+ 0.0087888745 -0.1354251204 -0.1478895803 0.2007200426
+ 0.0848224995 -0.6743330158 -1.2656858511 1.4366212258
+ 0.0448467728 0.0181626963 -0.0370173820 0.0609212864
+ -0.0742835064 0.0376477555 -0.2336465216 0.2480445320
+ 0.2330119061 -1.1021106781 -0.7836260014 1.6623365478
+ -0.0030984191 -0.3430861254 -0.1336705656 0.3937833093
+ -1.0761268401 -1.1351871209 0.0702858727 1.8260423501
+ -0.0397965145 -0.1306529432 0.1301050733 0.1886300194
+ -0.0559672651 -0.1319075470 -0.0112197283 0.1437282784
+ -0.0133403018 0.0989176666 0.3537703509 0.3675814599
+ 0.0410372354 -0.0036450086 0.5530717356 0.5546040799
+ -0.2410464015 0.4223475223 0.9676447408 1.0829668239
+ -0.0106814279 -0.0039538478 0.0027689260 0.0117214660
+ -0.7542179540 -0.3208622950 6.4357738610 6.5068162686
+ -0.0871662315 -0.0110449585 0.2027019881 0.2209254150
+ 0.0045774489 0.0570950169 0.3930676750 0.3972190719
+ 0.8133676032 0.0810203753 0.7441058924 1.2122294202
+ 0.0643542853 -0.2056618984 -0.0651449936 0.2251269879
+ 0.0319761404 -0.3026964662 -0.2629183085 0.4022109660
+ 1.4293640200 -2.1350562613 1.2975416461 2.9211019312
+ 0.0329713961 -0.1109308409 0.0382243377 0.1218764310
+ 0.4896100740 -0.5933369037 0.4346837800 0.8835817418
+ -0.2048055148 0.1830049264 1.3076935715 1.4258941082
+ -0.0749844881 0.0855137925 1.1711729347 1.1766823382
+ 0.0100243965 -0.0043339940 1.4409566632 1.4409980490
+ 0.1222546740 0.2076361466 1.6082445421 1.6261947860
+ 0.0987882381 0.3257151756 1.5052979202 1.5432988435
+ 0.1124744343 0.9344162218 10.2730850828 10.3161068865
+ -0.0082099564 0.0622429280 0.4180448530 0.4227328762
+ 0.2103092678 -0.1564832243 6.7787749685 6.7838416153
+ 0.1805909793 -0.0203944925 6.5474768269 6.5499986134
+ 0.2661729843 0.0518447845 3.8003168193 3.8099795099
+ 0.4365796927 0.0149735795 4.2779483773 4.3001939904
+ 0.3148853283 -0.0082266353 15.5062135154 15.5094125625
+ 0.1028189831 -0.0334396118 2.7486308147 2.7507564972
+ 0.0517866536 -0.1550137316 10.5604551932 10.5617197938
+ 0.0650851479 0.0109043925 4.1421864963 4.1427121493
+ 0.1805565885 0.2260315930 32.2795956052 32.2808919238
+ -0.0164431648 0.0303489879 8.2254558246 8.2255282482
+ -0.0088699297 0.0129032202 0.9295706127 0.9297024754
+ 0.0814124191 -0.0373104381 59.4829180755 59.4829854902
+ 0.7208266707 4.6920687310 -8.3936559820 9.6436364948
+ 0.6513896434 1.7204093097 -3.3006888409 3.7787118817
+ 0.0867167172 0.1612840637 -0.2940573839 0.3464131685
+ 0.0835021618 0.7059708038 -1.1105647717 1.3186058922
+ 0.1884622517 0.6030703798 -0.9575371477 1.1472093499
+ 0.1467966347 0.2248363246 -0.5009364235 0.5683642540
+ 0.0792196908 0.0847595731 -0.2626749341 0.2871551247
+ 0.1791595088 0.4673545924 -0.7111968810 0.8696662855
+ 1.5867777383 4.3245670242 -7.8877348125 9.1343365391
+ 0.2501764508 0.5932271441 -1.1842842527 1.3479747372
+ 10.3510617921 29.8672792721 -56.0879767015 64.3840636900
+ 0.4098861186 1.2186046784 -2.2551847993 2.5959319081
+ 6.8570573494 21.8232027434 -40.8113755156 46.7850380458
+ 0.4613913868 1.4281471771 -2.6061935727 3.0074459779
+ 9.8907245903 30.5899357265 -57.0895393984 65.5193567536
+ 1.2957682043 3.7621989700 -7.0198759172 8.0691891924
+ 2.9366778225 8.0749371805 -14.8904490792 17.1916887153
+ 0.0989852322 0.0385711073 -0.2707981532 0.2908907807
+ 0.1510326313 0.2639118417 -0.5289986679 0.6101638358
+ 0.1564726517 0.3829634612 -0.5913260928 0.7216725375
+ 0.7742278288 1.8971545543 -3.4857796564 4.0434247794
+ 0.1374778732 0.1079443846 -0.2116494250 0.2744952366
+ 0.1853541744 0.1824683758 -0.6426560113 0.6932947620
+ 0.0595783901 -0.0653549958 0.4888990782 0.4968331397
+ 0.0016327596 -0.0980456550 0.1511979945 0.1802122358
+ -0.0277839214 -0.1565989319 0.0615673979 0.1705453495
+ -0.0230727935 0.0040467761 0.0782937940 0.0817229978
+ 0.0708786736 -0.0649439893 0.0357190772 0.1025541837
+ -0.0158882303 -0.0134217770 0.1299575118 0.1316113021
+ 0.0820936142 0.0188142300 1.2836313063 1.2863913351
+ 0.0090508154 0.0943553790 0.5710021641 0.5788163147
+ 1.2830486818 -0.6780513618 2.5397807496 2.9251416761
+ 1.3686793946 -0.6706677687 2.9400453540 3.3116378462
+ 0.6230786693 0.0095673717 2.6153934192 2.6886058283
+ 0.3366331977 -0.0948114136 1.4492947201 1.4908944629
+ 0.0129527415 -0.0220196878 0.0093787566 0.0272139897
+ -0.0968163604 0.0564965587 0.3435101857 0.3613371230
+ 0.0457155020 -0.0085415262 0.9207503883 0.9219241522
+ 0.2125710593 0.0045697836 1.1886606186 1.2075269787
+ 0.0282216202 -0.2382143327 3.0987804843 3.1080513217
+ 0.2819361438 -0.7543822214 8.5770346661 8.6147608318
+ 0.0361851279 -0.0441764394 4.3342336128 4.3346097784
+ -0.0121840256 -0.0998529374 1.7649002147 1.7677646414
+ 0.4756882984 -1.0814663681 20.0976548944 20.1328353915
+ -0.2498294590 -0.7652820218 8.5389548436 8.5779543563
+ 0.2140381981 0.8554375548 1.3601557530 1.6209902630
+ 0.0669807779 0.2376957507 0.2647146338 0.3620214522
+ 0.6548752537 -0.2619456795 2.5450306996 2.6409578563
+ 0.0632211634 -0.0114773153 0.1226768623 0.1384855834
+ -0.0366451180 -0.0212665617 0.8398950595 0.8409630446
+ 0.0943134056 0.0360048186 3.3953048910 3.3968053622
+ 0.0093605463 -0.0371065472 2.0791685194 2.0795206774
+ 0.4171027709 -0.0990616505 28.0467186531 28.0499949223
+ -0.0672273929 -0.9635651616 113.2384716796 113.2436846853
+ 0.0148585864 -0.2862052760 33.5764003481 33.5776234205
+ -0.0096804650 -0.0081834642 9.0006081528 9.0006170789
+ -0.0197811337 -0.0035836336 2.7549812720 2.7550546174
+ 0.2263009506 -0.0030108697 38.0076725847 38.0083464057
+ 0.2201373140 -0.0035446378 83.9643374097 83.9647420614
+ -0.3689430156 0.8458711090 284.4334757931 284.4350070726
+ -0.2998924536 0.2433386930 36.4985158856 36.5126499017
+ 0.0599229692 0.0041994815 0.2678517678 0.2745049497
+ -0.0133796807 0.0441224799 1.2412650178 1.2421210301
+ 0.2235231799 -0.0881903988 -8.3537025919 8.3571578394
+ 0.1943863891 -0.1391397950 -5.0292621270 5.0349402670
+ -0.1802712949 -0.0732520424 -26.4427806410 26.4438649107
+ 0.0786536355 0.2397087668 -23.1048861604 23.1066849842
+ 0.0867379730 -0.1718051680 -0.7046391512 0.7436643127
+ -0.3924029616 -0.4462745446 -2.1401889985 2.2255403361
+ 0.3984722874 1.7821654402 -1.2405680204 2.2120991430
+ 0.1083276435 0.2000339933 -0.1053479505 0.2869258656
+ 1.7753159834 4.8208283716 -9.5983823357 10.8981077221
+ 0.7020074716 1.5670313024 -3.1563485803 3.5931793656
+ 0.1404283961 0.2587265750 -0.6568715076 0.7198192499
+ 0.5920916888 1.0784659305 -2.2991079586 2.6075963523
+ 1.3355661959 2.6644499175 -5.9570257910 6.6610199445
+ -33.7417284037 -61.1111195969 -72.9575949153 100.9747657074
+ -24.7994483856 -44.7539918987 -52.9813056114 73.6544001073
+ 0.0212620055 -0.1038643536 -0.1685493531 0.1991199670
+ -0.1350989321 -1.8202887949 -2.4618522099 3.0647054217
+ 0.0617869779 -0.1268148594 -0.1500322033 0.2059351870
+ 0.0339967813 -0.2194916964 -0.5354896124 0.5797253754
+ -0.1542183433 -0.0477969916 -0.0474363433 0.1682796972
+ -0.0104806069 -0.0887049563 -0.0530549416 0.1038905155
+ -0.5015377056 0.2997797454 1.5001263115 1.6159414288
+ -0.3191263868 0.0883909013 0.3360905483 0.4920276859
+ 0.1838432331 1.5389286929 -2.1816162107 2.7212478952
+ 0.6895566378 2.6800967549 -4.3269057774 5.1380930668
+ 1.2091280193 4.5357680950 -8.9530569416 10.1099896718
+ 0.3486005014 2.2422189269 -4.0468022330 4.6416760038
+ 0.8525271056 -0.0207249640 3.3029525630 3.4141188334
+ 0.0581970298 -0.0940497609 0.8046191306 0.8240897900
+ 0.4438381617 0.1374921415 1.6726580665 1.7415973114
+ 3.2779710731 0.3456758383 10.3751526983 10.8870500798
+ 0.0043561055 -0.0196410278 1.3276540150 1.3278064351
+ -0.1183896033 0.0403668253 1.3651007405 1.3708193209
+ -0.0713945409 -0.0766901560 0.6630208773 0.6712490181
+ 0.0504055313 -0.0032546850 0.4870089410 0.4896213018
+ 0.1199570452 -0.0705485394 1.2558549037 1.2635419773
+ 0.0187263450 0.0414781354 0.9096266510 0.9107643801
+ 0.1033316416 -0.0723060443 162.9445520447 162.9446606257
+ -0.1335940973 -0.4080325572 162.0694693199 162.0700981161
+ 0.0379766897 0.0380982266 7.2993957502 7.2995939628
+ -0.0217258927 0.0770542077 2.1671147853 2.1685930596
+ 0.1852051855 -0.0740787047 -36.1930677153 36.1936173829
+ 0.1143046600 0.0603551828 -24.5065752303 24.5069161222
+ -0.0236890432 0.0298711636 -4.3491500900 4.3493171834
+ 0.1842870305 0.3405811643 -51.0446006828 51.0460695461
+ -0.0316639821 -0.1734549735 -0.4399565555 0.4739736346
+ 0.0587749683 -0.0279007983 -0.1129580553 0.1303551829
+ 0.6963452409 -0.3449175402 -1.6113490711 1.7889412044
+ 0.0055582133 -0.0054393650 0.0005631859 0.0077972819
+ 0.0048380155 0.0159368497 0.0229852292 0.0283850371
+ -0.1914232177 0.1994433071 2.0044495700 2.0234224867
+ -0.0149904528 0.2699452556 0.4970808986 0.5658485437
+ 0.0220565553 0.0692363247 0.3354276003 0.3432081516
+#END
+ 0.2943848270 0.0218933047 -11.4980588432 11.5124341416
+ -0.0454430384 1.1343875001 -6.4851470897 6.6022476329
+ -0.3352749492 0.4881555943 -0.3298178369 0.6920728042
+ -0.1968961859 0.5107320994 0.0179686739 0.5651708092
+ 0.7836242520 0.1026393850 -0.5684939070 0.9834972897
+ 0.1995623982 2.0174536667 -1.3759048885 2.4993398469
+ -0.2146299904 -0.1315597001 -0.4936329242 0.5714256174
+ -0.2874381559 -0.1094499886 -51.0948593390 51.0959756796
+ -0.6889344199 -0.3650180986 -25.3226560566 25.3394636796
+ 0.1295249233 0.2460724756 -31.7277308355 31.7327886152
+ -0.2255952632 -0.2332995162 -5.4105032490 5.4426563601
+ 1.3096280188 0.0102570493 -62.5727202653 62.5865802863
+ 0.4426617689 1.5812065929 -17.2579863053 17.3364856540
+ 1.5589542696 2.0125253081 -14.9643447860 15.1873583077
+ 0.2679003432 1.0648925093 -3.7092601665 3.8708987868
+ -0.5413154672 1.1370133322 -2.2427270181 2.6190240912
+ -0.0601515011 1.2312615564 -1.9851941706 2.3409611067
+ -0.1447424282 0.5654747846 -1.0642546509 1.3103400416
+ -0.0058410147 1.5372008958 1.3824545155 2.2703638016
+ 0.3931119674 0.2843464756 -0.1761476429 0.5346940378
+ 0.1062666733 5.4530586788 4.7085699254 7.2067504527
+ 0.0260814747 0.6984141262 0.5080545404 0.8752495278
+ 0.1995064971 1.8316110357 2.5527398181 3.1512794533
+ -0.1482488380 1.4239918781 1.5389997374 2.1065921683
+ -0.1691793475 4.9963953689 5.7161568046 7.5951640360
+ -2.0694488469 14.2824898569 17.2517544272 22.5116751142
+ -0.4932765127 4.4249257357 6.0060802030 7.5351894916
+ -1.1947239096 3.4027518839 3.8092457636 5.2474678347
+ -0.6989821162 1.0938738587 1.6304694385 2.0887906531
+ -30.7243699309 57.3617275368 78.6146411827 102.0521238472
+ -14.9431476049 26.4705596805 37.5275568800 48.2941528066
+ -0.6769510456 0.5635023301 -9.5392383760 9.5808322276
+ 0.4276229291 -0.0090945246 -90.7924844883 90.7948336889
+ -0.1206118905 -0.8392175157 -114.1269303788 114.1301649466
+ -22.7023064308 64.0998970915 80.0830891007 105.0606316623
+ 0.4182963110 -0.1533405753 5.7767980303 5.8149395163
+ -1.2639015906 -0.6699535435 21.6228706106 21.6705860145
+ -4.2054071186 -0.1804555747 220.2417268800 220.2839454498
+ -1.9310232344 0.6331985741 129.9958185830 130.0150875507
+ 0.1084490441 0.2393933101 27.2389571027 27.2405824861
+ 0.7313139303 0.4539557662 40.4076751477 40.4170828552
+ 1.2731361693 -0.3430205017 24.5691631800 24.6049141010
+ 1.2768889029 0.8208115527 172.6369283572 172.6443073213
+ 0.2203773889 0.2897547965 51.2469125737 51.2483956057
+ 0.4860414974 0.2703158075 173.5803066696 173.5837404893
+ 0.4089125068 -0.9946778419 0.8044326069 1.3502536989
+ 7.6118840466 -24.9840174721 15.5090103707 30.3795153257
+ 4.4630743334 -18.9254702898 11.2063398581 22.4431279236
+ 1.7534625922 -5.0990785840 3.6854306523 6.5327721793
+ 0.6934411744 -3.7473329916 6.9787002528 7.9526789333
+ 0.7804569110 -1.4136670447 1.6345590581 2.3501046313
+ -0.5115666261 -0.3593471672 0.3043899058 0.7091994072
+ -0.4454918182 0.2883531311 -0.7066945900 0.8947108565
+ -1.3237737076 -1.0779276053 0.2512979851 1.7311658538
+ -1.2177329211 -0.6018991301 -1.9495768048 2.4268594330
+ 0.0591943645 -0.5254311740 -3.9672496455 4.0047635917
+ 1.4167358574 -0.5100489952 -2402.6733386111 2402.6739936399
+ -0.4587064029 -0.0161759718 26.1474193540 26.1518200492
+ -0.7561509656 0.4082707373 30.4042126176 30.4166742751
+ 0.2079262533 0.1987649212 0.9324177091 0.9857095870
+ -0.0751723086 -0.6801516959 -1.3939053362 1.8142711718
+ 1.9972108181 0.3852980999 1.1364242535 2.3341477131
+ 0.0727398588 -0.3988711314 -0.9074795211 1.0036872683
+ 2.5370861851 0.9561681521 -1.7743764925 3.2432939379
+ 1.2628176362 0.4751122144 -3.1171358675 3.3994787541
+ 0.2160564557 -0.1283233770 -0.1837627557 0.3411683110
+ -1.6405896818 -1.9333011660 6.2430548174 6.8035074146
+ 1.3105605294 2.0793527334 -39.1621674176 39.2394713691
+ 0.6504724214 0.0580024793 -17.3532121630 17.3908252140
+ 0.2459708502 0.0764550166 -1.4947902281 1.5232283609
+ -0.1710344673 0.9902031978 -10.5522487387 10.6415459586
+ 0.0581185612 -0.0173452518 -0.7545989660 0.7697908868
+ 0.3316301776 -0.4161990658 -3.6203019378 3.7775834803
+ -0.4291613722 0.1732677624 -0.2294002695 0.5350751998
+ -0.7768917250 -0.2220647222 0.2631007180 0.8611476446
+ 0.0283597500 -0.0166138010 0.0389069069 0.0509317308
+ -0.0529879206 -0.0407090544 -0.0782263864 0.1028800971
+ -0.2313762985 -0.2057126479 -0.3086492611 0.4589083092
+ -0.9303596522 0.0738334717 0.0290974093 0.9441117032
+ -0.2125481794 0.0894817530 -0.3597175439 0.4495110777
+ 0.1984637691 -0.0024922956 -0.1662064868 0.2941062059
+ -0.2408306371 0.0112974393 -1.1335645846 1.1589200556
+ 0.2846331451 0.0475238833 -0.7367767012 0.7912739438
+ 0.6672236707 2.3336297704 -3.2915409709 4.1193322584
+ 0.2597510570 0.1763682415 -0.4768294507 0.5877265335
+ -0.1816560008 0.9853695045 -0.5623243426 1.1489824321
+ -0.0578744553 4.8583945018 -5.2132338631 7.1263703173
+ 0.0595644908 0.0611398242 -0.0258966997 0.0892000321
+ 0.3980120910 3.8471936534 -3.7634308964 5.3983520197
+ -0.4747639676 0.0737169873 -0.1519527180 0.5039093645
+ -0.1676914064 -0.0344559285 -0.1129161050 0.2050796567
+ -0.2160695466 0.3382842575 -0.1360551698 0.4238316848
+ -0.0353761793 -0.0067410095 -0.0140995455 0.0386744419
+ 0.2263651885 0.4206862735 -1.5121138450 1.6620414701
+ 0.0878464172 0.0556781717 -0.4827753237 0.6982335032
+ 0.0986190161 -0.0275814227 -2.1093360790 2.1164273964
+ -0.7671812418 -0.4804057334 -4.9565307433 5.0404398142
+ 0.3159279742 -0.1303372190 -0.8608530572 1.0495271420
+ -0.1498626591 0.0233499056 -1.0277545863 1.0482191132
+ -0.5828655887 -0.1858045395 -7.5949719066 7.6355415554
+ -0.2303850675 0.1911832820 -7.9031140714 7.9100139151
+ -0.4477392385 0.0620926332 -3.3703056774 3.4033463040
+ -0.0381358899 0.1063693415 -1.5852028246 1.5953421460
+ -0.4803984934 0.2651865764 -50.6810204390 50.6841831261
+ -0.1475588545 -0.1394653674 -25.4147882352 25.4159824722
+ -0.3330258575 0.2494209982 -42.9247678496 42.9270112142
+ -0.5911848183 -0.0347241134 -158.9461531900 158.9473176840
+ 1.1075228813 0.4593860908 -66.3863707204 66.3990323793
+ 0.1703060870 0.6820711554 -7.0435824368 7.0785788665
+ 0.1945109242 0.5907207286 -5.1459284846 5.1833739443
+ 0.0966337250 0.0672316997 -7.7538591656 7.7560086335
+ 0.0356050971 0.3757825012 -2.6040054616 2.6349201961
+ 0.8250186707 0.4569154889 -3.5547164789 3.6803419136
+ 0.1672369415 0.4072977279 -4.3275384043 4.3521176522
+ 0.4183981226 0.7550961332 -2.8711928162 3.0014088579
+ 0.0596337597 0.1876347982 -1.2318685883 1.2552860258
+ 0.9794545392 2.4571365931 -7.0550507759 7.5510441868
+ -0.5734020451 0.4152547116 -2.0440200011 2.1676540154
+ -0.3243423846 1.4069906996 -3.9735889210 4.2300956855
+ 0.2880544700 2.7836292733 -5.0771909515 5.7973645105
+ 0.0512848276 0.1715846246 -0.3114101106 0.3592320614
+ 0.0044760050 0.8057228044 -1.7157134281 1.9006213786
+ 0.6954116576 3.9301767606 -9.1302555701 9.9654871082
+ 0.0926910302 0.4945023973 -1.4037838761 1.4977360260
+ -0.0202737839 0.2095438851 -0.3827294641 0.4585643833
+ 0.4629760365 3.0392630168 -5.2091078612 6.0502686710
+ 0.2007585879 0.3164439030 -0.3281922152 0.5173303291
+ -0.0903654573 0.3635626205 -1.3999478822 1.4559112448
+ -0.0062883762 0.0179393281 -0.0180479462 0.0262124308
+ 0.7078400883 2.0348914678 -2.3551823898 3.1919750885
+ 0.5348096955 5.8573142263 4.5447857725 7.4919676765
+ 0.3096861382 3.1618435144 2.8219221859 4.2515743581
+ 1.3934910343 9.8867621174 8.7478416878 13.2837591661
+ 0.4833182109 6.2421358281 5.1628043927 8.1299474996
+ -0.0136882384 0.3779191727 0.2595047662 0.4586425543
+ 0.1396261549 0.5251386158 0.3998930040 0.6746706186
+ 0.8031166574 10.0201227358 8.4317510427 13.1203003644
+ 0.8718598365 9.3210773527 7.9031682564 12.2516403423
+ 0.6329621813 3.1866785633 2.8720583570 4.3386357741
+ 0.6479156433 5.5851105970 5.2116839545 7.6677496365
+ 0.2591295001 2.6978740818 2.4801355021 3.6764418332
+ 0.1203394369 0.1734454968 0.2134562558 0.3002140795
+ -0.0007124945 0.2392763435 0.2497366222 0.3458642171
+ -0.0053285592 0.2503603684 0.3934111061 0.4663485885
+ -0.8643097178 2.5897363541 2.5503676619 3.7386656267
+ -6.5647016509 12.2928859709 16.3400610277 21.4762060763
+ -1.5900704517 2.4839162029 3.7844955741 4.8000052375
+ -4.6375889045 10.1124513184 13.5628538990 17.5425023353
+ -26.1977196782 49.5779328168 67.5182671967 87.7668948052
+ -2.7695594617 5.3532387819 7.1574952137 9.3582499746
+ -22.3884349077 43.0057063435 59.0290776381 76.3883779269
+ -20.1923495755 38.6300574231 52.3608663104 68.1362824731
+ -2.3518215313 4.6521820387 6.2626883183 8.1495157521
+ -13.2290247289 24.6406611738 33.2409920423 43.4513017308
+ -2.7555525005 5.6044862228 7.8225510064 10.0107501935
+ -0.3856575268 -0.1935996267 -8.0694111543 8.0821462932
+ -0.1700198732 0.1817706397 -3.7853507922 3.7960911116
+ -0.1393546990 -0.1124263020 -2.8394636948 2.8485247523
+ -0.5496364477 0.0345779230 -10.8653927865 10.8802360290
+ -0.0599666348 -0.1093677661 -8.5702929121 8.5723367695
+ -0.4739300305 -0.1076762049 -100.0283401483 100.0296181961
+ -0.2146944244 0.1093600759 -65.5051859585 65.5057777648
+ 0.0407467941 0.3172691005 -42.7471334398 42.7483302283
+ -0.0950305199 0.4575559055 -69.7832800846 69.7848448273
+ 0.5636803633 0.0890369827 -203.8031382985 203.8039850524
+ -0.0145824693 0.0069323535 -3.6776467286 3.6776821731
+ -0.3657698263 -0.1254705869 -237.5195720251 237.5198868004
+ -0.2661854002 -0.0877227553 -179.5134100886 179.5136288749
+ 0.1685450477 0.0457703519 -30.1627665601 30.1632721852
+ 0.0056656406 -0.0447296846 -9.4188924183 9.4190003308
+ 0.0255872028 0.0767906875 -63.2775186328 63.2775704008
+ 0.1651441353 -0.0887178411 -200.5747213161 200.5748574828
+ 0.5148142941 0.3322825936 -419.7243583091 419.7248287667
+ -1.2950540331 3.7702327371 4.7067683344 6.1681024630
+ -5.9547960613 20.8213834581 24.8679335918 32.9758051663
+ -0.8276978103 3.4351722288 3.8127325117 5.1983094475
+ -0.8077529629 0.7993873831 1.4251903893 1.8281500125
+ -0.0740668636 0.2773257459 0.8782384147 0.9344399219
+ 0.0735243423 -0.5659160195 2.6091771942 2.6745003619
+ -0.2988097929 -0.9265359373 6.1331522354 6.2115048308
+ -1.2399989768 -4.3637272721 34.4706923661 34.7714248533
+ 0.2013879783 -0.6836031469 7.7157228067 7.7485643064
+ 0.1971905575 -0.4319915854 6.1811973236 6.1994113591
+ -0.2287871907 -0.3079518546 3.0951323004 3.1219387671
+ -0.4789703939 -3.0924842830 31.4593061906 31.6148746235
+ -0.1308647214 0.0194970951 4.7707021673 4.7745769096
+ -1.1405741245 -1.1911998785 19.5520918146 19.6220192792
+ -0.7134458078 -1.1158707048 43.1743626792 43.1974930530
+ -0.3182420662 -0.3074575347 7.2282201389 7.2430970109
+ -1.2074453209 -0.4183831213 63.6236642162 63.6364959511
+ -0.6601052406 -0.1312953135 31.9121535374 31.9192500034
+ -0.0715554238 0.1298272652 0.6058419949 0.6237145343
+ -0.0224071975 -0.0051435324 0.5451471686 0.5456317200
+ -0.0399857760 0.1156511243 10.6111254490 10.6127488016
+ 0.0205976620 0.3145286905 3.4141427990 3.4315016244
+ 0.1378670410 0.0179377285 1.5438678192 1.5501151333
+ 0.3019078397 0.1155694814 6.4409336261 6.4490410624
+ -0.0750051673 -0.1601451936 14.2945870254 14.2963621341
+ -0.4995576158 -0.1276763680 30.0278035064 30.0325543747
+ 0.3450102303 0.0882632998 16.1339528416 16.1384861914
+ 1.1616578160 0.2823133084 27.8318424894 27.8578550112
+ 1.1195968867 0.0767247344 45.4053446430 45.4194252034
+ 0.1252632004 0.0224074374 3.9703956902 3.9748854932
+ 0.5358482211 0.1358391117 28.8390252130 28.8446605216
+ 0.2646837261 0.4145369780 27.0323254482 27.0367993209
+ 0.1170776389 0.2367883251 20.7353691386 20.7370516033
+ 0.9645084251 0.2831339643 40.1445380289 40.1573636421
+ 0.0912048757 -0.2102273851 19.4079534081 19.4093062569
+ -0.0091415867 -0.1675735421 23.5952224660 23.5958192840
+ 1.2715856613 0.8889110345 270.9780018142 270.9840676327
+ 0.1457156088 0.0584853965 46.2191814116 46.2196588447
+ -0.2984364826 -0.0866166683 305.5907731633 305.5909630357
+ -0.4879804540 0.0067003189 548.1394079111 548.1404304252
+ -0.1874018267 -0.3283961142 451.5944083000 451.5945881552
+ 19.5282809015 -48.9866885052 38.1187420648 65.0700190723
+ 17.5799631128 -43.3519895368 33.9221016223 57.7854573256
+ 29.7149896843 -73.1367465462 57.4503246557 97.6345436326
+ 48.3788439038 -119.0038107396 93.8378792145 159.0848407714
+ 37.4695087941 -93.3508282688 73.5551668593 124.6142980529
+ 7.3269058861 -18.1086072140 13.8205203514 23.9344869029
+ 3.6608053964 -11.4192031987 7.2375961776 14.0072115733
+ 1.2602273604 -2.8570551870 2.5154996478 4.0122506906
+ 2.2236670658 -6.2740822410 4.0965287301 7.8172776980
+ 2.2436406750 -7.0932544689 4.5254891379 8.7090593155
+ 0.0444073567 -0.3970049375 0.1216394726 0.4175896251
+ 0.3327447061 -1.2803881993 0.5701638487 1.4405553772
+ 0.7138404053 -2.0997934179 2.1559454676 3.1321625662
+ 0.1186222246 -1.0071289201 0.7252068609 1.2545057473
+ 0.2926752728 -1.1760645410 1.7840550908 2.1612771621
+ -0.0102674426 -0.1382978211 0.6255649409 0.6557766296
+ 0.3487347894 -4.9602141889 7.6601618109 9.1336137157
+ 0.8171484238 -6.1811131178 10.4786987250 12.1941173389
+ 0.2710269296 -0.5927121246 1.0712774712 1.2616966610
+ 0.1575378162 -0.4257651550 0.4885862190 0.6813885889
+ 0.2265638185 -1.2024004781 2.1908160171 2.5132156054
+ 1.1034897189 -9.3171918628 14.0329447396 16.8810773240
+ 0.7795239726 -1.6974792529 1.8883205378 2.7015715521
+ -0.3081003302 0.1322999328 0.8506791568 0.9249669715
+ 0.4949641484 -1.9341545458 1.8504491518 2.7257265386
+ 0.6206892696 -0.8667504563 1.0881541482 1.5297289819
+ -0.1826959552 -0.0985658646 0.6284369725 0.6763917911
+ 0.0349770542 -0.8136010456 0.3662551344 0.9037658237
+ 0.2113378527 -0.3595809085 0.2799187460 0.5213409700
+ 0.0395163839 -0.0914372310 -0.0571896250 0.1148606330
+ 0.2284322006 -0.1222933458 -0.0079848858 0.2592309609
+ -0.0445093637 0.1565055193 -0.2699275315 0.3446965596
+ -1.0352365878 0.3507218009 -0.6953660693 1.3029713464
+ -0.8017136178 0.3022668600 -1.9629891337 2.3383299407
+ -0.2780480113 -0.1589154415 -1.4856623091 1.5261838342
+ -0.9926689095 -0.1191851362 -1.4753700057 1.7876781307
+ 0.3048158218 -1.3657271931 -12.6158852143 12.7028470884
+ 0.2302121839 0.0475158472 -1.7704740133 1.7860105366
+ -0.3067802327 0.0779275175 -2.8884114238 2.9090526202
+ 0.2179116174 -0.2413469676 -105.8228873936 105.8233869717
+ 0.2967086099 -0.2240919589 -169.5569406917 169.5573483808
+ -0.2431565275 -0.0808003988 -9.5084393934 9.5129150782
+ -0.3018706182 0.2525291888 -31.5126881783 31.5154548257
+ 0.1323933932 0.1595355664 -278.0616806323 278.0617579166
+ -0.0168255131 0.1389755344 -196.7341553798 196.7342051863
+ -0.7290111995 0.4058583241 16.8878006930 16.9083999998
+ -2.4452422176 1.6149617794 56.8963910202 56.9718055022
+ 0.0744377452 0.1723422381 5.0802969937 5.1076708321
+ 0.3398962173 -0.2137904205 5.0087456819 5.0267533134
+ -0.1703026525 0.0812607332 3.5144914561 3.5545649416
+ 1.5226972747 -0.4893422488 6.2109624735 6.4135885177
+ 0.6773984742 -0.4136551394 4.7403147731 4.8063045488
+ 1.8543094325 -0.5018964814 9.2568946655 9.4670007583
+ -0.4764267745 0.2629811596 -0.5346243509 1.2092623170
+ -0.0331004427 -0.0524341353 -0.1354406920 0.2041297230
+ -0.3208010821 0.2119591642 -0.0326250454 0.4103464391
+ 0.0201913357 0.3223543757 0.0435901008 0.3545418387
+ 0.2686319243 0.1365512082 0.2487262503 0.4149142992
+ 0.3010137969 -0.1572989258 0.7267398514 0.8142375910
+ -0.1479170282 -0.0334318933 0.2305306020 0.3092269104
+ 1.2662774178 -0.0952736777 0.6730865495 1.4439739819
+ 0.6793612559 0.0414194630 0.5499757605 0.8861153480
+ 0.0106878895 -0.0154384195 0.1681071124 0.2192997080
+ 0.9104142913 0.0238048802 0.1408221177 0.9320576741
+ 0.3618323875 -0.1274900834 0.1010477878 0.4205553927
+ 0.4079247248 -0.5049702897 -0.5192611405 0.8429172507
+ 0.2847401954 -0.2680341847 -0.5872945419 0.7192454150
+ 0.4122793343 -0.1025859892 -0.2681640380 0.5214306002
+ 1.7054415698 1.1610871587 -2.6504987142 3.3617372826
+ 1.0195428916 0.1597484930 -1.6698231541 1.9629815727
+ 0.2160412146 0.3452320502 -0.7864079033 0.8856050842
+ -0.6170883184 -0.4635434489 0.1694690513 0.8024151457
+ -0.4345944643 -1.0381926661 0.8378748720 1.4100462568
+ -0.5201395369 -0.6995514300 1.9721001656 2.1606888228
+ -1.1249203987 -0.5755568360 3.4596674061 3.8011579710
+ 0.0254540578 -0.1459074282 0.4160064412 0.4631177288
+ -0.4421232617 -0.0009951464 1.5554898109 1.6171031262
+ -0.4311637412 0.1331539705 1.5378390855 1.6026793829
+ -0.5582919081 -0.5593974102 6.3818377849 6.4321029698
+ -1.3692030539 -1.4277225303 12.9404202530 13.0914882552
+ 0.0354390919 0.1072861242 -1.2092523507 1.2145194479
+ 0.8211616991 1.0420746050 -14.7466176937 14.8061797713
+ -0.0229718099 -0.0577325660 -1.5095256916 1.7791347199
+ 0.0076450622 -0.0509855876 -0.0956002794 0.1086157932
+ 0.0144557191 0.0496547128 -0.4912427805 0.4939575161
+ 0.0769057598 -0.1089175010 -0.7317342874 0.7437826196
+ 0.2533337651 -0.1129213032 -0.9530258606 0.9925661228
+ 0.0544404171 -0.0233143401 0.1208432214 0.1345748922
+ 0.0134676796 0.0750847673 0.0212063365 0.0791758131
+ 0.0254626006 0.0447438788 0.2380765366 0.2435791370
+ -0.0020388480 -0.0593287471 0.0580583716 0.0830351230
+ -0.0799551769 -0.3392787610 0.1874031077 0.3957560268
+ 0.0359746064 -0.1918323242 0.1796874748 0.2652949331
+ -0.0751555753 -0.1661976954 -0.0923301545 0.2044379903
+ -0.3076809189 -0.3104393804 -0.0734372590 0.4432078382
+ 0.0992317049 0.0033412843 -0.0683306073 0.1205286992
+ 0.1112920881 0.0334379856 0.0632244292 0.1322926915
+ -0.6598644839 1.0756566830 -0.9885730513 1.6091037566
+ 0.1589111312 0.6237573252 -0.8424217789 1.0693363301
+ 0.0706739977 2.0943592421 -1.5406794184 2.6009668431
+ 0.1343183045 1.7010624642 -1.1391686293 2.0516725080
+ -0.1412573848 0.1287210148 -0.0655062723 0.2020243058
+ -0.0476311575 0.1647679665 0.0290561475 0.1739582411
+ 0.0584086037 -0.0909419891 -3.1501545563 3.1520082073
+ -0.0532192823 -0.0465851576 -4.5981741543 4.5987180846
+ -0.0630487575 -0.0055035565 -4.2224814065 4.2229556785
+ -0.8895696410 0.0855032902 -35.0520089479 35.0633993823
+ -0.2382090951 0.0748696840 -109.3443095532 109.3457271965
+ -0.1161746457 0.0945994545 -102.5704703383 102.5717870882
+ 0.5010260448 0.4005877489 -38.0176084063 38.0230199560
+ 0.5770454025 0.6192013492 -44.9122338281 44.9202085830
+ 0.1605397225 0.2859756861 -1.0018379692 1.0541510386
+ -0.0184199360 0.0287071185 -0.2220666769 0.2246708741
+ 0.0406953476 0.1303697893 -0.7371990518 0.7626235114
+ -0.4489930311 0.4411195064 -1.3949005400 1.5366874967
+ 0.0262072285 0.6433164664 -0.9603582013 1.1562139809
+ 0.1455247685 0.7433744536 -0.9759314759 1.2354049062
+ 0.4629786040 5.6006070388 4.6752609331 7.3102129369
+ 0.2247664242 3.2275055265 2.5711352591 4.1325595446
+ 0.3781579762 4.6084230685 3.8798994582 6.0360737602
+ 0.7845136120 8.5002402571 6.9531282593 11.0097928512
+ 0.0474135902 0.6623984060 0.5619058640 0.8699183277
+ -0.0198729159 0.7468729989 0.8024392822 1.0964137042
+ 0.3199597311 8.8544057083 6.8195985808 11.1807781250
+ -0.0123447448 0.7226530223 0.5598925522 0.9142534951
+ -1.9718795816 8.7238829640 12.0925017812 15.0699499991
+ -0.2529183661 1.4180317589 1.7920652712 2.3034234283
+ -0.1472803184 0.3332573316 0.3834195321 0.5289257782
+ -1.0467984741 1.8575265657 2.6269420799 3.3833440084
+ -1.4742266912 3.9722529441 5.3877133943 6.9180881752
+ -0.5089219125 1.1553313062 1.5729669090 2.0217558264
+ -0.1111775925 0.3211509579 0.4974732852 0.6024766090
+ -0.8072523706 1.4734435545 2.2808887715 2.8328688438
+ -0.7676699289 1.5543504189 2.3396812313 2.9119461891
+ -0.4504999647 1.1682644581 1.7176788752 2.1256088024
+ -6.5353021005 12.9151488905 17.6562002492 22.8309581851
+ -5.4021897443 10.4602917591 14.2457245829 18.4808556786
+ -11.6556976313 22.0282179482 30.3153917316 39.2443709223
+ -5.7864453232 11.1406831293 15.2723492488 19.7697349918
+ -14.8606655122 26.3994837282 35.6221057818 46.7623535010
+ -9.4665525339 16.4014457247 22.5667607514 29.4598324766
+ -13.7931590999 25.9219398479 32.4817171921 43.7867518202
+ 0.1172058315 -0.0567431998 -8.1238691458 8.1249127315
+ 0.1657231964 -0.0340514612 -4.5132255989 4.5163955746
+ 0.0234279202 -0.0105077096 -0.7655879593 0.7660184089
+ 0.0499442567 0.2805443897 -7.9629403482 7.9680373100
+ 0.0879967640 0.0586461155 -2.7058318339 2.7078974705
+ 0.0699581409 0.2638478430 -4.8787328493 4.8863630688
+ -0.1048754289 0.2038069630 -17.5237159608 17.5252148977
+ -0.0396054939 -0.0158671713 -2.6026411304 2.6029908213
+ -0.0075306435 -0.0255828969 -6.2501377992 6.2501946933
+ 0.0886033357 0.1469464464 -32.4021722301 32.4026265762
+ -0.1628152842 0.2211692582 0.2246944781 0.3548411843
+ -0.0089294599 0.1954489917 0.1485242529 0.2456409927
+ -0.5831721943 1.5838178117 2.0182396072 2.6309427552
+ -0.0399358829 0.2626066534 0.3195650025 0.4155465317
+ -0.1964929398 1.2118181842 1.7614184965 2.1470230336
+ -0.1419743345 0.4825343617 0.8301811164 0.9706682275
+ -0.3004886429 -1.9729090834 15.1366618324 15.2676519185
+ -0.0250505108 -0.0513920958 0.5644092045 0.5672974755
+ -0.1701215058 -2.7629387610 21.7512184458 21.9323038286
+ -0.0032216871 -0.0026215344 0.0604870096 0.0606294487
+ -0.7453894232 -4.2359138278 30.5538878216 30.8551232757
+ -0.0351529024 0.0380378966 0.7141012083 0.7159770554
+ 0.0672512346 -0.0551717432 0.9330583554 0.9371043402
+ -0.0729467938 0.1454456159 3.4602119491 3.4640355649
+ -0.0523455118 0.0264703330 3.9982603897 3.9986906451
+ -0.0415843432 -0.0201491334 0.1127599826 0.1218608175
+ 0.0826389647 -0.0927811873 0.6775107103 0.6888093421
+ 0.1965224851 0.1047061906 20.5961173190 20.5973210173
+ 0.2204333493 0.2181332492 18.8249603305 18.8275145578
+ 1.4663259248 -0.1738972943 71.9337748533 71.9506496987
+ 0.7540600734 0.2454373402 113.4196670871 113.4225251351
+ 1.6562964885 0.6567185529 182.3570153354 182.3657728828
+ 0.0848186861 -0.0250497453 60.6940481451 60.6941125806
+ 0.2597280241 0.0417488664 85.3993958566 85.3998010202
+ -0.0747065285 0.0094453141 42.8370846113 42.8371507954
+ 0.0388968240 -0.0631508116 46.1522422976 46.1523018936
+ -0.0600027658 -0.0525485157 53.2207440251 53.2208037919
+ -0.0756461922 -0.3138538559 121.0926298976 121.0930602558
+ -0.1309148623 -0.0659114758 52.7965593891 52.7967628397
+ -0.2025224943 -0.2924486439 177.1563278554 177.1566850017
+ 81.0870296479 -204.0589135528 160.6144245504 272.0517229335
+ 8.7167845485 -21.9431265518 17.2159332509 29.2210796076
+ 5.5336149152 -13.6205237373 10.6200128165 18.1362684456
+ 4.2856124466 -10.6090113394 8.4099023274 14.2001427034
+ 33.6224973481 -84.4948915206 65.6141800284 112.1397668859
+ 15.4374183194 -39.5400000472 30.9348833233 52.5232566995
+ 2.4351031704 -6.0923137782 4.7732546096 8.1135672913
+ 4.6096317174 -12.2747318567 9.2744992936 16.0609328389
+ 2.9531501328 -6.9924401127 5.4073091243 9.3206108269
+ 0.0630876913 -0.2434722058 0.1649979988 0.3008041081
+ 1.6823559203 -4.2255027172 2.9011656920 5.3946229737
+ 0.1246785033 -0.3354020070 0.2555648657 0.4397188148
+ 0.0811969042 -0.7735459322 0.6053375516 0.9855961636
+ 3.0093123437 -8.4409290490 6.3023585248 10.9668884555
+ 1.7321055429 -6.5915082157 3.6565462740 7.7342420975
+ 0.6448692596 -2.2150656283 1.2945510744 2.6454176578
+ 0.2620756429 -1.8321766455 0.9573306099 2.0837554558
+ 0.0654084919 -0.2358385182 0.0855120516 0.2592496643
+ 1.6394793905 -7.2215927987 4.8092417737 8.8439684016
+ 0.0525955784 -0.3171937732 0.2187114548 0.3888610099
+ -0.0590806249 -0.0975977446 0.0952141892 0.1485987275
+ 0.0778677517 -0.3373864798 0.5208784993 0.6254657741
+ 0.2499264930 -0.3955608893 0.6926682042 0.8358952747
+ 1.0903821684 -6.6233111751 11.1437207767 13.0092158467
+ 0.3475230461 -1.7429127905 3.0195273554 3.5037212664
+ 0.1008639544 -0.4532543459 0.8309165784 0.9518589179
+ 0.3210295009 -1.0516395764 1.6068654548 1.9470547832
+ 0.2235256213 -0.8281362685 1.0537164870 1.3587096149
+ 0.2597745514 -0.5492936969 0.8030851804 1.0070512350
+ -0.0396018895 -0.0860489447 0.1839822598 0.2069352615
+ 0.0598962043 -0.2892528740 0.3084675099 0.4270913076
+ 0.0538326336 -0.2932423401 0.0440880641 0.3013847705
+ 0.1406903029 -0.1970097399 -0.0250436608 0.2433799168
+ -0.0182684113 -0.0668295098 0.1128036096 0.1323804086
+ 0.0023649034 0.0626070260 0.0530828247 0.0821158861
+ -1.7802539002 -0.2160634134 -0.5518785582 1.8814986250
+ -0.9251057108 -0.2505161662 -0.5834491038 1.1306951700
+ -0.1047730793 0.0471520629 -0.3000378088 0.3212839895
+ -0.1820465494 0.2592578391 -0.4912669841 0.5845501030
+ -0.1348551468 -0.2015783413 -0.3569867594 0.4315776693
+ -0.2059457904 -0.1714489945 -0.3028591990 0.4043913709
+ -0.2567054138 -0.2138616478 -0.3788570120 0.5051409403
+ -1.7698443233 -0.4119062917 -3.2911938839 3.8748320604
+ -0.1475399271 -0.0633847255 -0.4991410772 0.5425930827
+ 0.2807833874 -0.0187214693 -9.2074944746 9.2252273540
+ 0.0204962192 -0.0153081868 -0.3536977371 0.3546216644
+ 0.0357066468 -0.0785632838 -0.1051867529 0.1360566323
+ 0.0394236213 -0.1770416803 -4.4375567347 4.4412619549
+ 0.1032427719 -0.0384333496 -2.7417130667 2.7439254240
+ -0.0379187752 -0.2143786281 -2.6799771667 2.6888052447
+ 0.0056001514 -0.5962818585 -10.1654179809 10.1828928180
+ 0.0026453360 -0.2052871186 -3.4511553081 3.4572565365
+ 0.1450258447 -0.3570073392 -8.7775824964 8.7860367184
+ 0.0751373800 -0.0189135409 -6.3903695346 6.3908392357
+ -0.0495573563 -0.0083783826 -10.1037554706 10.1038804793
+ 0.3480211330 0.1434118237 1.6290002884 1.6719233236
+ -0.0064021534 0.0279422978 0.1079388119 0.1116805564
+ 0.0714146990 -0.0913908699 0.0473245430 0.1252675645
+ 0.0100685952 0.0463150095 0.0294351281 0.0557932207
+ 0.5351940537 -0.1561842159 -0.2752151576 0.7963950001
+ 0.1803211042 -0.2164692350 0.2539035840 0.3792646310
+ 0.0770723338 0.0053675855 0.0787534194 0.1103225121
+ 0.3756660349 -0.2373998770 0.1952425134 0.4853898540
+ -0.0033216056 -0.0248673414 -0.0062355230 0.0258514889
+ 1.1862234527 -0.5047009298 0.7095920533 1.4715196194
+ 0.5429164801 -0.1577976558 0.2458648196 0.6165289240
+ 0.5149720413 -0.0634860710 0.0842437607 0.5256650033
+ 0.2253541536 -0.0790277773 -0.0371792299 0.2416861172
+ 0.5227695073 -0.0199535391 -0.4359806416 0.6810030994
+ 0.2240355171 -0.0945027398 -0.1661656176 0.2945058458
+ -1.4864577442 -0.5737630528 11.1251862015 11.2387067176
+ -0.9754190013 -0.3617553594 6.5390179800 6.6212585896
+ -0.1150458048 -0.0851783401 0.3954047293 0.4205184738
+ -0.2066062133 0.0337508251 0.5483306175 0.5869341630
+ -0.7347979167 -0.3178502988 3.3021093965 3.3977762223
+ -0.1769217231 -0.0412801465 0.5460400280 0.5754694247
+ -1.2067275135 -0.4658534178 4.9310538289 5.0978919724
+ -0.0818744782 0.1209500962 0.4573907706 0.4801444293
+ -0.2430164640 -0.0618507379 1.3577956269 1.3807575746
+ -0.0772109431 0.0294311668 0.2157761650 0.2310564362
+ 0.0458311771 0.0082501723 -0.0194214688 0.0504554812
+ -0.0249685139 -0.1199035302 -0.1559487951 0.1982934944
+ 0.2925598286 0.3576616684 -1.0601221626 1.1648398632
+ -0.0099873644 0.4966146478 -0.6403284717 0.8223297346
+ -10.0308866631 18.0888204222 26.0171758618 33.2410172343
+ -14.5241616616 26.4618227587 34.7931395553 46.0650580291
+ 0.4360993635 0.4494445622 -45.5980829460 45.6025967594
+ 0.1578069659 -0.0319346541 -26.5471785442 26.5480336617
+ -4.9998185405 14.2977049834 18.5095709967 23.9174884028
+ -7.0919268261 21.9195855103 27.8545144907 36.1477124082
+ -18.9609748428 55.3728854856 68.0785909950 89.7796694449
+ -0.3735001615 1.0336266452 1.2431302657 1.6592948110
+ -5.8172476310 17.6807532296 21.2645170133 28.2600263371
+ 0.1617340941 1.2900930176 1.9657695343 2.3609802113
+ 0.1142609199 0.1390970302 0.4186803366 0.4766304132
+ 0.1576995274 -0.3497359763 0.2109638469 0.4595322879
+ 1.3480092177 -2.8209804800 2.3626942381 3.9213344115
+ 5.6187041435 -20.0193468595 12.2429565535 24.1299305819
+ 7.4697400091 -26.8246458986 15.8509843536 32.0410959262
+ -0.0581175486 -0.1373407129 -0.6328520042 0.6501859581
+ 0.0204524276 -0.5292450851 -2.7641253346 2.8144106892
+ 0.0475875974 -0.1938374060 -0.7820518371 0.8071199386
+ 0.2706147981 -0.3119981320 -1.5730218893 1.6263373166
+ -0.0085696514 -0.0168347102 0.4366049838 0.4370134531
+ 0.0909994984 0.1501046034 1.2678491907 1.2799429171
+ -0.1547132944 -0.1085284534 2.6425259067 2.6492749567
+ -0.0256713084 -0.0894591790 0.6111965000 0.6182419610
+ -13.7592294308 25.3888755307 33.3873653903 44.1434824491
+ -2.2868391978 4.0469469591 5.5039693064 7.2055930440
+ -20.3738217688 61.2787096553 77.0032228179 100.4983426244
+ -0.5748058709 1.6521070852 2.1058490666 2.7376011217
+ -4.5106663429 13.7261944263 17.8613382805 22.9735049450
+ -2.9244709890 8.9954425135 11.2935926710 14.7314545107
+ -2.2980941918 6.7081547579 8.4118086273 11.0017771997
+ -9.3012250708 27.9902376471 33.7872603687 44.8502525587
+ -8.2384336573 24.9676754758 30.2924719093 40.1109768289
+ 0.1785463422 -0.6166766417 0.4769136998 0.7997596850
+ 1.2061457664 -3.7419954079 2.5401741455 4.6807907379
+ 0.5773035562 -2.0965275581 1.2420881254 2.5042943336
+ 0.1733448300 -0.9089649150 0.4747141411 1.0400092127
+ 0.0605583518 -0.0932414895 0.0795693255 0.1367207625
+ -0.0497692157 -0.1515314654 0.2377574891 0.2862994646
+ -0.1245684660 0.0529431309 0.3044833611 0.3332122372
+ -0.1751004960 -0.0185797832 0.1680379696 0.2433971061
+#END
+ -0.1719475451 0.0625967438 -8.6476895872 8.6507513715
+ -0.2245484432 0.7123582195 -12.1453386787 12.1690840922
+ 0.5562665200 -0.1691011525 -7.9327942396 8.0093722522
+ -0.1196687526 0.1996129016 -8.8433349851 8.8474979154
+ 0.0359667906 0.1742201369 -1.9195076291 1.9327792397
+ 1.2046716238 -0.9776020582 48.5978846844 48.6228425237
+ -0.2140449648 -0.0040115717 0.6204537186 0.8212399872
+ -1.3093862453 0.6167854027 3.6287665522 4.0178618512
+ -1.1967090977 0.9839986906 2.5560721537 3.1331553947
+ -0.3143347229 0.2902513074 2.0934921812 2.1930350231
+ -15.8561524356 10.7116075464 36.2683595696 41.0069444356
+ -16.9058763976 14.7373261393 49.2191351252 54.0962428711
+ 0.1810659083 0.0020871495 0.2289939349 0.3235849602
+ -0.3699129456 -0.0393911976 0.0757200196 0.4044756606
+ 0.3293087804 0.1523379103 -3.0367907524 3.0615729569
+ 0.5001480946 -0.5947948199 -0.3150772912 0.9730589158
+ 0.2798771305 -0.4184209123 0.7149194100 0.8854359467
+ 0.1132535661 -0.1023108533 -0.8975070283 0.9210279755
+ 0.0802672264 0.1207497272 -2.3468318933 2.3554454026
+ 0.5772552607 0.2642565481 -24.3313526629 24.3577118827
+ -0.2534183477 -0.3709234483 -17.1541326183 17.1857168234
+ 3.4726596343 -1.7922173972 -41.8421994772 42.0347643720
+ 0.5700549031 -0.2360892935 -19.3746010965 19.4071806345
+ 0.8530154954 -0.0712855433 -23.6005359476 23.6212119723
+ -0.0458140201 0.0743146073 -19.7623311077 19.7630167783
+ 0.4461197240 -0.0902396991 -1251.0449420135 1251.0450325961
+ 1.1039804547 -0.4920546230 0.3989521895 1.3651719327
+ 2.1027282509 -1.9964504876 0.9877468296 3.0663340051
+ -0.1198518295 0.0710856040 0.0225195220 0.1985057629
+ 0.7037052716 -0.9566537029 1.5164952964 1.9312237533
+ 0.1375366678 -0.7189185655 3.9763752267 4.0732003563
+ 0.4665020679 -0.1883981696 9.9209281731 9.9346571984
+ 0.1346068132 0.4446648426 2.9754752805 3.0147601473
+ -0.0016989669 -0.0232543404 11.8047436244 11.8055917037
+ 0.2029797018 -0.7248400888 1037.3883398790 1037.3886223546
+ 0.0338853878 -0.0239288441 -0.4187657149 0.4208153194
+ -0.1433936766 -0.0728808087 -1.8151622849 1.8276124491
+ -0.4575669435 -0.9474555950 -11.4030691004 11.4523580238
+ -0.1808894444 -0.3980485632 -2.0401307985 2.0911186264
+ 0.2443458305 0.1826937644 -1.1601788348 1.2077154508
+ 0.4165695836 -1.0251916425 -4.2542928199 4.3980717712
+ -0.1339869257 0.0757536078 -0.8184857688 0.8444464720
+ 0.0836054600 -0.3040254525 -14.4807888059 14.5146635364
+ 0.3868766942 -0.2323882707 -6.4717324130 6.4889504618
+ 4.1664824664 -1.2230650606 196.6782343464 196.7261633081
+ 4.9047065090 -1.5530976186 228.5906230807 228.6485102041
+ 0.1321838907 -0.1452080034 3.7901931819 3.7978417669
+ -0.3174358614 0.2097663010 1.9689391161 2.0102160219
+ 0.5977547966 -0.7823651588 6.4088867905 6.4855775160
+ 0.6436430656 0.3515707725 3.3784228971 3.4599276670
+ 0.6557363616 -0.0326654596 2.1586402769 2.3096376367
+ 0.3486593192 0.2489697582 2.6941944886 2.7316136236
+ 0.3138236065 0.1387750929 7.6790876698 7.6880173652
+ 0.3143116659 -0.1011279211 0.6011518616 0.6999157273
+ 0.4508448170 -0.0519175919 2.8335588656 2.8730631937
+ 0.3024693491 -1.0007127200 3.7104110790 3.8863485420
+ -0.2788733679 -0.6696476615 2.4284679191 2.5383330287
+ -0.6210393650 -1.7996201670 5.4527471936 5.7969345369
+ -2.3755438011 -6.2785570323 18.0835264130 19.3121144591
+ -0.1970091144 -0.7144089113 0.6778751836 1.0139956771
+ -0.0142996961 -0.1347357075 0.8905212952 0.9115185979
+ -0.9572869675 -0.9283177570 3.7807959100 4.0114922030
+ -0.3896553074 -0.9832809583 2.5486867229 2.7629615448
+ -0.4743479744 0.3742264531 1.4761654329 1.6011232336
+ -0.8458102279 0.0795075513 2.3089348390 2.5092902269
+ -0.2888197569 0.4109531560 0.5181512953 0.7350237398
+ -3.1866306199 2.2645610495 7.1159840760 8.1191182294
+ -3.8773093520 2.8410391759 8.4778915825 9.7457517460
+ -1.6565128474 1.1171349266 3.3476893144 3.8985957733
+ -7.2468062008 4.2766394346 16.1592733116 18.2188901672
+ -5.0565546840 3.5493215017 11.5611302821 13.1089908681
+ -104.5061805747 66.1045863993 233.9903599407 264.6561281103
+ -20.2668454366 13.1132990508 45.7793059471 51.7539174240
+ -17.4536706476 11.4088211560 38.7574890180 44.0108424596
+ -145.1004422800 93.1561386373 327.1426359240 369.8033642826
+ -222.3733275718 141.6814503784 500.5707166823 565.7690271447
+ -15.5831160065 9.9229350943 34.7188443547 39.3280599405
+ -198.1229294063 126.0526446045 445.4713357635 503.5739025756
+ -6.8275833045 4.6711582623 15.0544304850 17.1782120811
+ -2.0742738968 1.4822821636 5.2317817693 5.8199066224
+ -0.7502047654 0.5030222775 1.6870924247 1.9136664943
+ -17.3319064931 13.9581865349 47.3568927078 52.3333697707
+ -7.1310098798 6.0656086827 20.1121502872 22.1847014755
+ -4.6376964698 3.1753401379 12.6331752343 13.8277839809
+ -21.6661481431 18.0365028374 59.0755882866 65.4640580163
+ -20.7757140879 17.5182775913 57.7947563948 63.8720170572
+ -2.1165527011 1.7464575195 5.6674185194 6.2983348326
+ -2.2645379823 2.7544097720 7.3593900998 8.1926289472
+ -1.3616193691 1.1459901421 3.0466584816 3.5311341522
+ -0.1900332646 0.1554079022 0.1080314822 0.3023488776
+ -0.3882364757 0.0298882010 0.3136308950 0.5191001722
+ -0.0670002289 0.3156799409 1.4743401264 1.5156851418
+ 0.1481157220 0.3367238808 0.7594107373 0.9775821536
+ 0.7254012591 -0.1877982406 -4.1491476612 4.2455361156
+ 0.6834437560 0.3238894900 -3.7578431905 3.9466665680
+ -0.0986306917 0.3186491466 -1.4123807956 1.4579316132
+ 0.5503668936 -0.5729563765 -3.9789533422 4.1648582462
+ -0.2082542154 -0.1028238172 -6.4565528546 6.4622362310
+ 0.4432509084 0.2598456244 -5.0676259173 5.0955179657
+ -0.2129084116 0.2156849454 -3.2892536790 3.3031863030
+ -0.5717573966 -0.2479589604 -11.7326842944 11.7492242688
+ -0.3542835971 -0.2139192451 -5.9641560019 5.9784977315
+ 0.1183394621 0.1222392185 -1.3960078041 1.4063372440
+ -0.2635758967 0.0303797119 -0.3615681024 0.6699269376
+ 0.1191569230 0.4468493064 -4.4562364046 4.5077257012
+ 0.2142419417 -0.2932333202 0.2438151668 0.4591416014
+ 1.1523686128 0.1461541836 -0.2882729551 1.2946260934
+ 0.1191465040 -0.0648484562 0.7566592347 0.9135509669
+ -0.1098001099 -0.3440836653 0.1888024129 0.4307850611
+ 0.5814071579 -0.3443737768 -0.4073394785 0.9306954347
+ -0.1470851745 -0.0768610376 -0.5233542068 0.5664989659
+ -0.1390689743 0.2397665843 -0.8743876075 1.0416442976
+ -0.0357043783 0.7848074797 -1.1854661329 1.4289882155
+ -0.2588790676 1.5910045895 -11.4190287357 11.5330833270
+ 0.4001408017 -0.0758435125 -0.2514652735 0.4985774446
+ -0.3383187908 0.5959303311 -4.0536916022 4.1407305068
+ -0.0747310001 -0.1493300032 -0.6300025256 0.6665336746
+ -0.2489880599 0.3889861939 -9.9421377069 9.9971095463
+ -0.0360818854 -0.0945632836 -4.5354731638 4.6328773696
+ -0.1613157834 0.0268338942 -0.6798148817 0.7130013311
+ 1.0205401273 -0.2883832395 -39.7572036150 39.7715901884
+ 0.7944198926 -1.0826394003 -21.0220973758 21.0707244791
+ 0.1993169944 -0.2976447561 -2.4432827026 2.4733438529
+ 0.2935178691 0.0645862879 -2.0196570270 2.0466603088
+ 0.0612331994 0.2514422184 -11.9070003670 11.9106301352
+ 0.3537992173 -0.2853938035 -15.8363941041 15.8435312199
+ 0.2531122769 0.2683490510 -81.1371470163 81.1381056149
+ 0.1157135917 0.4790847707 -67.1834631420 67.1870841201
+ -0.2413550625 -0.0517761197 -39.9475063025 39.9485127709
+ -0.0650414338 -0.0238442743 -94.3039550397 94.3052722599
+ -0.2033897023 0.0231338668 -40.1769867607 40.1777506525
+ -0.3654483064 -0.1384329741 -35.4536158977 35.4560442825
+ 0.4148442353 0.0345297872 -143.6818659057 143.6825367188
+ -0.0751774986 0.3352801751 -413.9587770008 413.9589431336
+ -0.0274342101 0.0708651536 -41.1838078744 41.1841144778
+ -0.2714071778 0.2069841415 -363.6761092711 363.6762962287
+ 7.2481608766 -4.4961409678 2.9033417056 9.0100229054
+ 42.0814421039 -26.1736417071 17.0327452901 52.4026829624
+ 20.1076408860 -12.3453550148 7.9427176416 24.8964104995
+ 26.8284524861 -16.5560955472 9.9756532366 33.0663548046
+ 1.4433830306 -0.9111298378 0.5676281402 1.7988090115
+ 3.6903561606 -2.1731875816 1.3537823130 4.5186104466
+ 5.1092906023 -3.1864780281 2.0491272928 6.3621454816
+ 4.2184659436 -2.4778734131 1.4692510870 5.1082296664
+ 15.3009231032 -9.0996117135 5.5959720692 18.6610847634
+ 4.7280348937 -3.5072766237 2.3151346725 6.3449817008
+ 7.5428136169 -5.0539675787 3.1330643254 9.6058418370
+ 0.2938549044 0.0634616045 5.7237090507 5.7531642429
+ -0.0407713622 -0.4047704642 1.6956599952 1.7493553203
+ -0.0766868193 -0.2418028044 1.0760927290 1.2107708231
+ -0.4083569199 0.0767501691 1.5865539936 1.6459888584
+ 1.0255184466 1.0155082948 7.9631347034 8.0928647268
+ 0.1236540538 -0.0419112040 0.3552762077 0.3785076720
+ 0.3399218264 -0.1244279764 3.7982043089 3.8179660719
+ 0.4553753993 0.1893456565 2.9854139447 3.0258742461
+ 0.5834671212 0.2753353570 3.0777857902 3.1446794448
+ 3.4868069609 -0.3046321812 23.5254627350 23.7848165902
+ 0.8397578576 -0.0092631063 7.8107632348 7.8570211377
+ 0.6725051215 0.2089907152 3.4741579675 3.5475616451
+ 3.0317301057 -0.9445494449 22.0662788225 22.2940283921
+ 0.2835814942 0.3988237969 63.8011490755 63.8031784633
+ 0.1503878783 -0.0766065893 276.4767695609 276.4768563039
+ 0.3190522387 -0.1220017490 811.6239264546 811.6245421771
+ -0.1053779898 0.1170538255 420.9807512172 420.9808038157
+ -0.0364320712 -1.5674719832 -14.3710178224 14.4562944411
+ -0.0025863515 0.0169889678 -0.7354915405 0.7356922729
+ -0.1615099634 -0.2151622423 -5.6056539408 5.6121062323
+ 0.4612010564 -0.1798683490 37.8318765140 37.8351151658
+ 0.2006688919 0.0119232640 15.4199205971 15.4212308649
+ -0.0652797095 0.2272589496 3.0279629878 3.0371809176
+ -0.0861638626 0.3605162907 7.4504245451 7.4596395429
+ 0.0096959472 0.0060039542 0.0547352126 0.0559106641
+ -0.2402891708 -0.3085019786 1.1726102823 1.2360935363
+ -0.1943034324 -0.1762645866 1.4098652534 1.4340652220
+ -0.0902876520 -0.0743477131 1.3412754483 1.3463652070
+ 0.1163551149 0.0677400293 0.8435747728 0.8655780765
+ -0.2495266939 -0.1331820223 0.8982648695 0.9520297174
+ 0.0173412348 -0.0914472164 0.4449685935 0.4545991212
+ 0.1000408606 -0.0256397025 0.2035421200 0.2282432096
+ 0.0112654761 -0.0934565748 0.3025708584 0.3168756328
+ 0.0223149340 0.0443054144 0.2617293763 0.2663891748
+ -5.6589483746 -12.8006495959 33.4038349031 36.2295026686
+ -0.4665283403 -1.0106501759 2.5551642835 2.7905925483
+ -1.4392589619 -3.4490032849 9.0254860643 9.7686482543
+ -1.0504884987 -2.2409380137 6.0478606904 6.5346727690
+ -0.0756205238 -0.1049249373 0.2884916810 0.3161568536
+ -0.5411686254 -1.3777362789 4.0148989165 4.2790692966
+ -0.1764764059 -0.5719260207 1.4802033692 1.6723996945
+ -1.6730457961 -2.5320397628 6.5027562833 7.1933178927
+ -0.3457869103 -0.2146596800 1.8067108706 1.8519858357
+ -0.2612444024 -0.1654957083 0.9272769457 0.9774865734
+ -3.2889859977 2.1573765357 8.2535339627 9.1428947978
+ -2.2381076921 1.3467404109 5.5803670287 6.1614391137
+ -13.3814366820 8.7117627259 30.1276076394 34.0973664605
+ -1.2436515474 0.7970764969 2.8728774579 3.2303908434
+ -8.7308394982 5.6477529453 19.6498028206 22.2314961836
+ -15.6205538903 10.3194689705 35.3456013545 39.9975584103
+ -0.8676018383 0.5982220905 2.0257206418 2.2834506209
+ -12.6065672109 8.0814545701 28.6187215835 32.2996388507
+ -2.4766635183 1.5479184157 5.5697980197 6.2890828890
+ -25.1988567171 16.0182640454 56.1587597098 63.6032503494
+ -15.0680676327 9.7901011535 34.3978446151 38.8085616449
+ -6.1843929619 4.1028358697 14.0995979470 15.9335696172
+ -0.4845845830 0.2727601336 0.9203461087 1.0752940381
+ -0.9236691431 0.7371517939 2.0572770079 2.3725400187
+ -4.3520920707 3.4162389599 11.2565294946 12.5427608717
+ -0.9287805689 0.7893003603 2.3859592257 2.6792591943
+ -0.0722609317 0.0205521241 0.2029724356 0.2164297615
+ -0.1284407500 0.1236702624 0.1359588543 0.2242234825
+ -1.7725367902 0.6846821759 3.0086045199 3.5584234587
+ -0.1937321021 0.0717400511 0.4183064710 0.4665394582
+ -0.1739357924 0.2499250300 1.0233894318 1.0677275447
+ -0.3359379413 0.4690626310 1.3801638527 1.4959031762
+ -0.8762653886 0.9676091642 3.0446269125 3.3498562643
+ -0.3802031690 0.1287464787 1.5618910502 1.6126480578
+ -0.1631094342 -0.0081110058 0.4313504282 0.4612306016
+ -0.0660657175 0.0400362439 0.1975465751 0.2121137176
+ -0.0843860202 0.3194365690 0.5480612435 0.6399467546
+ -0.0969773689 0.1283323757 0.1158332125 0.1982199330
+ -0.2558729380 0.0675432125 0.2015873662 0.3326717784
+ -0.0515883702 -0.0299672792 0.0355467983 0.0694476251
+ -0.0611024576 0.0149323447 -0.1005874198 0.1186352151
+ 0.0344728916 0.0472574726 -0.2899182080 0.2957604036
+ 0.3129591755 0.0705287530 -0.7846511897 0.8476999705
+ 0.2489457290 -0.1339233316 -0.1513236265 0.3496970969
+ 0.0201879157 0.2122219532 -0.1587983241 0.3002372429
+ -0.0380941912 0.2865653896 0.7727920644 0.8250930037
+ 0.0054510707 -0.0067988230 0.0003116292 0.0087198210
+ 0.4012892398 0.2764771836 0.1564983246 0.5118245916
+ 0.2195054541 0.1262711284 -0.0145730182 0.2536521538
+ -0.1387415534 -0.0326161607 -0.6112691324 0.6276647073
+ 0.0182783966 0.0317485405 -0.2237328484 0.2267122782
+ -0.0244400757 0.0575588493 -0.1373470728 0.1509124144
+ -0.2411511508 0.0057749511 -0.4318503821 0.4946533939
+ -0.3319471439 0.4012434359 -3.6729649919 3.7123222945
+ 0.0439429453 0.5743805443 -3.7803988374 3.8265832210
+ -0.0363856893 0.0327083054 -1.1586918307 1.1597243251
+ -0.1919239332 -0.0455292230 -1.7587229745 1.7697497584
+ -0.0349210292 0.1217290654 -2.5644163091 2.5675413240
+ 0.0375779713 -0.0196417662 -0.7636233577 0.7647996701
+ -0.2104382911 0.0429955004 -7.7476195404 7.7505961983
+ -0.0362057777 -0.0408886544 -0.9514633619 0.9530295219
+ 0.0089985329 -0.0071379630 -0.1761117620 0.1764859111
+ 0.2150251714 -0.2047850672 -32.7922568149 32.7936012015
+ -0.1047767907 -0.0525253647 -7.4853742528 7.4862917919
+ -0.1728270977 0.0782087244 -9.1573980748 9.1593627131
+ -0.0466840750 0.0982212366 -5.8242977006 5.8253129117
+ -0.1641690330 0.2493662108 -32.8683692317 32.8697251422
+ 0.3823074215 0.0050715225 -1360.1166469822 1360.1167917712
+ -0.2545129694 0.3772347746 -1631.1625932399 1631.1629265707
+ -0.1446662127 0.0251977016 -242.8782391689 242.8783236619
+ 112.4595383456 -69.2010991510 45.3300906566 139.6093012931
+ 3.1610815925 -1.9327274463 1.3131503062 3.9309332153
+ 0.7113719775 -0.5037178743 0.3398408442 0.9355605735
+ 17.9285077003 -11.2321201766 7.2211944897 22.3548107100
+ 15.1424405945 -9.5702778858 6.0065412192 18.8934449846
+ 0.2275093341 0.2509093907 1.6452161969 1.6797179388
+ 0.2088583835 0.1256438826 0.8115759052 0.8473863696
+ 0.1680622233 -0.1271147848 2.0949718937 2.1055427601
+ 0.1326981814 0.0218030736 1.1543161051 1.1621229935
+ 0.2842909905 0.5106504221 7.9832152958 8.0045806686
+ 0.0938787571 0.0631860131 1.2139355920 1.2191986363
+ -0.1390958797 0.3321357838 13.7969400041 13.8016381389
+ 0.0276709099 0.0494926391 1.5270031792 1.5280555977
+ 0.0323458041 -0.0982435779 24.8773386912 24.8775537063
+ 0.4371198011 -0.6913351577 291.0134372941 291.0145867542
+ -0.2938802930 -0.2324529020 -4.2888071370 4.3051442063
+ -0.5980693791 -0.6798087861 -9.6911043439 9.7333103635
+ 0.6972072341 -0.0787326900 -4.5386307999 4.5925446434
+ -1.8981394759 1.6241919709 4.4586594799 5.1127348035
+ -0.3671963574 0.3755444432 1.3137292105 1.4217000447
+ 127.1878595274 -79.8415274259 52.6601266767 159.1367652508
+ 9.6295818040 -6.0604615535 3.7281150251 11.9739868626
+ 22.5140410523 -13.5680503324 8.9453644858 27.7671219232
+ -0.5073320734 -0.0177762585 1.4402830986 1.5334917727
+ -0.1737213180 -0.2959369190 0.8468821285 0.9243629594
+ -0.6111973920 -1.3437222539 -23.5059134062 23.5522210644
+ -0.0857723189 -0.6902213926 -15.2573068996 15.2731521399
+ -0.1361531611 -0.1721509145 -3.4308544451 3.4378679213
+ 0.0242028852 -0.0031505955 -0.6969617795 0.6973890076
+ 156.4716526414 -98.6943226334 63.0656076289 195.4513692604
+ 158.3931345403 -98.8803929429 63.1015851471 197.0978099978
+ 7.0125938271 -4.4299726824 2.7865339593 8.7501943783
+ 20.5272269436 -12.8032639706 8.3218416512 25.5840509451
+ -0.0983475134 0.1467337796 -4.7852793156 4.7885385207
+ -0.0799714139 -0.0064074357 -1.3078665645 1.3103249340
+ 23.8146261535 -15.0255628830 9.8723691825 29.8390286715
+ 15.9643038721 -10.0425256095 6.4985807059 19.9485054560
+ 119.0563011431 -74.7301235977 48.8578627756 148.8156072790
+ 18.4482787126 -11.8304013898 7.5743397730 23.1876692985
+ 0.0491320055 -0.1728343452 -1.8588730492 1.8675370619
+ -0.0688758517 -0.0665669693 -0.9443880189 0.9492332561
+ -0.0895134486 -0.0031074417 -5.0813063202 5.0820956538
+ -0.0343064061 -0.1225693409 -4.6145036781 4.6162586981
+#END
+ -5.9182574995 -9.6237886943 10.3521933909 15.3241792097
+ -7.1437021113 -11.2466967908 9.7329150674 16.5005995059
+ -47.0110732839 -71.5034160350 57.5081104603 103.1018029158
+ 380.8843766784 596.4367877591 307.6511255762 771.6598892894
+ 0.0614400748 0.0829061932 -0.0606341029 0.1838602703
+ 0.4383285492 -0.0828421414 -1.6216549757 1.6876727711
+ 0.5230132488 -0.1008540704 -0.9496524497 1.0977403891
+ -0.1929932961 0.3779145709 -2.7309486816 2.8074521361
+ -0.0692972990 0.6559195229 -1.3128606970 1.4758440062
+ 4.0321751056 0.4562361429 -41.6619601488 41.8620251768
+ -0.3656577210 0.0850024813 -7.7340360155 7.7443995161
+ -2.4114474374 0.1955745133 -30.4295073775 30.5399508507
+ -1.2438346308 -0.5312539887 -10.2481683825 10.3379780600
+ 0.3699146771 -0.1668792321 -11.2224738261 11.2306760308
+ 0.5324336918 -1.0684566650 -193.2992850927 193.3030216588
+ -0.1518515680 0.1152614714 -76.9977642499 77.0037167557
+ -1.1754799935 -0.0738030015 -86.5964848541 86.6059006658
+ -0.2810355240 0.3124350066 -93.1264081433 93.1274608805
+ 0.6006359266 0.0296845907 -1.2053185349 1.6415809620
+ 0.3130908025 -0.4865562230 -1.9786360710 2.2655143555
+ 0.0032810008 -0.2433516756 -1.1665178919 1.1997810550
+ -0.0733695203 -0.3610012897 -6.4879246415 6.5170938410
+ 0.3292388744 -0.5071905955 -12.5778631681 12.5931633117
+ 0.4134385539 0.3474936340 -16.0112433137 16.0209573840
+ -0.1151614490 -0.2926180312 -19.7098148968 19.7346406436
+ -0.1872956040 -0.8486666426 -61.0889210991 61.1023072098
+ -0.9891648226 -0.6851856796 -48.0939683268 48.1092215242
+ -0.1089657033 -0.3778786421 -76.9331190950 76.9342508852
+ -0.3850067827 -1.3584642954 -1743.1520182561 1743.1528433266
+ -0.1865988222 -1.2562492893 0.8047629791 1.5824872227
+ -0.9695263399 0.4839233421 2.8830417200 3.1192520969
+ -1.3786847815 1.2068579788 48.4802401292 48.5239502996
+ -0.5557843235 -0.1028937187 68.4187141132 68.4274997060
+ 0.1429115406 -0.3670642558 13.3762309632 13.3827573557
+ 0.7560035381 -0.0371414538 180.8059085555 180.8099273824
+ -0.3025904153 -0.9025779524 171.2519780091 171.2571940986
+ 0.0902003590 -0.8810052518 7.8575049475 7.9084872221
+ -0.8208043617 -2.2129750315 6.2765152936 6.7237834201
+ -1.4023122455 -3.3854334510 7.0681363692 7.9768309483
+ -0.7917093028 -0.0875575858 2.7502485310 3.0134911180
+ -1.9408297923 2.3402913602 6.4680339358 7.1483373391
+ 0.0981436121 -0.0062050775 6.6687372375 6.6709224849
+ 0.1222714989 -0.0651386749 2.0650160425 2.0743587942
+ 0.3235963926 0.4751828835 19.6196217987 19.6505181791
+ 0.6266769211 -0.4870593680 9.5538109371 9.5994216061
+ -0.3786622159 0.5595882997 25.8899286501 25.9157813201
+ 0.1428027916 0.4815292026 62.2334398523 62.2425389059
+ -0.4786042397 -0.0475121843 185.9742287088 185.9772240223
+ -1.1466637674 0.8415345041 -3.4549183987 3.8525668123
+ -0.4379120277 0.5014893836 -1.0237643513 1.2291589717
+ -2.6572760495 2.9386419384 2.6183443647 4.8407448033
+ -0.4333546316 0.1137924556 0.6914474390 0.8356580075
+ -0.3380045073 1.3586226498 -0.2646723840 1.4316542205
+ -1.6471306786 1.0125341362 0.1510762292 2.1544000253
+ -0.8247410953 0.8618791006 -0.4207077006 1.5756967388
+ -0.1642657145 -0.7830133116 -0.7520496513 1.4443068725
+ -0.1841749990 -1.4742986840 -0.2349263839 1.7728558990
+ 0.6489319395 -2.0902518977 -0.2256781714 2.3919755199
+ 0.1797929924 -1.8811156104 0.4746694309 2.1631052479
+ -0.0531493513 -0.3287436177 0.8008353128 0.8784726534
+ 0.0228379663 0.7375968695 13.9888129719 14.0089592356
+ -0.2156820942 0.8324330490 5.1296010677 5.2030520318
+ 0.0591537468 0.4705201915 6.8507691677 6.8848796333
+ -0.1394643274 0.9305796548 11.4691256559 11.5182426205
+ -0.0964194160 0.1182627408 6.1492163749 6.1708820897
+ -0.1908952344 0.0939966528 0.4805899240 0.5438040283
+ -0.9709130950 0.2876977959 4.6965227628 4.8064798040
+ 0.2427722298 -0.3742396492 -83.3229512925 83.3242622863
+ 0.0329041580 -0.1013789660 -4.1237118811 4.1274495565
+ -0.5122389166 0.6784895633 -57.0658829091 57.0723856938
+ -6.7086717126 -11.9805025465 9.5580906516 16.7373670355
+ -2.5914772364 -5.0508361398 4.7663820150 7.4289123330
+ -1.5034965935 -2.5572707670 2.9785268031 4.2060952776
+ -7.2477133034 -10.8117483230 12.4962882029 18.0443882845
+ -27.8228245268 -39.1909997465 46.3970406436 66.8038089187
+ -8.0314087604 -11.9841042321 13.9848729294 20.0922609921
+ -41.4193058320 -61.3465686521 71.5189032502 102.9267404667
+ -1.1291162405 -2.0358694362 1.3855703144 2.7091461648
+ -0.5279532931 -0.9154507886 0.7351076820 1.2873104249
+ -5.1214172703 -7.7667506225 5.7162508422 10.9199969581
+ -2.2917707084 -3.5693589562 2.2606680193 4.8086002138
+ -4.9362840469 -7.2288041694 5.1705674914 10.1674361507
+ -28.2332079155 -44.6602583310 31.4299688202 61.4847622914
+ -51.0961937552 -78.9276933466 55.0888944402 108.9734259519
+ -15.4806578148 -24.0898671577 17.2255385955 33.4172279782
+ -169.5462288302 -264.6294972019 184.8353626362 364.6089496040
+ -58.0270056918 -90.6906750329 63.2620872237 124.8761109547
+ 52.2998472396 81.4247314517 41.3121665027 105.2234550573
+ 7.4392565423 11.9163258605 6.2909985536 15.3927743601
+ 10.6224390493 16.4253969355 8.1120877666 21.1767637651
+ 48.1999347795 76.3755816902 38.6906891287 98.2519826584
+ 2.4163977391 3.3239400062 1.1018515597 4.2568899261
+ 0.7562883059 1.1342967054 0.1740578559 1.3814401687
+ 13.0830882148 15.9176739854 2.6440700745 20.7792763187
+ 1.8289136062 1.6001375309 0.2308627280 2.4450240246
+ 0.6256499943 0.7383181315 0.1346474196 0.9869960949
+ 0.3650260789 0.4974260298 0.1942146595 0.6468353944
+ 0.5904094735 0.7741607876 0.1336447012 0.9827355584
+ 1.0907284033 1.8026656844 -0.0650209396 2.1125812475
+ 1.1497001599 1.1756638893 0.5086280498 1.7268984673
+ 1.1655756452 0.7157891111 0.4016365733 1.4323799629
+ 0.9596994267 0.9123492991 0.0145911626 1.3315768547
+ 0.4778170106 0.1592919618 -0.0587965255 0.5259466142
+ 3.0417665686 -0.1812316210 0.2520080162 3.0607477164
+ 0.4750945349 0.2547670247 -0.1414375740 0.5745480191
+ 0.1585871795 0.1319758003 -0.4316113063 0.4983328305
+ 2.5690016249 -0.6863678427 -3.6074034671 4.4837160619
+ 2.5111201879 -1.0554874927 -4.7237718865 5.4546566405
+ 1.4682614500 -1.7997163559 -5.0980595109 5.6804729740
+ 0.5280647782 -0.2411690312 -1.0814454060 1.2353213600
+ 0.5168392692 -0.1305315161 -0.3361717508 0.6454862801
+ 2.4014460669 -2.0847474728 -5.9276101625 6.7919090150
+ 0.4394678842 -0.3949153663 -1.4358088202 1.5588832288
+ 0.4952503949 -0.6942319201 -1.9529015196 2.1355409251
+ -0.0093737185 -0.1847801068 -0.1382630680 0.2698666621
+ 0.1517897835 -0.1075204315 -0.7371844194 0.7729951065
+ 0.2717708052 -0.6016152657 -1.0795104400 1.2730368705
+ 0.1392418156 0.2468854992 -0.5728799323 0.6542262106
+ 0.1379294118 -0.3695958638 -0.9418302406 1.0306064293
+ -0.1457919321 0.1928222674 -0.1133033294 0.3012526242
+ -0.1033294639 0.1342006664 -0.1834226029 0.2496610666
+ -0.0381081504 0.3057488646 -0.2223363872 0.3799579824
+ 0.2245283355 0.3258820571 -2.1864706812 2.2263750612
+ 0.0622259778 -0.1410832190 -0.7848691238 0.8119580490
+ -0.0200590932 0.0067049270 -0.0053456520 0.0218151154
+ -0.0024933107 0.1023883058 -0.5860888462 0.5949703501
+ -0.3565628001 0.5634831338 -1.2985815515 1.4597822846
+ -0.3270529216 0.7984823730 -1.7399975033 1.9421969583
+ 1.1623214577 2.1688982906 -10.2587157740 10.5614409873
+ 1.9872788048 -0.3076106190 -18.1835651353 18.2944238054
+ 0.2192433314 -0.0185733567 -1.6420967438 1.6567722607
+ 0.0518794454 0.1132113249 -5.6300198135 5.6331262339
+ 3.4488582914 -0.8776119722 -56.2378682842 56.3525181017
+ 2.1739993244 -0.5844227757 -38.4418458008 38.5108682397
+ 2.0183908737 -0.6512394891 -59.5052639770 59.5450929677
+ 2.2577206970 -0.4839446569 -61.3123267453 61.3577750334
+ 0.3314968871 0.0790966977 -6.2751974661 6.2859947102
+ 0.4658786782 0.0353209905 -10.6447809459 10.6559434912
+ 0.9561244333 -0.3413178515 -32.9083982264 32.9243500379
+ 0.3630377940 -0.0570984619 -10.0966908458 10.1043407749
+ -0.5287587611 0.4573323128 -5.9425830932 6.0038881944
+ -0.4628141620 -0.1474294344 -4.4701047361 4.4985829461
+ -0.3827743743 -0.1320098998 -5.0213298355 5.0395610858
+ 0.1040905839 -0.1820604060 -4.4576907023 4.4648031338
+ -0.1930829472 0.1786617389 -2.0594700564 2.0762027730
+ -0.9275318842 0.8500497841 -12.4660461361 12.5293737393
+ -1.3075180852 -0.3594408740 -24.0133494787 24.0699003958
+ -0.0627342738 0.1701800843 -5.7851493774 5.7896744256
+ 0.3881234280 -1.0064841792 -133.0758008025 133.0834895891
+ -0.2049341119 0.2027437334 -30.3977995160 30.3991664101
+ -0.0545173399 0.1191528000 -35.7932732673 35.7937852218
+ 0.0936921925 0.3156126323 -45.4961117623 45.4975170183
+ -1.8348439727 0.6385126457 -188.1508508963 188.1609325115
+ -2.3604565750 0.3687654079 -252.8962837346 252.9076067455
+ -1.0443910058 0.0948239200 -103.8091225365 103.8145131749
+ -0.0454126321 0.0917964229 -5.1349357955 5.1378530827
+ -0.4777405069 0.1773124600 -58.4598061370 58.4620270712
+ -0.2493853909 0.0053208771 -23.8830785575 23.8843811469
+ -1.3001794955 0.4599129428 -95.6442474868 95.6542918208
+ -0.2334682325 0.4117942362 -47.8355952893 47.8381410422
+ 0.0011740136 -0.1071113333 -1.2253096471 1.2378762993
+ 0.0508270326 0.1031373843 -0.4368092988 0.4727608864
+ 0.0204116390 -0.0463975261 -0.2110772766 0.2580751190
+ -0.0839449241 0.5422880608 -2.0960542946 2.1711855015
+ 0.6737550138 0.1945218951 -2.0467127830 2.1680169711
+ -0.3106586628 -0.0770376929 -1.3712904314 1.4150480002
+ 0.0866168386 -0.1882555244 -4.8958830840 4.9022539282
+ 0.1710088549 0.2291926418 -4.6155686211 4.6265242652
+ 0.3691411986 -0.0003983299 -6.1092359074 6.1219693351
+ 0.5711385817 -0.0933488531 -23.9772465766 23.9846356334
+ 0.4919685644 -0.4347967255 -16.0593535931 16.0733754661
+ 0.0705656128 -0.0295071676 -2.9573532573 2.9583421822
+ -0.0454542757 0.0267471037 -4.1735040435 4.1738372632
+ 0.0581390908 0.1429389392 -6.5108233017 6.5141470313
+ 0.2815795652 -0.7284663782 -21.4740983390 21.4887489067
+ 0.2274573061 0.3408184928 -14.0281284784 14.0429326747
+ -0.2172519898 0.3383373695 -37.2876373548 37.3016402037
+ -0.5164225631 -1.5323694588 -126.7473083390 126.7611052783
+ 0.1608835993 -0.0916002332 -31.5683417601 31.5691931383
+ -0.0497710157 -0.0306294568 -20.1501181459 20.1506862513
+ 0.0416827499 0.0934121719 -55.1405592767 55.1406541549
+ 0.1469762609 0.0356313110 -151.9192853819 151.9193606574
+ -0.3377662294 -0.0511373688 -23.4924957588 23.4949794218
+ -14.2380085825 -21.9979823115 24.8628764762 36.1222122887
+ -15.5413203369 -23.3456396219 26.0567484883 38.2821779519
+ -26.4801903094 -40.8011451759 44.6791767868 66.0466711109
+ -4.5385170926 -6.8592385167 7.9308563032 11.4265153006
+ -0.8331622171 -2.0734990748 2.6223427066 3.5711385788
+ -0.6963505014 -1.2735920457 1.2392873927 1.9137015823
+ -1.0315448576 -1.6272715736 2.6055363389 3.3736134594
+ -0.2506550475 -0.0562359345 0.2342827909 0.3746446906
+ -0.4777507754 -0.0569521828 0.2944937141 0.5811158982
+ -0.5727101180 0.0038592738 1.8866115830 1.9765613634
+ -1.0355624566 -0.0520647892 2.0228606496 2.3269596001
+ -1.6563381462 -0.1026481655 3.7986894561 4.1746467209
+ -0.3717950584 -0.3195459433 1.3814396415 1.4724796920
+ -0.6303502639 -0.0051334496 2.4603685821 2.5436708026
+ 0.0207599799 -0.1685729789 0.2750654919 0.3521202007
+ -1.3276802620 0.7443388989 5.7695054882 5.9685382329
+ -0.0895510494 -0.0950783863 0.3863669470 0.4310666916
+ -0.1981002986 0.1906703510 1.4049429221 1.4383821851
+ -0.3250392312 -0.0204859604 1.4191270593 1.4626932596
+ -1.4400744237 0.1607977818 3.2382872347 3.5504442358
+ -2.1668441973 0.2966448410 42.1900960616 42.2496279106
+ -0.6100603786 -0.2113700742 6.4349090946 6.4687236619
+ -0.3596433739 0.1535813219 11.0790563366 11.0868345199
+ -1.6253078420 0.4662950648 37.0271493589 37.0776104531
+ -1.0040422071 0.4671437771 24.6246830145 24.6499658704
+ -0.4149124164 -0.1376833510 6.7316303340 6.7458102532
+ -0.3260318115 0.0088760350 4.5877778129 4.5993565623
+ -0.8687723719 0.1738535683 32.6933128644 32.7188093966
+ -0.4580071369 0.1334010400 13.1994090384 13.2087639514
+ -0.3671787164 0.3517166999 47.4038479827 47.4067801923
+ -0.0378915310 0.0437201943 61.2206070557 61.2207934878
+ 0.0952797619 0.0705125070 38.4640596428 38.4644955021
+ -0.4871282309 -0.5920277166 85.6611258830 85.6646704194
+ 0.1118604090 -0.5992064206 82.7403115742 82.7426746018
+ -0.0700276871 -0.6903965696 164.7438724379 164.7453930673
+ 0.0545290530 -0.0190521062 10.4616482526 10.4627386638
+ 0.1314761332 -0.1066163777 8.8658580710 8.8685721593
+ -0.0609615722 0.0926315531 0.9667826695 0.9830795659
+ -0.0754027265 -0.0925326114 0.2032462420 0.2357050916
+ 0.0737770364 0.0568559472 4.2758026850 4.2768170701
+ 0.0390868610 0.0156621307 0.2351630237 0.2389031869
+ 0.1712308552 -0.0619401666 3.6780182713 3.6825229115
+ 0.2576776565 0.1083559600 2.5105090563 2.5298763400
+ -0.3196777015 0.0167505997 1.7477102669 1.7767851846
+ -0.0009452140 -0.0051486914 -0.0000141251 0.0052347542
+ 0.2888343542 -0.1840807442 1.1032531065 1.2562322164
+ -0.1776594872 -0.4524482140 1.2803153823 1.3765752950
+ -0.0706745302 0.0863093584 1.3098315522 1.3219616767
+ -0.6125441455 -0.3358048464 2.2564706286 2.3662448537
+ -0.3574444976 0.4505957384 1.0526323499 1.1995157157
+ -0.1964331098 0.4355047272 0.9518259070 1.0649990100
+ -1.8385896440 1.6979979485 5.0105998083 5.6789145040
+ -0.6718109934 0.6469926298 6.6343789301 6.7651832973
+ -0.1161153508 0.6016554071 3.3241044033 3.3829900787
+ -0.3867693792 0.0548829686 3.6837912411 3.7070743702
+ -0.0280390409 0.4905233001 11.5993191184 11.6105591205
+ -1.8553597850 2.5970305146 24.4173209507 24.6429560244
+ -0.2187873278 0.3206860280 5.3796019590 5.3953965976
+ 0.1956685078 0.0724355843 0.2031350854 0.3229190713
+ -0.8815574505 -0.2288862035 2.5166471587 2.6800233467
+ -0.3495130762 0.4485158781 1.7286998983 1.8251599948
+ 0.2300397069 0.0008656621 0.5640374696 0.7840269404
+ 0.4187972750 -0.1199913557 1.9375744755 1.9908449754
+ -0.3566316141 -0.0040117673 1.4813360528 1.5300452570
+ -0.2326735131 -0.2131989362 0.4159617923 0.5404579055
+ -0.1357839478 0.0567803848 2.0836979362 2.0935467911
+ 0.1897973432 0.1499845747 0.5303152151 0.5828830342
+ 0.0344799019 -0.3773641082 1.2973586376 1.3515664868
+ 0.1088201017 0.1428244821 3.5388737501 3.5461736916
+ 0.2572319072 -0.1565639418 7.9885322629 7.9954241927
+ -0.0255958046 0.0104820562 5.2212278407 5.2231661823
+ 0.0251659019 -0.0080540425 0.2656727448 0.2669835155
+ 0.3318614814 -0.1785965818 13.3343165474 13.3396411709
+ 0.1770946610 0.2656283516 25.0836622477 25.0860820472
+ 0.2549609221 -0.5028276281 496.3112381891 496.3115780166
+ 0.5526300959 -0.4532325625 608.0974327811 608.0978688127
+ -0.3300540325 0.8205401107 -0.1997157652 0.9067017837
+ -0.2569452970 0.5251747881 -0.0298515930 0.5854234035
+ -0.6808616041 -0.1051452058 -1.2641803003 1.7191776101
+ -0.0348622037 0.1284806209 -0.0412801070 0.1972472441
+ 0.2112893073 -0.3988204236 -1.4587609924 1.5333506838
+ -0.3783787573 -0.2782208159 -1.2958897043 1.3854195094
+ 0.1512208074 0.3119102086 -0.7293329641 0.8194889067
+ -0.0877895879 -0.2843348039 -4.7291808418 4.7405890469
+ 0.5820544262 -0.6193942847 -4.7091472767 4.7872731794
+ -0.0883859462 -0.2127982652 -0.5087908859 0.5757109758
+ -0.0257066492 -0.0868683496 -5.5892901703 5.5917663877
+ -0.1180484940 -0.1508041618 -5.1167996274 5.1222842126
+ -0.0412574584 -0.4595770017 -19.5633013383 19.5692399504
+ -0.0599739281 -0.3496798668 -21.7308397719 21.7341839014
+ -0.2410044235 0.1897583849 16.9551880430 16.9585368689
+ -0.6817151643 -0.0872876536 158.1310910445 158.1326461848
+ -0.0641385375 -0.0023644328 12.2500235969 12.2509867868
+ 0.0878222706 -0.1463907201 8.8317582501 8.8345105448
+ 0.4986388533 -0.0668174107 37.3338772008 37.3372668003
+ 0.3879822980 0.0335585378 35.7157111444 35.7178341868
+ -0.2847494893 -0.0238669656 -3.7486951785 3.7918344380
+ -0.3627090649 0.3952371412 -6.2083948350 6.2330904434
+ -1.7130071769 2.1008217659 2.0221986644 3.5099750574
+ -0.1253194807 0.0609006478 0.0579590339 0.2055550915
+ -0.3985704463 0.5822519853 0.2266187657 0.7541297136
+ -2.0495899556 2.2185147331 1.2887026547 3.2867705920
+ -1.6740433932 -0.0497567350 0.1324868064 1.6858023472
+ -0.1069999168 -0.1621405987 0.0589639041 0.2463637206
+ -0.5595261685 -0.4365622749 0.0009181003 0.7232819512
+ -0.6723255454 -1.4027554704 -0.4119019003 1.6152050981
+ 0.2218004422 -1.0028812637 0.3591763867 1.4367757428
+ -0.1052859690 0.0829488788 0.0882315283 0.2126740211
+ 0.4210964583 -0.9188048148 -0.0835159392 1.0237085581
+ 0.1412104760 -0.2893188303 -0.0429292616 0.3535088266
+ 1.2152572925 -1.1856713783 0.7149122770 1.8422178124
+ 0.3361156698 -0.3924253189 0.1554965093 0.5395836717
+ 1.5483570683 -1.1083084198 1.2277894417 2.4527567883
+ 1.2975485232 -1.2010874890 1.1959373148 2.1391561823
+ 1.0524626199 -1.7052173611 3.6060853738 4.2307973399
+ 0.2133675747 -1.0308545918 0.5670971539 1.2038545918
+ 1.8453067507 -0.8493856267 5.5448130140 5.9794946352
+ 0.5352916226 0.2419203039 1.8006123207 1.8991437726
+ 0.5154171936 0.0449659082 6.8925874416 6.9295800317
+ 0.1879135135 -0.0455146037 0.5180738250 0.5703186309
+ 0.5625964786 0.3411934362 14.5892032183 14.6040329465
+ 0.4958453200 0.3770771032 11.5045547122 11.5214074162
+ 0.3481462757 1.1330352767 11.2975028337 11.3603708051
+ 0.4315867239 0.0768231271 3.0431413998 3.0777196521
+ -0.0420438527 0.0786100643 2.8803660065 2.8851231073
+ 0.1111947148 0.0972640985 4.7446654741 4.7490161945
+ 0.6107058360 1.6531511140 22.2635022049 22.3386901156
+ -0.2558716178 0.2657353250 3.7382023903 3.7589523066
+ -0.6279668583 0.5808117548 6.7480984757 6.8035283120
+ -1.2303283718 1.9893697929 22.5402510551 22.6617231800
+ -0.6997367805 0.3213158592 5.3005278412 5.3579800880
+ 0.0045978980 0.0510992099 0.3001052989 0.3044592917
+ -0.1645443741 0.2896470804 0.8330438704 0.8971802340
+ -0.8760434943 -0.1265354144 -66.3213103469 66.3290532912
+ -0.4911995252 0.3003530845 -29.8948561251 29.9007256012
+ -0.2883951161 -0.1475382172 -6.0782684166 6.0884945592
+ -0.4646556579 0.3049348756 -12.4621814083 12.4753491093
+ 0.0233077277 -0.0023875761 -1.8310433281 1.8311932230
+ 0.3203506469 -0.3094370762 -11.6635686630 11.6720696450
+ 0.2702017607 -0.0737433132 -45.8334991820 45.8345674587
+ 0.2391468614 -0.2190950227 -42.8643280909 42.8657823482
+ 0.3596892855 0.2287277647 -9.3302158060 9.3409902871
+ -0.1249910022 -0.2577320714 0.1676147186 0.3318783891
+ -1.3621390565 -3.0304261269 2.4838723805 4.1483162033
+ -1.4008156273 -1.9291118513 2.2918059847 3.3069822540
+ -0.5521565306 -0.7472490658 0.7802928971 1.2133074655
+ -1.6268120687 -2.3367537333 2.7906268765 3.9867949384
+ -2.1616188140 -2.9173964006 3.4085176063 4.9801395490
+ -3.6603018275 -5.0046197203 5.7765511556 8.4753791096
+ -6.1462635335 -8.8822375304 10.0421022668 14.7490337546
+ -0.5939232131 -0.8945141982 0.7456130474 1.3072257840
+ -0.0641787274 -0.1657874267 0.0784295760 0.1943079471
+ -23.5912913790 -36.6637675703 25.4461313203 50.4805554699
+ -5.0787347941 -7.8934893298 5.4059009984 10.8316428354
+ -2.5438515598 -4.0718238103 2.8853664281 5.6014524299
+ -8.0597379334 -12.4929428006 8.8200596136 17.2865973217
+ 6.7969347490 10.7268320421 5.5272652278 13.8496898356
+ 36.1237407940 56.4684458481 29.0567744933 73.0609756943
+ 5.5092017846 9.1975941729 4.4974803549 11.6264514111
+ 1.1801293973 2.0021945752 0.9094838103 2.4957262094
+ 0.2229487314 0.4196185349 0.1837057926 0.5094444718
+ 0.1083208825 0.4490879026 0.1102012160 0.4749291166
+ 10.5158272505 12.4305282199 2.9595029661 16.5561767272
+ 23.2309473756 28.8582966786 5.6195339013 37.4740582251
+ 4.2618404114 5.0311359209 0.7716221464 6.6386002353
+ 0.2284549368 0.2754918168 0.0735082989 0.3653640230
+ 0.0841032254 0.0074673176 0.0198814297 0.0867432107
+ 1.0356862411 0.8710190734 0.1435575703 1.3679944361
+ 1.4134378132 1.5959072276 0.3603306711 2.1665743256
+ 0.0546548512 -0.0156761351 0.0039781026 0.0569975374
+ 1.9584080505 0.2044459595 0.4012534797 2.0095184989
+ 0.0407661892 -0.0373221566 0.0939798767 0.1090277156
+ 0.0876559055 -0.0697365887 -0.0285491648 0.1155932714
+ 0.2203151291 0.4407982752 -0.8126366215 0.9503789529
+ -0.0069387508 -0.0020081036 -0.0002117524 0.0072265885
+ 1.5387362947 -0.4368315935 -2.0599419844 2.6080437505
+ 0.3161392424 -0.0502501589 -0.3400310619 0.4670013085
+ 0.3328331149 -0.2082254538 -0.5407937384 0.6682765816
+ 1.5084349585 -0.8379727293 -2.8639031470 3.3435782561
+ -0.0191108419 -0.0101248881 0.0181062928 0.0282059475
+ 0.0668395283 -0.0514208626 -0.1682106248 0.1881659957
+ 0.4836047001 -0.3377343629 -1.3139295557 1.4402600054
+ 1.2438186699 -0.6701313950 -2.8413223032 3.1732118430
+ 0.1305707205 0.0784996505 -0.9824268402 0.9941697061
+ 0.1828600075 0.0327893789 -0.5830479323 0.6119295851
+ 0.0891482105 -0.0322635037 -0.1115234117 0.1463755733
+ 0.0116238039 0.0621260062 -0.0112577464 0.0641988343
+ -0.0165813403 -0.0780272576 -0.0014440094 0.0797826982
+ -0.1060412566 -0.2621101718 -0.2795686650 0.3976243563
+ -0.2331147925 0.3258468416 -0.7732782446 0.8709063752
+ -0.1422856784 0.3560550276 -0.9698046427 1.0428525504
+ 0.0081929965 0.3525703898 -0.9717236504 1.0337407111
+ 0.1204289725 0.4057934645 -0.9116503021 1.0051257367
+ 0.2625240021 1.4653144641 -16.2556218357 16.3312272051
+ 0.2620610128 0.2441260628 -3.4172958864 3.4360129051
+ 0.5599377759 0.8276534656 -9.4706934059 9.5232648897
+ 0.1856555897 0.1214678924 -3.8256705672 3.8320983463
+ 0.1178305796 0.0136465158 -1.0334955561 1.0402804128
+ 0.0650003721 0.0459121553 -0.9761999624 0.9794382783
+ 1.1363110347 0.1910227356 -13.7008601261 13.7492276382
+ 0.2770605883 0.0343619196 -3.8172716750 3.8274673547
+ 0.2201847240 0.1424930581 -4.4733612503 4.4810430102
+ 0.6081919405 -0.3130464899 -10.9354391531 10.9568118088
+ 0.4075517120 -0.1251391644 -5.7130877637 5.7289728577
+ 0.2427049458 -0.0689061526 -3.5428664170 3.5518384250
+ 0.3494297171 -0.1851907221 -8.0440682672 8.0537836461
+ -0.0020478633 -0.0064911493 -0.0694528339 0.0697855637
+ 0.9931013795 -0.1795863460 -19.2156160019 19.2420996759
+ 0.1769792356 -0.0356765323 -4.0128304495 4.0168896775
+ 0.5309569806 -0.3478963910 -12.4579190310 12.4740808799
+ 0.5694778237 -0.0540035712 -10.0821706011 10.0983852871
+ -0.0974363972 -0.0251966733 -5.3095304138 5.3104841529
+ 0.6604233239 -0.0690227895 -25.9950759834 26.0039300545
+ 0.2084057371 -0.0123125231 -5.9831264486 5.9883943118
+ -0.0493113011 -0.0620794093 -1.1938174387 1.1964470463
+ -0.1393575288 -0.1789207770 -1.2882713875 1.3080811646
+ -0.0028531277 -0.0537742903 -10.1356650588 10.1358081078
+ 0.2246477007 -0.1161981986 -70.9345375770 70.9349884745
+ -0.4162790607 0.2853959269 -73.2674311571 73.2691695562
+ -0.0352312860 0.0032561515 -12.0159259158 12.0159780068
+ -0.5526139327 0.1840184054 -38.1493061234 38.1569977600
+ -0.2627684002 -0.8634253887 -16.7180867849 16.7498254263
+ -0.0254293322 -0.0449389453 -0.0872282873 0.1013653484
+ -0.1526456205 0.0815327028 -0.4068631407 0.4421378544
+ -0.0270411706 0.1490113019 -0.2903171727 0.3274441232
+ -0.2022984372 0.1812345234 -0.6137487001 0.6711617369
+ -0.1590175162 0.1705217497 -2.4744190144 2.4853799904
+ -0.1017656415 0.3497686066 -3.8867905627 3.9038231520
+ 0.1011661650 0.1516125452 -1.1933276222 1.2071668364
+ 0.1098960640 0.0699908759 -1.8226964210 1.8273472880
+ -0.2932076454 -0.0906703398 -1.1818779932 1.2210763386
+ -0.0659637287 -0.0468570386 -0.1345036000 0.1569650088
+ 0.1279707513 0.0269499484 -2.5229980596 2.5263851689
+ -0.0323821773 -0.0076798238 -0.9863145210 0.9868758379
+ 0.0555209794 0.0489592243 -0.9211249632 0.9240945746
+ -0.0094347707 0.1298820387 -4.4382252485 4.4401353262
+ -0.0356764957 -0.0129541383 -0.1982388010 0.2018396499
+ 0.1017247900 0.0065374515 -1.2694880197 1.2735739097
+ -0.0343863467 0.1850660888 -5.5250149419 5.5282205082
+ 0.0441844005 0.0334133675 -0.7436630693 0.7457234574
+ -0.0757712757 -0.1749396660 -1.7161050680 1.7266620333
+ -0.0580456938 -0.1068025824 -0.4584686721 0.4743096219
+ 0.4321018957 -0.0297682029 -17.0372630195 17.0427676564
+ 0.0732649710 0.0453600836 -2.4279331202 2.4294617777
+ -0.1050253506 -0.0127040321 -4.4911980090 4.4924437974
+ 0.0331068449 -0.0459211602 -1.8260932889 1.8269705843
+ -0.0896116698 -0.0604605539 -81.6885541146 81.6886256407
+ -0.0876323439 -0.2745013499 -321.8901361163 321.8902650895
+ 0.0845899406 -0.0171079768 -25.7093847847 25.7095296369
+ 0.0283740998 -0.0911962420 -80.1282783191 80.1283352394
+ -7.0122011287 -10.7350160681 11.8969713738 17.4914111072
+ -0.3750298955 -0.5819877570 0.6006439405 0.9165862289
+ -7.7074851322 -11.5764429326 13.0636112683 19.0808096632
+ -6.9062567080 -10.5294219618 11.9585302331 17.3658156705
+ -0.0161234609 -0.1309355460 0.1086167030 0.1708849653
+ -0.0521104065 -0.1175931104 0.1450746520 0.1938828224
+ -0.3674840979 -0.8353402941 1.0293364923 1.3756350691
+ -0.1331464578 0.0869850790 0.1052571057 0.1907182254
+ 0.0264514470 0.0042286617 -0.0065960483 0.0275874696
+ -0.6447306652 -0.2048251628 1.4490866895 1.5992133103
+ -0.1046188890 -0.0642652802 0.4026956119 0.4209974988
+ 0.0529196738 0.0646846727 0.0156174284 0.0850206023
+ -0.0380700877 0.0060188847 0.0989710963 0.1062112821
+ -0.2870837316 0.0370829579 1.5831669850 1.6094129107
+ -0.4765195486 -0.1106912482 2.5361675682 2.5829187688
+ -0.7121563132 -0.0060076237 8.2295794746 8.2753160944
+ -0.0346920156 0.0080185635 1.9792180224 1.9795382829
+ -0.4442049965 -0.0958965124 9.9313924956 9.9417841016
+ -1.0150352229 0.0845321240 13.5005444764 13.5389121920
+ -0.2176760378 -0.0439273710 3.0572984258 3.0653525304
+ 0.0184270253 -0.0278288130 1.9884284736 1.9887085741
+ -0.0513911182 0.0979816423 2.5815213731 2.5838912611
+ -0.2838639572 -0.8775389825 87.9448432401 87.9496793965
+ -0.1440414747 -0.5443987305 44.8932038017 44.8967355774
+ -0.0794371505 -0.0176763676 12.7639531096 12.7642125374
+ 0.0410803295 -0.0365985606 3.4506880516 3.4511266388
+ 0.2099531955 0.1309440919 13.3067315429 13.3097637409
+ 0.0933166580 -0.0186506817 4.0552868614 4.0588036611
+ -0.1565059600 -0.0493994902 7.8884786696 7.8901856851
+ -0.0415684098 -0.1040008888 3.2557909899 3.2577168519
+ -0.1273965559 0.0212397319 3.1344302792 3.1370900822
+ -0.0624883151 0.0789628673 6.0622209463 6.0630572095
+ -0.0589306749 0.2527972164 13.3876793580 13.3901955866
+ -0.0323245673 -0.0073439485 1.1964171028 1.1968762238
+ -0.0427288972 -0.0514797617 3.9574275328 3.9579930017
+ -0.1022429002 0.0262223868 2.0038357345 2.0066137833
+ -0.2874809625 -0.2393917742 5.8093980103 5.8214310069
+ -0.0577844438 -0.0582931312 0.6018011734 0.6073728537
+ 0.0579195329 -0.0072757797 0.2170657380 0.2247779880
+ 0.1255112270 -0.2047590132 0.4074200854 0.4729381013
+ -0.2204168928 0.0941428055 0.9435508040 0.9735166122
+ -0.0037110388 -0.0261948158 0.0559078426 0.0618516536
+ -0.2223889952 -0.1971888040 0.7276565306 0.7860180127
+ -0.2440262906 -0.0719073658 0.4852746899 0.5479151617
+ 0.3218592474 -0.2506588306 1.4349411932 1.5726267457
+ -0.2789439976 -0.1339436138 1.7190566182 1.7466843739
+ -0.1681405860 0.0032694745 1.3535391203 1.3639465152
+ 0.5641394400 0.1785432250 3.2415346193 3.2950990393
+ 0.1830530936 0.1166482211 1.5655162834 1.5804924790
+ 0.1227429751 0.2901578468 8.3412711936 8.3472188505
+ -0.0339993212 0.0646983467 1.5173497419 1.5191089721
+ 0.5262670560 1.1332306526 28.6165624318 28.6591898827
+ 0.1505960986 0.2854876093 8.7400841232 8.7471556878
+ -0.1157740067 0.1174543099 21.4919466718 21.4925794375
+ -0.3418992205 0.2106792171 32.9600342406 32.9624807615
+ -0.1880166944 0.0953141886 18.2588524490 18.2600692175
+ -0.1103205598 -0.0343984506 6.5556040646 6.5566224941
+ -0.0277763652 0.0189925496 0.5225173367 0.5235996663
+ -0.1274844878 0.1252211151 13.3054108067 13.3066107389
+ 0.1506121653 -0.1488511353 33.1246997762 33.1253766159
+ 0.3594714897 -0.1476938576 46.5693726386 46.5709942043
+ 0.3869891881 -0.4785665017 422.0013919802 422.0018407776
+ 0.7963266757 -0.8410053986 690.8234833019 690.8244541905
+ -0.0107313320 0.0305689475 -0.0988831496 0.1040552705
+ -0.1676936440 0.0386776877 -0.0754584845 0.1879124920
+ -0.2095038304 -0.1152595348 -1.2924624807 1.3143956328
+ -0.4604597344 -0.0436592014 -2.5389357983 2.5807216589
+ -0.3782398285 -0.0198395455 -1.1936130813 1.2522664107
+ -0.2306071940 -0.0674169883 -1.1223500270 1.1477779887
+ -0.4851661512 -0.1111920612 -2.7190870781 2.7642692356
+ -0.2294563566 0.0355387473 -1.1162595069 1.1401528446
+ 0.0156712906 -0.0514644298 -0.0888097137 0.1038332420
+ -0.0011137634 -0.2980783552 -1.4110803638 1.4422204198
+ 0.1295972592 -0.0869863868 -2.9849831894 2.9890611774
+ -0.5120784674 -0.7489702747 -12.6722171088 12.7046553389
+ 0.4110997624 -0.4072619184 -13.8321570100 13.8442563120
+ 0.4978266572 -0.3095753527 -13.1989805179 13.2119928471
+ 0.5496692362 -1.2233302550 -53.2859923163 53.3028671866
+ 0.1328034291 -0.4426351937 -16.4331339862 16.4396306307
+ -0.0151624860 -0.0033273166 5.7987119473 5.7987327254
+ 0.0275771895 0.0828706111 2.6444818727 2.6459237356
+ 0.1202769355 -0.2498196464 -1.6573340422 1.6861531097
+ 0.5271816186 -0.1215505291 -5.0841556208 5.1147642322
+ -0.3844399588 0.3029434169 0.3570259961 0.6058352562
+ -0.6224790076 0.4942719513 0.3792406221 0.8806862814
+ 0.0043551465 0.0857879612 -0.0685970528 0.1099276910
+ -0.0679018035 0.0346280209 0.0364217602 0.0844766203
+ -0.0738116738 0.3043536707 -0.0402854439 0.3157566104
+ 0.0505623180 0.3748758852 0.0007681334 0.3782711558
+ -0.1437615877 -0.1537848103 -0.1525856130 0.2599990986
+ -0.4281282746 -0.7880110370 -0.8604363214 1.2428217399
+ 0.0054234218 -0.2332115917 -0.0220698108 0.2343163173
+ 0.1539037433 -0.2728645143 -0.0667317622 0.3203038143
+ 0.3025093768 -0.1678951268 -0.2414925808 0.4219234092
+ 0.0455444065 0.0195041891 -0.0059749281 0.0499039689
+ 0.0056668453 -0.0415636456 0.1938524969 0.1983392052
+ -0.1061515546 -0.0762065453 0.1242809195 0.1803367323
+ 0.0132954767 -0.0000934171 0.0334409374 0.0359871466
+ 0.6903026869 -0.8073346562 1.0845169538 1.5180527229
+ -0.0069315046 0.0164021368 0.1238495524 0.1251230893
+ 0.2769827198 -0.0992321250 1.4353356221 1.4651808045
+ 0.1542086716 -0.0582640457 1.2896761041 1.3001690147
+ -0.0033102172 -0.0372777343 0.9336254743 0.9343752529
+ 0.2705326904 0.2911067676 9.9208603464 9.9288167019
+ 0.0034574767 0.0073536705 0.0267759806 0.0279818468
+ -0.0190604912 -0.0409845514 -2.2641862933 2.2646374117
+ 0.1845238222 -0.0967263147 -8.7844124006 8.7868826238
+ -0.1418396798 0.0147600402 -3.3262906698 3.3293461781
+ -0.3711529056 -0.1764594776 -10.9844473288 10.9921324385
+ -0.0877035580 -0.0417962392 -5.6381497652 5.6389867542
+ -0.0926011626 0.0335504865 -16.9882744188 16.9885599254
+ -0.0227715681 -0.0573270203 -2.9435994073 2.9442456423
+ -0.1872965803 0.0088274013 -14.3214136024 14.3226410101
+ -4.0584707663 -5.7266133658 6.4156165410 9.5092282128
+ -4.8086415902 -6.9624382891 7.8798910356 11.5624938316
+ 9.6582465979 15.3957253576 7.6329251227 19.7127144844
+ 9.7802117483 15.2879413342 8.0349689108 19.8482718961
+ 2.4896951849 3.8827782447 1.9844125499 5.0231386567
+ 1.9231689903 2.9432475405 1.1318433512 3.6961918519
+ 3.0787214566 3.6052499647 0.5991062341 4.7786275640
+ 2.6459763200 3.1574836762 0.3999900235 4.1389474351
+ 4.6845175919 5.6387296067 1.0389252235 7.4040085269
+ 3.3852791608 4.1065070442 0.8687627683 5.3924265269
+ 0.0499798877 0.4021298662 -1.1051475717 1.1770970962
+ -0.0781380185 1.1356158980 -2.9393931110 3.1521041986
+ 0.0520986545 0.4697307300 -1.9999252917 2.0550090999
+ 0.0253080387 0.5019644865 -1.6083465764 1.6850482345
+ 0.0250716779 0.0287585545 -1.0690127871 1.0696934058
+ 0.3838037275 -0.1170323945 -10.3062102687 10.3140182269
+ -0.2209352886 0.3068964819 -14.1635603385 14.1686075291
+ -0.2607340492 0.3841435377 -23.9394889502 23.9439904715
+ -0.1255716019 0.1252822711 -17.9748219161 17.9756971155
+ 0.0117084264 -0.0231800849 -2.0780136680 2.0781759329
+ 0.3331685142 0.3284940684 -2.9891957764 3.0288084764
+ -0.0346253234 -0.0282410341 -0.4996247303 0.5206737223
+ 0.0618588474 -0.0008099982 2.9693523686 2.9699967444
+ 0.1703034894 0.0224966179 2.4226885318 2.4287711087
+ -0.0483426237 -0.4276982937 1.1052046762 1.1942445315
+ -0.1655185811 0.0232509088 0.3898694046 0.4465590028
+ 0.7425073915 0.7760905545 7.8874959880 7.9602906188
+ 0.0407215980 0.0092446111 0.4032919117 0.4054479960
+ 0.0580963349 0.0236278284 0.2923363758 0.2989883191
+ 0.1396745133 0.0244196279 2.4951740685 2.4991996559
+ -0.7453308908 1.7840201757 16.9034499735 17.0142395339
+ -0.2566408366 1.5769785340 14.0566616664 14.1478600080
+ -0.0967855813 0.5534501190 3.0978944051 3.1515240778
+ -0.1761808187 0.6274763859 6.8337670101 6.8661938240
+ -0.1493106010 -0.1517792681 -5.0696703426 5.0760582906
+ 0.0122326497 0.2267462899 -5.7946201929 5.8007470624
+#END
+ -0.0870011740 -0.3325148391 55.1232931925 55.1243647374
+ 0.9503864966 -0.9434141788 -5.9923090573 6.1417027304
+ -0.0674063188 -0.1765739086 -0.0593642863 0.2423341916
+ -0.7412584642 -0.3834585977 -7.1025047812 7.1527308462
+ -0.7913457725 0.4066990075 -2.7437544393 2.9263392827
+ 1.6830340657 -5.0960013775 -23.3478463345 23.9571125545
+ 0.4636873224 -1.2989690131 -4.6651712673 4.8667883833
+ 0.7832733925 0.2794330984 -1.9661020565 2.1910724134
+ 5.4471709951 -0.1094335735 -11.1165279349 12.3896925645
+ 1.2943292449 -0.3954243017 -3.5858227146 3.8352643844
+ -0.5527868703 0.6321115818 -9.1051373604 9.1448425089
+ -0.9133969524 0.9060589018 -52.6512180390 52.6692475614
+ 0.1109065086 0.3305323279 -77.2115375354 77.2124508109
+ 0.2093849809 0.1201268175 -37.8903889813 37.8943728096
+ -0.5503286871 -1.2271748338 -30.5283620600 30.5582916667
+ -0.5991979365 -1.9770283326 -69.2321085392 69.2646820027
+ 1.0305865537 -0.2671866834 -15.3767023746 15.4141478218
+ 0.3377867118 -1.1645738461 -4.0733838996 4.2786013438
+ 0.1696747258 -0.0903716397 0.0227415700 0.2386493447
+ -0.5138336663 0.4566481549 5.1953595924 5.3239707419
+ -0.0831547119 -0.3216931319 14.7651032639 14.7986156840
+ -0.6771365656 0.1943142393 31.4623410460 31.4842107514
+ 0.4616625851 -0.6491372717 88.9218950834 88.9304263374
+ -0.2698641228 0.2200991668 19.6106771424 19.6142654223
+ -0.2263752416 0.0111909567 359.8508703466 359.8509687913
+ 0.1214234165 0.5459934219 1606.5897323719 1606.5901044781
+ -1.6982147527 -2.2509123762 5.0939227520 5.8973671641
+ 0.2334174178 0.2153123959 4.1184057584 4.1329878895
+ -0.5717483277 0.2119515852 2.8063187437 2.8751911764
+ 1.0629712232 -0.5149202348 4.7702799576 4.9163097266
+ 3.0211707968 -0.4830093660 -0.8873210518 3.1886657813
+ 0.0002401324 0.3171593903 -0.0254681332 0.5872646101
+ 0.3828007815 0.2757407377 82.5341355437 82.5369598441
+ -0.5055358075 -0.4778191256 80.8148143777 80.8232694974
+ -0.7241985441 -0.4640504200 57.0437992004 57.0504541027
+ 1.7179151606 0.0900657582 62.9791655781 63.0096614261
+ 0.1348631439 0.4418329596 1.2035371340 1.2966826325
+ -0.2673488376 -0.0590504865 4.0433290908 4.0549910336
+ 0.1704351839 -0.2793605342 2.2549187172 2.2828115704
+ -0.3400450548 -0.3904544314 2.3802624589 2.4399209947
+ 0.0794387033 0.3295328065 -1.6624561805 1.9388175580
+ 0.6101256988 0.2837924156 -3.0304256447 3.2433104811
+ 0.8911663269 2.4891939513 -21.4584725463 21.6211883983
+ 0.1490517271 0.5328745153 -3.7774946301 3.8203556289
+ -0.0951669078 -0.0604151786 -18.3340084029 18.3348861637
+ -0.0171611389 -0.0663646933 0.2620827252 0.3047390965
+ 1.7530309512 -0.9206688549 4.1640178846 4.6371795910
+ -7.9620480794 -0.4014558619 -6.3316861652 10.1816062538
+ -5.3417808803 -0.3407401000 -3.3824740210 6.3333511727
+ -90.4776815741 -14.9972461808 -60.4964670500 109.8679674034
+ -5.2666598765 0.6161457067 -5.0637639102 7.3486520999
+ -4.9519452767 1.1020671825 -5.5458284477 7.5323414839
+ 7.5304564044 -4.9650250301 -40.2370099078 41.2358544632
+ 15.2197276150 -10.1465841128 -77.9887957055 80.1052153947
+ 4.1304557301 -2.7486646609 -21.4628680607 22.0288566963
+ 1.1422678454 -0.6260863825 -4.8235241069 4.9982621563
+ 1.2308067856 -0.5879067717 -7.7803472755 7.8990077505
+ 0.0910422400 -0.0754385096 -0.1753552617 0.2114926145
+ 0.9720959830 -0.7498467963 -4.6672807782 4.8512257874
+ 1.1011432178 -0.9641208357 -7.0423291043 7.1941590454
+ 0.3770328187 -0.2320166821 -3.6308361706 3.6603874890
+ 0.1336774156 0.0454710032 -0.6196083355 0.6506393301
+ 0.2951504618 -0.5203359727 -2.8390666140 2.9430942082
+ 1.2812856446 -0.7689604013 -6.4465852434 6.6189828590
+ -0.6266331786 -0.0078747524 -2.4918450365 2.6164219457
+ -0.3605866116 -0.2266312264 -0.9488731439 1.0493924172
+ -1.0794819998 -0.7966582090 -9.2513828340 9.3491983515
+ -0.3427584698 0.0791099922 -3.2810946964 3.3028478547
+ -1.8078002301 -0.1277948909 -12.8424270833 13.0035670948
+ -0.5066128746 -0.2136634833 -3.9478851831 4.0949306100
+ 0.1426216080 -0.0372859148 -8.4764991556 8.4789297015
+ 0.0443715360 0.5065632811 -14.5412107295 14.5507685177
+ -0.0678265970 0.0233302055 -4.3208220402 4.3236706204
+ -0.1852950979 -0.0933429169 -6.9740380548 6.9785194524
+ 0.6497993617 -0.0441047589 -105.4312783949 105.4374648738
+ 0.0095055970 0.2115917547 -17.7810495217 17.7828586933
+ -0.0308014968 -0.2107152646 -10.5906288441 10.5936891002
+ 0.3912129587 0.0796724013 -573.4461279372 573.4470345133
+ 0.2603488015 0.1968201586 -361.8647325891 361.8649066865
+ -0.2766613726 0.6598287708 -1756.0233968056 1756.0237932314
+ -0.0590479975 -0.1929143862 -576.2689853663 576.2690375836
+ 0.0406984343 0.0109311732 -32.2038019674 32.2038295395
+ 0.4575374172 -0.2997640198 -295.3887487156 295.3892551646
+ 3.2823156204 -2.9818689980 -17.5795335749 18.1307644364
+ 5.6393780253 -5.9681644004 -33.5360990751 34.5269603612
+ 3.0042655622 -3.6427249992 -18.0160384578 18.6310584686
+ 3.7248855903 -3.7270267725 -21.3425313423 21.9838264437
+ 0.9277013079 -1.4313711106 -5.9868017520 6.2266144875
+ 0.7369104985 -3.9160693847 -13.6762038498 14.2455841591
+ 0.0878730549 -1.0841054646 -4.7151502064 4.8409841547
+ 0.3092490627 -2.2185006386 -8.6036012779 8.8915023928
+ 0.3538507693 -0.7242058481 -2.7583701070 2.8771113829
+ 0.1184407100 -5.6192874010 -19.4217005848 20.2191085977
+ 0.2052096977 -0.1861049935 -1.3385059545 1.3668739075
+ 0.4626368922 -0.7276458096 -4.4761219282 4.5584173607
+ -0.0622130182 -0.4444848938 -0.8492705233 0.9706582752
+ 0.4780360733 -0.3094442273 -1.1956097947 1.3316293716
+ -0.1334704309 -0.0363261693 -1.2624742746 1.2776756338
+ 1.5352841074 0.5025011685 -3.6132410558 3.9603781925
+ 4.2297809568 0.2416668389 -6.0136029091 7.4157413887
+ 0.5583387043 0.3901534697 -1.5875514530 1.7331362438
+ 1.0987099944 0.2746537948 -2.0377699614 2.5130569766
+ 0.0503815438 -0.0498477581 -0.2311048340 0.2417282425
+ -0.1914700125 0.0459063908 -1.3627881182 1.3839940038
+ 0.0162499052 0.0187965386 -0.8817824218 0.8931054773
+ -0.7412643533 -0.0667961559 -11.9071060975 11.9311604620
+ -0.2591399906 0.4997339268 -7.3987330705 7.4214296713
+ -0.5785716133 0.5280989697 -13.5953733638 13.6268650648
+ 0.0079358359 -0.0526823797 -2.3070299861 2.3118619233
+ -0.1474294183 0.1280510638 -7.8684440079 7.8721041278
+ -0.3626930347 0.7438100032 -37.4626385425 37.4720371198
+ 0.2958867397 -0.1042962057 -48.4438892573 48.4451061803
+ -0.7411760350 -1.0197915713 -48.3306780347 48.3471173501
+ -0.0377652629 -0.3786778891 -26.1725767414 26.1753432918
+ 0.2717857811 -0.4543879142 -15.6142976246 15.6238953524
+ -0.2870280475 -0.4862260848 -11.8943456992 11.9179654924
+ -0.0008625717 -0.6392752542 -16.2055102027 16.2187149402
+ -0.4317654959 -0.0386455356 -6.9429601630 6.9564797668
+ -0.0666086983 -0.0261062485 -2.3043869407 2.3054972191
+ 0.1944102280 -0.0746462257 -0.8707150714 0.9060860424
+ 0.2547011309 -0.0631254458 -2.3138095977 2.3328206376
+ 0.0459224492 0.0113351322 -0.9352370077 0.9467763210
+ -0.6551326304 -0.0956863609 -1.3803139487 1.7955422114
+ -0.4402810433 -0.0082201787 -0.8977037523 1.0095874307
+ -0.3880586783 -0.1054462677 -0.9977442244 1.0847496372
+ -1.4911028693 0.0645657729 -1.2484618480 1.9508186171
+ -4.2758005177 -0.2540916515 -4.7844070034 6.4405918959
+ -1.0645355335 -0.0869048335 -0.7467838533 1.3107075420
+ -4.1704212309 0.1413599930 -2.9564512665 5.1159045893
+ -6.7214273903 0.5179850354 -5.2244615683 8.5299691163
+ -10.9812858477 0.8824634938 -8.9501404434 14.1947833526
+ -6.5737541039 0.7011151347 -4.5885056738 8.0485818350
+ -10.0144006454 0.6120461624 -7.6048708351 12.5903280734
+ -48.7864656389 3.0925427276 -36.9701857333 61.2920983828
+ -0.1744817407 0.1060700951 0.5970855527 0.6310355775
+ 0.2698790723 0.2761291536 0.2877842684 0.4815618426
+ -0.1181492628 -0.0963447183 0.5625931887 0.5993600203
+ 0.5448590417 1.0797898567 6.0163532051 6.1383062146
+ -0.0991954738 0.0111712356 0.5218228243 0.5493117361
+ -0.1640719025 -0.1119278100 21.9081093567 21.9094541875
+ -0.3757032774 -0.0710496348 98.9000541171 98.9008917308
+ -3.4112729192 0.5869579789 11.4696452111 11.9907341238
+ -0.6237258479 0.0334833991 3.1771973436 3.2410211071
+ -1.6927480715 0.1605487594 8.7052005479 8.9191949810
+ -0.0390923294 -0.0342212478 0.0131051678 0.0535821746
+ -1.0156687351 -0.4788967970 0.8945537406 1.4356711032
+ 0.1403964037 -1.2104612787 1.7060950470 2.2974942332
+ -0.0445518443 -0.2587226208 0.9887509981 1.0324875702
+ -0.1061047793 -0.7037474008 0.1475260249 0.7401096819
+ 0.0030710788 0.2036589940 0.2060975570 0.3216246341
+ 0.0664847935 -0.0063530531 -0.0125073765 0.1552314672
+ 1.7816335919 0.4191134950 0.3573473270 1.8700404473
+ 0.8183810707 -0.1935213908 -0.1324688962 0.8626852838
+ 0.4538324957 -0.2499562061 -0.3643611887 0.6485991828
+ 0.4325994448 -0.0704508624 0.3443272271 0.5745838737
+ 0.4292027648 -0.4414146585 -0.4423271251 0.7708404404
+ -0.1637201741 -0.2576483448 0.9640116017 1.1252316620
+ -0.0986561619 -0.4962267653 0.8518250961 1.1068970121
+ -0.5355345976 -0.4141873020 0.8527438447 1.1954754079
+ -0.0102249211 -0.0186372506 0.0257045785 0.0333559811
+ 0.2389552179 -0.1449534319 1.0675040313 1.1034835524
+ 0.0296638970 0.0640748962 0.0630423561 0.1686406317
+ -0.2191312399 0.1253376739 0.2403126607 0.3754437276
+ -0.3633165213 -1.2086396619 3.3993166846 3.6287246291
+ -0.0076307593 -0.1433196411 3.1171990036 3.1236210015
+ -0.2771830040 -0.1411631823 82.3560763377 82.3581429378
+ -0.4987460856 0.0027167018 72.2404096305 72.2422661494
+ -1.0294262543 0.1059350068 260.5137833005 260.5163063440
+ -0.2544552233 0.1195288440 60.2751883010 60.2760055006
+ -0.3753796092 -0.1044768788 60.2969405362 60.2983610315
+ -0.6634263044 -0.7353394526 63.0375307465 63.0454647138
+ -1.1845176221 -1.3646714938 150.6709872875 150.6847443210
+ -0.0442653516 -0.4038808264 18.5007103728 18.5056975882
+ 0.0411302406 0.1114452630 7.7316949324 7.7338669536
+ -0.0332509154 0.0855011492 41.5966666040 41.5996962681
+ 0.3081267183 -0.1703736155 17.2056620783 17.2098302311
+ 1.1321906557 -0.3551541309 85.9306288015 85.9439428171
+ 0.1744542066 -0.0885412819 8.6807159688 8.6840418783
+ 0.7596268773 -0.0042450606 16.9139591329 16.9315842243
+ 0.0378796388 0.0551606663 0.2978870823 0.3053101373
+ 0.4255723291 0.7816686189 6.8337799317 6.8914922761
+ 0.0453912912 0.0128893981 0.3503519745 0.3800694632
+ 0.1556826688 0.3099344525 1.3979417001 1.4470719540
+ 0.1004431968 0.0841065459 -0.0546238976 0.1419384270
+ 0.0806106784 0.0422764789 0.0744815961 0.1176133083
+ 0.3518337308 0.8942221112 0.2465037761 1.0018303523
+ -0.3957968675 -0.2783808842 0.1829096698 0.7150160728
+ 0.4066045049 -0.1361275347 -0.0628934061 0.4552947337
+ 0.2127360352 0.3603729083 -0.1400357758 0.4412881963
+ 0.6058838937 0.8381084807 0.0662905163 1.0362989678
+ 0.3881524466 0.7375081123 0.0250395871 0.8337910520
+ -0.0299384922 -0.1751543558 -0.1911604814 0.2959687082
+ -0.1110126435 1.3028162620 -3.9117016243 4.1268078950
+ -0.0812428464 -0.0225762981 -1.1889801015 1.2001098100
+ 0.1081900974 -0.0903006645 -1.3999332154 1.4139137525
+ 0.5735882845 0.9976177803 -14.0087557501 14.0566340994
+ 0.3792958369 0.1998137417 -4.7886458575 4.8987459413
+ 0.0025766428 -0.0093740326 -0.1471524202 0.1474732055
+ 0.8854298869 -0.6023016798 -5.4826284990 5.5862302724
+ 0.4023978277 -1.0194222893 -11.1775799042 11.2703056269
+ 0.4692447655 0.0562961840 -47.7912800235 47.8028258243
+ 0.1543172500 0.1263988732 -5.6915174513 5.6967219672
+ 0.2005652689 0.0196291372 -63.6137239313 63.6141962452
+ -0.4931225178 -0.1551246371 -90.7279259081 90.7295059661
+ 0.3281017696 0.3591992780 -77.8203459984 77.8275383010
+ 0.1729329500 -0.2280344850 -27.0605780818 27.0624513198
+ -0.4014140272 -0.2040100161 -63.5874809775 63.5892284130
+ 0.6032677187 -0.1699258373 -4.4824442439 4.5281997433
+ -0.4847992474 0.0050204844 -5.3294202363 5.3532471786
+ 13.0721616379 2.3799067824 19.8149507196 23.8578523339
+ 84.2198286847 15.6927797099 129.2025165086 155.0243614103
+ 475.3757418092 87.1506465870 727.7019959738 873.5717174481
+ 20.1440435263 3.9366613972 31.2832386057 37.4155156347
+ 14.3400332564 2.7458146805 22.0727225848 26.4647148928
+ 16.9167679206 3.3123677859 25.9059601388 31.1209130474
+ 37.5691166193 4.6091059057 53.5963521299 65.6145625774
+ 4.3333750434 0.7205872975 6.6123640162 7.9397873390
+ 3.7969137994 0.6904446856 5.5959111615 6.7990418278
+ 4.3049639553 0.4411413712 6.1539541273 7.5244901190
+ 2.3589895254 0.5585733203 3.3915326527 4.1711879908
+ 1.0225826806 -0.4657318838 1.4257728070 1.8206837749
+ 0.4634673409 -0.0381369143 0.6473408215 0.8091886828
+ 0.3962637012 -0.1757507277 0.2814874301 0.5353766874
+ -0.0598268198 0.1608839269 0.1050371556 0.2448989082
+ 0.1146639413 -0.1824962773 0.4563275570 0.5236099071
+ -0.1549479043 -0.7977194249 0.9768728093 1.2783291455
+ 0.3883602313 -0.0549882923 0.1309856697 0.4364451994
+ 0.1317639703 -0.0480532216 -0.0760011438 0.2119594649
+ 0.3624911115 0.0136724208 0.0371966386 0.6136866390
+ -0.0697143775 -0.3597657188 -0.3950783564 0.5566490452
+ -0.4852702953 0.2480513318 0.1462074512 0.5812685493
+ -0.3609537796 0.1296203854 -0.2496902795 0.4784496796
+ -3.7411641252 -0.0685348668 -2.8052304014 4.6765717833
+ -0.9078458812 -0.0058319379 -0.6003574394 1.0884149992
+ -0.5862389037 0.2106038780 -0.5141576939 0.8077055031
+ -0.7322084663 0.2979025037 -0.8573410415 1.1661512772
+ -2.8181205243 0.1427128163 -1.9215588754 3.4138773776
+ -1.7513841593 0.0688119164 -1.0692080794 2.0531165262
+ -11.3391403137 -0.3710796812 -8.9891262093 14.4754161589
+ -7.0398412444 -0.4343202426 -5.3735070739 8.8680356831
+ -6.6535061067 -0.8552947309 -4.3543816068 7.9987993818
+ -1.8969704172 -0.1717202098 -1.2274003133 2.2702369718
+ -32.5291087981 -4.8965798811 -22.5503292384 39.8830320096
+ -8.6939115604 -1.2111183838 -6.0055461521 10.6365864040
+ -42.3980428751 -5.7539740904 -29.5250125991 51.9933551239
+ -1.2655334251 -0.2070703083 -0.8531223749 1.5465285429
+ -22.7341428613 -3.6036303875 -16.1482264190 28.1331294149
+ -27.5147210703 -4.6262192229 -18.8387503300 33.6657061958
+ -33.3791003684 -6.0426562973 -22.0946483434 40.4829717502
+ -40.7238376151 -7.2987027719 -27.2288638259 49.5291077781
+ -51.5103119414 -8.8459161077 -34.0288073131 62.3661901596
+ -72.9769482032 -13.0728773785 -49.6934852325 89.2524344001
+ -8.9831916629 -1.6291807004 -5.4882192665 10.6532620689
+ -4.9759200582 -1.0645595300 -3.3726754258 6.1047528161
+ -8.4499746560 -0.8680564716 -5.5310453029 10.1799237548
+ -3.4856441405 -0.2050748479 -2.6537896311 4.3879209153
+ -8.5347798814 -0.5658240015 -9.5448046179 12.8509248777
+ -1.9456649591 0.1057630379 -2.2177694887 2.9554659942
+ -4.5476629296 0.1323150702 -5.8313613910 7.4126352960
+ -8.7229024752 0.2593553670 -9.8619709772 13.1687039739
+ -6.4448190998 0.2410257436 -7.1307870310 9.6146716179
+ -7.3467487629 0.2962823456 -7.8387667134 10.7484065789
+ -2.1814037816 0.5574000007 -2.3927344493 3.3223540335
+ -1.4440520997 0.2985310391 -1.7745594143 2.3594722552
+ -0.9342994408 0.1879275267 -0.9963175693 1.3857707907
+ 0.1815578004 0.0117226148 1.9069784117 1.9207152580
+ 0.0418554385 -0.2433680658 0.5369358470 0.6072559443
+ -0.3937837288 0.1631826254 3.0409255661 3.0706550593
+ -0.5131186535 0.0579004912 3.9452005743 3.9788504358
+ 0.6181168537 -0.0458355005 8.7191973231 8.7411996487
+ 0.1683435670 0.1791886766 1.1911444780 1.2162537999
+ 0.0685877559 -0.1498161307 6.8119022449 6.8153239932
+ -0.2229944304 0.0814121460 12.3278393376 12.3309146851
+ -0.0012270116 -0.0384772503 0.4698116421 0.4916144509
+ 0.2113731641 0.0699482398 1.0076474547 1.0413474677
+ -0.1112835570 -0.1740218573 8.5249985371 8.5286427689
+ 0.0085440097 -0.0146668401 10.7763772149 10.7772943627
+ 1.1315469795 -0.9999389568 -5.9516516450 6.1402307601
+ 0.9067629472 -0.6822314098 -4.7900252012 4.9226009555
+ 0.1229818962 -0.0587032573 -1.0963625347 1.1047992699
+ 0.2759303565 0.0576546390 -1.7547529038 1.7772505092
+ 0.6972041072 -0.1569979304 -3.5027767758 3.5776622036
+ 0.0885937464 0.1159527363 -1.0863588102 1.1049656729
+ 0.4672554513 -0.3719719736 -1.9953773720 2.0828398072
+ 0.0205350408 0.0043108931 -0.1636190151 0.1649589458
+ -0.0100345695 -0.0013278325 -0.0104095185 0.0145194283
+ -0.0567841557 -0.1167804921 -2.3804128657 2.3839520832
+ -0.1519711919 0.4661466020 -1.3749098538 1.4597140144
+ 0.0087598390 0.0821014793 -0.3966681340 0.4051703298
+ -1.6136277351 -0.5236514205 -8.6936902279 8.8576664566
+ -0.4189949187 -0.2093615366 -2.3414580689 2.3878473325
+ -1.0385513740 -0.7150178140 -7.0598857857 7.1715986181
+ -0.1980467466 -0.0842728435 -1.4232740502 1.4394559556
+ -0.7242076058 -0.1085898850 -3.4551237194 3.5318760363
+ -0.5252342413 0.0142220802 -2.1734125112 2.2360221868
+ -0.1342469644 -0.1327274202 -0.4430822618 0.4816229918
+ -0.1679861432 -0.0818739517 -0.8496929083 0.8700004176
+ -0.0102504505 -0.3851552776 -1.9845806420 2.0264475737
+ 0.2175009574 -0.0138354576 -1.0610858136 1.0921909060
+ 0.0723048473 0.0188774865 -2.9315667129 2.9325190097
+ 0.0101844053 -0.0875912687 -1.7445551246 1.7467823377
+ -0.1224120509 -0.0561593151 -1.2805436754 1.2876065717
+ -0.2207057955 -0.0478365359 -4.4518196487 4.4575438940
+ -0.2996301990 -0.3494524579 -58.9391018686 58.9408994193
+ -0.0764470202 -0.1421051583 -32.1648286670 32.1652334237
+ 0.1096790779 -0.1070513621 -0.7020847244 0.7186184345
+ 5.7602502087 -5.8670803675 -33.3583907560 34.3567365787
+ 2.6508364569 -4.9543958387 -22.8750380346 23.5603058674
+ 0.1097008398 -0.5647978576 -1.8086529944 1.9030860026
+ 1.0573797268 -5.1724046373 -17.8776808704 18.6414263056
+ 1.2135437078 -3.7652019737 -16.4535044355 16.9297051915
+ 0.6750256383 -1.1043451969 -4.8079410714 4.9810656548
+ 0.3515346721 -0.1952930974 -1.7558659018 1.8067265619
+ 0.2778237669 -0.1836978269 -0.8483701972 0.9114071146
+ 0.3257760178 -0.2345173350 -1.5011913630 1.5539317561
+ 3.5226313968 0.7703311238 -8.2201208410 9.0251359675
+ 0.3843905862 0.1415950794 -1.1466816009 1.2256279076
+ 0.0410904210 0.0790692029 -0.0560681666 0.1052805815
+ 0.1508152486 -0.0121627600 -0.1662535544 0.2247963885
+ 0.7231481396 -0.0315347398 -1.5076268930 1.6723864745
+ 0.9471177233 -0.1023776910 -1.6766043036 1.9283451881
+ -0.0072238583 0.0292926177 -0.3667554813 0.3679943269
+ 0.0153217060 0.0965432873 -0.1349436172 0.1666287515
+ 0.0159372123 -0.0729761844 -0.2531386806 0.2985607053
+ 0.7440432956 -0.0896215829 -1.5082469760 1.6899470937
+ 0.8413998826 0.3381336260 -2.2637511970 2.6128926856
+ 0.1176380090 -0.0337515760 -0.4908439371 0.5247717842
+ 0.1266484331 0.2193655102 -1.2037474238 1.2301093094
+ -0.1291918595 0.0105927004 -5.0746096162 5.0762649161
+ -0.1289583039 -0.0225192213 -0.6388714737 0.6521457807
+ -0.2579758034 0.1143384934 -2.0479225805 2.0672715598
+ -0.0587522422 0.0567638318 -5.5992231648 5.5998191049
+ 0.1245982080 0.0861423830 -11.2531205881 11.2550054633
+ -0.1710072685 0.0278810150 -4.5226027147 4.5280719889
+ -0.4740242753 0.6330509953 -71.5276541451 71.5320261147
+ -0.0996741157 0.1853362607 -25.5453481305 25.5462148971
+ -0.0012412765 -0.1489985846 -27.1674848532 27.1724513211
+ -0.2935626640 -0.1232957793 -13.3306833106 13.3344853075
+ -0.1519583190 0.0327659669 -5.9718928005 5.9739156807
+ 0.1118385076 -0.0318191062 -0.4311623685 0.4465661153
+ 0.0006869178 -0.1061117479 -0.3225557520 0.3395620533
+ 0.0057422111 -0.8292554597 -2.7334985636 3.0066696827
+ 0.0418043254 -0.0377992371 -0.2058528002 0.2550128314
+ 0.0784189558 0.0607223820 -0.0821713258 0.1287977759
+ 0.2304761057 -0.0524609576 -0.2676267045 0.3570650366
+ -0.2243845946 0.2309064578 -0.3059833503 0.4441756963
+ -0.4307457289 0.2168218782 -0.5165340636 0.7066548299
+ -4.6322325167 0.7170720037 -3.2496596125 5.7036881002
+ -2.9615355729 0.3765523236 -2.1567758528 3.6829562421
+ -10.9242828531 0.7014967301 -8.2457068901 13.7139130471
+ -9.9897729091 0.3748365569 -8.1151685109 12.8760252089
+ -0.1568017329 0.0167425949 -0.1116641384 0.1932251996
+ -26.1186605583 1.6750073043 -19.5434433557 32.6639902190
+ -36.4767601036 2.4696692589 -27.4156367099 45.6975976405
+ 0.0221267945 0.0237392607 0.0327958616 0.0461380111
+ -0.1262398504 0.3551089647 0.8201440683 0.9025935793
+ -0.1573992600 0.2516650197 0.3184131809 0.4353122592
+ 0.0139884951 0.1480392897 0.1670375425 0.2236355292
+ -0.0229207878 0.2773569865 0.3617153172 0.4563882461
+ -0.2462391970 0.5944468675 0.9224006411 1.1246438384
+ -0.0939732721 0.2225125123 0.6411706024 0.6851587665
+ -0.0065717381 0.4326085759 0.9573079398 1.0505388424
+ 0.0520542985 -0.1116452814 75.9340348583 75.9341347761
+ 0.0414995949 -0.0237853537 132.8248871130 132.8248957257
+ -0.0012428115 0.0441879842 176.9896007906 176.9896063111
+ 0.1523728311 0.0862668771 237.5640127498 237.5640772787
+ -0.9968718827 -0.1759827648 4.7545487477 4.9508391078
+ -0.0231834143 -0.0341767978 0.4599663873 0.4824462525
+ 0.0213269048 -0.0474961847 0.2500709471 0.2554333631
+ -0.1371446868 -0.1259031128 0.4295992641 0.4682048554
+ -0.2350395092 -0.0443619263 1.4549003059 1.4744308907
+ -0.2545924611 0.0695710156 2.1588975144 2.1749703274
+ 0.0309811652 -0.0492518784 0.0174967426 0.0607594941
+ 0.4036101861 -0.1002357365 0.3333348565 0.5329732749
+ 0.1681981614 -0.1969164509 -0.0373841348 0.2616568051
+ -0.0181021440 -0.0790082143 -0.0322991958 0.0872537884
+ 0.2279995745 -0.0081446857 0.1879294848 0.2955801637
+ 0.5533445798 0.0332357635 0.2192228277 0.5961153313
+ -0.3293608729 0.0906596906 0.9256476986 0.9866718938
+ -0.0741034774 -0.0230768764 0.1066425526 0.1318957983
+ -0.0397089379 -0.1149253085 1.0382176995 1.0453136457
+ -0.0935865797 -0.0009450103 1.3430043628 1.3462615123
+ -0.5322121564 -0.0048873064 17.4397570052 17.4730864090
+ -0.1493748627 -0.1139396098 3.8592872508 3.8663772389
+ -0.4231077576 0.1612634509 42.1403719133 42.1532480559
+ -0.2080090702 0.0033977668 10.2628546129 10.2659117427
+ -0.0096586380 0.0137907349 6.7236530946 6.7236741749
+ 0.0439367021 -0.0564092219 2.1856799837 2.1868492003
+ -0.5286085186 0.0151111271 95.2229993723 95.2244677841
+ 0.0037164537 -0.0054635050 0.3149296047 0.3149989172
+ 0.0210443733 0.0695878209 43.8841352148 43.8841954339
+ -0.1154421608 0.0787894294 45.4812407395 45.4814554942
+ -0.0595223415 0.0079956275 90.2666814669 90.2680733444
+ -0.0997500095 0.0493490828 9.2537796125 9.2544487957
+ -0.4992409651 -0.0525090088 47.3927636074 47.3954221533
+ -0.5132881368 0.0497811567 74.7684476410 74.7702260631
+ -0.2818189262 -0.0728203799 41.3309387093 41.3319636517
+ 0.0547430206 -0.1300755865 21.7246510690 21.7251094480
+ 0.0177282700 -0.0833555277 41.4979710302 41.4980585336
+ -0.0389340416 -0.3971135758 46.5919113011 46.5936198824
+ -0.0654761983 -0.3882451141 32.9890252453 32.9913747522
+ 0.0478473365 -0.6497496704 20.0605111955 20.0710879981
+ -0.0649350220 -0.2420676991 7.6871478791 7.6912324008
+ 0.0110670930 0.0309734712 0.5970243158 0.5979296531
+ -0.1708448534 -0.0061290506 6.2104982221 6.2128506899
+ 0.1334612422 0.4990752477 1.1885909494 1.2960078900
+ 0.2585715529 1.2193440019 2.4029541390 2.7069997482
+ 0.0064913875 0.0373025108 0.2087162187 0.2121227838
+ -0.0910450121 -0.0863339902 0.4242643826 0.4424285461
+ 0.6148689023 0.5612512493 0.3486652693 1.0306840596
+ -0.1726046911 0.2282676542 -0.4798179178 0.5758502587
+ 0.3937314966 0.0655228679 -0.1976399923 0.4667537778
+ -0.1216599709 -0.1074800141 -1.4737843297 1.4826979977
+ 0.0098685384 -0.0020703957 -0.9029101475 0.9029664496
+ -0.0078814192 0.0115173689 -0.2064560196 0.2069271722
+ 0.2129593122 1.3544772898 -10.7957634176 10.8824844666
+ 0.2187280062 0.6414959390 -7.8273442601 7.8723790924
+ 0.0502959277 -0.0291779608 -0.5813279742 0.5842287628
+ -0.0148739413 -0.0536282634 -0.0851876482 0.1017553938
+ 0.2301893682 -0.2864576950 -2.7682926504 2.7925775467
+ 0.1560555594 -0.4227780490 -3.6797391475 3.7072327699
+ 0.2068409212 0.1073294265 -26.1644168656 26.1654545668
+ -0.0211067032 0.0115184852 -3.8885592224 3.8886335640
+ -0.0289735719 -0.0077910241 -0.4741256617 0.4750740058
+ -0.1436021987 0.2072288674 -1.4590876017 1.4807099731
+ 0.1952887224 -0.2182387228 -1.7410951595 1.7655532220
+ 0.1727401938 -0.1457115182 -0.8047136454 0.8358439281
+ 16.4235305905 3.0330451619 25.0151549409 30.0780600559
+ 57.9339237968 10.5733904186 88.6060270173 106.3915604512
+ 8.4090615880 1.5045668299 12.9284878837 15.4958651612
+ 127.4932849190 23.1426054352 195.3560886735 234.4229495326
+ 30.2604180610 4.5613512008 44.8029940386 54.2570417606
+ 14.2173973304 2.2725342134 21.5098893182 25.8842349099
+ 2.5710408605 0.6527510781 3.5977592895 4.4699224805
+ 0.8270532818 0.1598806971 1.2439609692 1.5023374658
+ 0.0557341558 0.0102242554 0.1252604955 0.1374809923
+ 2.7863700299 0.4359067041 4.2517981948 5.1021231352
+ 4.0273070367 0.5210739314 5.9077024217 7.1687982196
+ 5.8487356397 0.7409579245 8.8656968861 10.6469389266
+ 6.2674655130 1.1054180735 9.2737964684 11.2475052350
+ 1.9819931541 0.0872472626 2.6132092920 3.2809711598
+ 0.7939593376 0.1060989789 1.2345264100 1.4782299093
+ 8.4311996513 1.2352877852 12.9960925286 15.5412021501
+ 2.4377321797 0.3270161813 3.2191448481 4.0512184977
+ 1.0218562880 0.0496241161 1.3272010529 1.6757432563
+ 0.2553504512 -0.0407388239 0.2672275722 0.3718522288
+ 0.1165415385 -0.0752288815 0.0467842322 0.1463901608
+ 0.1628898488 -0.1215686858 0.7952365882 0.8208003895
+ 0.1798380497 -0.0284374742 0.4170656137 0.4550759719
+ 0.0845906906 -0.0088530415 0.1132947830 0.1416674597
+ -0.0451280711 0.0352815557 0.0981930763 0.1136803027
+ 0.0900908237 -0.1266332655 0.3448742612 0.3782731771
+ -0.0116382702 -0.2721568151 0.5442049626 0.6085752399
+ -0.0686468856 -0.0452141425 -0.0021967055 0.0822285783
+ -0.5987211834 0.0041724917 -0.1250949759 0.6116643018
+ -0.6188134449 -0.0114965583 -0.4589695437 0.7705292289
+ -1.5792030948 -0.2378114802 -1.2574605770 2.0326445379
+ -0.5372763382 0.0178624458 -0.3592962368 0.6465900683
+ -6.3614938586 0.3353201312 -4.8072677604 7.9806558015
+ -0.2731286648 0.0038559682 -0.2377142438 0.3621079918
+ -3.1219919325 0.1763632235 -2.1669687297 3.8044304552
+ -0.0843748573 0.0142756545 -0.0521850964 0.1002307096
+ -9.1176580700 0.6468108317 -6.8789057507 11.4398163123
+ -2.9011740246 -0.1586573955 -2.1788676142 3.6317278216
+ -3.9431401809 -0.3523320046 -2.8710159995 4.8903195394
+ -14.5344129675 -1.9996016777 -10.3876001198 17.9763679153
+ -15.2126808805 -2.0421053915 -11.0254100555 18.8985586988
+ -5.7952702425 -1.0137177680 -4.1692886054 7.2108077476
+ -1.9068301903 -0.3490154653 -1.2816889773 2.3239061522
+ -1.9958250230 -0.3243824164 -1.3437586068 2.4278032597
+ -11.6037872330 -1.9046643694 -8.2078838642 14.3403271245
+ -22.0672949974 -3.5753605989 -15.1080840912 26.9815291787
+ -10.2144111591 -1.6553496758 -6.8826422478 12.4275959939
+ -9.7689778717 -1.8594577737 -6.7862523252 12.0392579709
+ -6.4432476342 -1.1172324113 -4.4362986340 7.9021765297
+ -3.6388921062 -0.7537436233 -3.0243527587 4.7912811251
+ -2.3453656205 -0.4098416166 -2.0397615277 3.1351773689
+ -0.9758244717 -0.0544714529 -0.8930635845 1.3239195990
+ -0.7970346332 -0.0854386965 -0.8964919431 1.2026062454
+ -15.6723773756 0.5816875566 -18.0754177398 23.9359598703
+ -8.5059081824 0.7151759925 -6.8462478221 10.9535718092
+ -2.6061008600 0.2192051681 -1.8311710942 3.1926478313
+ -6.8260005429 0.4502907866 -5.0112747931 8.4799717132
+ -0.7955039042 0.0835504682 -0.6664782348 1.0411533892
+ -1.2450274576 0.1249612586 -0.8319582565 1.5026187896
+ -0.0485500075 -0.0039442442 -0.0640747487 0.0804874755
+ -1.7593311842 0.1468507619 -1.2539197037 2.1654389821
+ -0.0084826820 -0.1038893124 0.3847377124 0.3986076423
+ -0.0944885954 -0.0189015292 0.6529137902 0.6599861967
+ -0.0356310468 0.1921317249 3.1268862234 3.1329860557
+ 0.0148844573 -0.0059342512 0.0555115573 0.0577779837
+ 0.0664396283 0.1187665994 1.1542708008 1.1622653788
+ -0.0324200900 -0.0100369162 0.1428338202 0.1468104291
+ 0.0066310396 -0.0770690351 0.8587089415 0.8621859736
+ 0.0270960809 0.0077635707 2.4595398879 2.4597013906
+ -2.3283658619 0.4485071691 -1.9747292337 3.0889288756
+ -0.7810405621 -0.0554222836 -0.5639129893 0.9749736579
+ -71.5645454350 5.6898828554 -53.9671214533 89.8127419021
+ -10.4881293650 0.8769475339 -8.0305188394 13.2392827287
+ -0.3219921303 -0.1443066646 0.4280518256 0.5720240342
+ -0.0387608514 -0.2620132949 0.0428828717 0.3024435417
+ -18.2599013888 -2.9880868703 -12.1848258990 22.1549570942
+ -13.7635829216 -2.6004126839 -9.1090478948 16.7090572535
+ 2.4017337111 0.2058154857 3.6731675597 4.3935002851
+ 1.8062169764 0.2711933392 2.7497503947 3.3010744957
+ 1.6198370258 0.1630885349 2.2373501906 2.7669849540
+ 10.6906979551 1.1638848266 15.3567403424 18.7476698446
+ 0.2702535822 -0.1499744346 0.4606782190 0.5547555779
+ 0.0866255851 -0.1202802423 0.1196239625 0.1904763006
+ 0.1559358506 0.1438506156 0.1091253656 0.2385735411
+ 0.0465427313 -0.0012991256 0.1071596094 0.1168379024
+ -21.1356473429 -3.6674074381 -14.2221973425 25.7378391317
+ -10.8004666691 -1.8236139498 -7.3613762231 13.1971780319
+ -2.6460100199 -0.4745500598 -1.8343842332 3.2544634426
+ -1.9590897021 -0.4246208397 -1.2584272486 2.3668490570
+#END
+ 6.2275060523 8.0763037877 -93.2724261653 93.8330261104
+ 2.0114086275 4.5095806769 -44.7184568915 45.0000313322
+ 2.1423883879 3.4974935087 -46.7314000454 46.9112515164
+ 0.0089311029 0.1709897691 -0.4229692311 0.4771792337
+ -0.4219012529 -0.4260844669 -7.9213408952 7.9452293865
+ -0.1348464248 -0.0321099110 -11.3358103982 11.3375170021
+ 0.0221412649 -0.3175131166 -22.7401635287 22.7428191285
+ 0.4837717359 -0.4511575510 -0.6814600143 0.9599196655
+ -6.9899083427 12.7184848847 6.1163069175 15.7566344018
+ -4.8650729439 9.2936561450 4.5482877468 11.4344820829
+ -0.8940263210 2.4212713553 0.8571773817 2.7232463875
+ -24.9289858749 11.2108872249 22.6509998507 35.4996563807
+ -3.3899992263 1.8322836085 3.5839887693 5.2643910625
+ -1.5544119887 0.8420035865 1.1219282368 2.0984206975
+ -4.3597726532 4.2698957811 5.3884160200 8.1421210110
+ -1.9820116272 -0.6302689973 4.4497846168 5.0006542400
+ -2.5313208233 0.2162282569 6.8499290127 7.3072119877
+ -0.3717400764 -0.2942338579 2.6937081810 2.7386689827
+ -0.2810345464 0.6361740512 4.6066541411 4.7526573620
+ 0.0224523639 -0.0238550932 0.4200983727 0.4438869245
+ 0.5777701998 -0.5074057171 604.3959359610 604.3964412246
+ 0.3580270655 0.2447607390 3691.2191768430 3691.2193219012
+ 81.3278746992 -97.0072047770 127.6130498535 179.7514791773
+ 31.7796629307 -37.1462261501 49.5722398046 69.6281293948
+ 35.6076186398 -43.1169527488 56.9565963784 79.8188415748
+ 14.0232806899 -15.5063465433 20.3354761992 29.1659091486
+ 1.0293100144 -1.2063689542 0.8434984210 1.8016033222
+ 1.7810301558 -0.8225742841 -0.3981090938 2.0617537872
+ -0.2137657535 -0.8086768202 -0.6948760740 1.0963514674
+ 0.0796460273 0.0129547843 -0.2992111691 0.3398800152
+ -0.5785876318 -2.2610443911 -28.7230495063 28.8180522957
+ -0.1673112082 -3.3527855200 -50.1875135637 50.3020806970
+ -0.7167766840 -1.5796688580 -12.3663022510 12.4881557351
+ -0.9328090423 -0.9679835756 -7.4086162919 7.5457512040
+ -0.4426488590 -0.4617389039 -3.3582398464 3.4540637883
+ -0.1732187794 -0.0788865425 -26.2457873171 26.2511184654
+ 0.1482219420 -0.0848929146 -3.5217815949 3.5286827483
+ -0.5853354904 1.0788897001 -35.9935875515 36.0147809272
+ 0.8851469575 0.6422808435 -13.2661100864 13.3118430891
+ 2.9575279418 5.6512980346 -60.0045630713 60.3499339036
+ 0.9842854796 1.3395105023 -16.7027382204 16.7858288486
+ 0.6379537787 1.5783690836 -16.9688211921 17.0540061756
+ 4.4887749179 9.7082344163 -124.7079171116 125.1692608297
+ 0.0794128405 -0.0819263126 -1.2615566493 1.2743717214
+ -0.1963288403 0.6798190751 -3.6757269102 3.7458172795
+ 0.0697333899 -0.0220820320 -2.7168091225 2.7213750118
+ 0.5690649074 -0.1869566519 -3.3454730816 3.4015375322
+ 0.1229644547 0.0989996875 -2.5344163359 2.7075780956
+ 0.0205047291 0.2002813479 -2.7926414384 2.9533321944
+ -0.1030085341 -0.0431512395 -1.3744105402 1.3859858965
+ -0.1813069790 0.4979489778 -5.4470758162 5.4745721420
+ -0.3114004773 0.1832494275 -16.6902322204 16.6947261722
+ 0.0798499473 0.0047498727 -1.8170390479 1.8187989106
+ 0.1123752764 -0.0375013640 -2.8089899420 2.8149491708
+ 0.0297713234 0.1585914208 -0.8882895560 0.9135511429
+ -0.2173264768 0.4812183406 -6.2050186676 6.2274439824
+ -0.4598201444 0.6748356740 -10.7145481985 10.7456214734
+ 0.1345007024 -0.0954963913 -2.7568377439 2.7652927749
+ 0.0500644429 0.0111406826 -1.1129411105 1.1228304696
+ 0.5814292396 0.7741565788 -5.4149178154 5.5025624123
+ 0.5388718031 -0.0338233938 -4.9926861258 5.0237357989
+ -0.4155216787 0.3047246221 -1.0082667455 1.1323061383
+ -0.5911232346 0.6508843750 -1.7358383522 1.9458190906
+ -0.0419479022 0.8484740076 -1.2259312628 1.5723392312
+ 0.6248766313 0.5803622552 0.0861496688 0.8571539635
+ 0.0806558156 0.0410279827 0.0468924658 0.1019193765
+ -0.4075133845 0.2773007381 0.2911415917 0.5724738285
+ -0.6648741166 0.6638582913 0.6287968934 1.1305533844
+ -0.8097003884 2.2204617177 0.2946285623 2.3817789462
+ -0.6236619638 1.5110720182 0.2939244491 1.6609287977
+ -0.7118649421 1.3469464682 0.4653209489 1.5990684333
+ -0.7602957293 1.0609004882 0.1907233836 1.3190659009
+ -1.0367463279 2.5337117520 0.8840355147 2.8768136857
+ -2.0413955209 4.3729929435 2.0610913212 5.2495657131
+ -4.9215046786 8.6404134996 4.0125697292 10.7237190080
+ -9.2582853234 16.5015364406 7.6401110485 20.4115528519
+ -24.0921137612 45.9833660033 20.9518325745 55.9832369881
+ -8.8768481738 16.3671980544 7.3936577180 20.0342022524
+ -1.9761593166 3.7211060026 1.5136728994 4.4769455183
+ -0.7821469251 1.6183065015 0.7053335059 1.9308456954
+ -11.2575609590 20.9838449988 9.7555163875 25.7341020720
+ -17.8239343459 32.4745553192 15.0632012353 39.9901099021
+ -1.2094284460 2.5237393546 1.1683126735 3.0358543746
+ -10.2851046938 20.4466658086 9.8400448477 24.9133699819
+ -3.3512748323 6.5056447034 3.1783715594 7.9785024772
+ -4.9653192453 9.0480143271 3.2742568056 10.8278213922
+ -2.2830150448 3.9763513244 1.4718567063 4.8155882002
+ -4.3446649000 9.5429401310 4.6583539228 11.4744743013
+ -0.3526883691 0.7194162203 0.4411358607 0.9252185776
+ -6.5444395572 15.8061552271 4.8145218673 17.7788496239
+ -5.8591302682 12.9252196803 4.1236798493 14.7788675672
+ -6.4215937708 16.0900927512 4.9955495347 18.0368264230
+ -0.2548565695 0.6385466363 0.1996528320 0.7294070990
+ -1.0181664930 2.4438553580 0.8838532043 2.7911088308
+ 0.0675857645 0.0924025079 0.0577872260 0.1282397072
+ -2.1368526022 0.7241858777 1.6946218467 2.9740745145
+ -2.2777761173 0.9466470054 2.2129822714 3.3168019103
+ -1.2855103914 0.3712135652 1.0772308525 1.7234391698
+ -8.0376874349 3.5935623258 7.0613622143 11.3253581664
+ -2.8915172074 1.2248457677 2.2303519210 3.8542273404
+ -2.4522539210 1.0385919817 1.7024733600 3.1607970734
+ -0.2780211001 0.1581658517 0.2388506292 0.3992014427
+ -22.4925461469 10.2233617232 20.2936327207 31.9731569583
+ -2.6976283974 1.3443045755 2.6324920098 4.0042287308
+ -11.2681919279 5.1333685475 10.0446909322 15.9448712029
+ -183.8866713079 83.9672276872 163.7229157413 260.1350495886
+ -2.4865568514 1.1739207492 2.2298682859 3.5402496343
+ -26.2017782722 12.4828782134 22.9895888235 37.0253511447
+ -121.2179686944 55.5237074224 108.1470377567 171.6755057533
+ -4.0844422313 2.4102909610 3.8585762718 6.1155753194
+ -2.7599129865 1.1939513293 2.6041401892 3.9804102025
+ -2.1564746389 1.1803712030 1.9915992141 3.1669553612
+ -0.0914358034 0.0766294642 0.0730529205 0.1398903504
+ -1.2791746956 0.5175251340 0.6626619893 1.5307648670
+ -0.6281357761 0.2348242025 0.8131949811 1.0540318006
+ -2.4942899083 1.7636268234 2.5639310865 3.9906245276
+ -0.2970518234 0.0709797781 0.3587012531 0.4913494566
+ -1.2722349677 1.4440883371 1.2691299700 2.3095764988
+ -0.5074484496 0.6589284462 1.4560458421 1.6826288673
+ -3.4557703966 3.0452181977 4.2447288396 6.2652139319
+ -0.8429742515 0.6779397370 1.1557289205 1.5891497721
+ -3.1404390417 1.6614899882 5.6335827772 6.6618046389
+ -0.1492742244 0.2086921205 0.2808429437 0.4052008627
+ -0.5653460734 0.0970967294 0.4703901811 0.7548447953
+ -0.2249208036 -0.1131349810 3.2934254754 3.3030350064
+ -0.0433161058 -0.0452370221 0.3046850586 0.3110557155
+ -0.9093547943 0.0843851375 2.6227221181 2.9313936780
+ -0.8367393072 -0.1484367713 3.2931952524 3.4039360891
+ -1.1139916351 -0.4273707966 4.8553318240 5.0017347058
+ 0.0024320757 0.0894780145 0.2269311633 0.2439466805
+ 0.0878117421 0.0438359042 0.6769843159 0.6840615853
+ -0.1761276015 -0.0636502860 0.9032949358 0.9330025814
+ -0.4814157793 -0.0888923643 1.6233910930 1.7013351906
+ -0.5332962071 0.2203804620 3.9119751300 3.9567665581
+ -0.3573920783 0.0376973268 1.5885675014 1.6346793806
+ -1.0024656210 0.5428777729 5.6357635322 5.7516053388
+ -0.8279227285 -0.1920108931 3.7925060857 3.8890752658
+ -0.5387676471 0.9060674947 7.1699737549 7.2483951543
+ -0.8164732450 0.3926861670 3.7104829089 3.8220405790
+ -0.5743116557 -0.4578284434 2.4991910150 2.6048793621
+ -0.4018911441 -0.2065417948 1.3483823333 1.4220797873
+ 0.0916378584 0.1994644453 1.3071596075 1.3327901510
+ 0.0037048161 -0.0480347711 0.7227617512 0.7376892292
+ 0.2472225001 0.2734819051 1.5228487355 1.5668374479
+ 0.0984927624 0.0154983616 0.3259157400 0.3408256050
+ 0.0476049108 0.1634691353 1.9296825998 1.9371792177
+ 0.1986755893 0.9175250148 3.0190949827 3.2983405588
+ -0.1459558069 -0.0400212191 0.5089130305 0.5489781900
+ -0.9015471907 1.2986209150 16.8981045396 16.9978084247
+ 0.0681804735 0.3654966555 3.4531980356 3.4759592691
+ 0.0764943180 0.2664035683 3.0347490072 3.0505743006
+ -0.5099928326 2.0896534263 11.9820206792 12.2097647591
+ -0.2352455660 0.0677360561 0.7320049708 0.7843721769
+ -0.6605854754 0.8149686917 7.2257893691 7.3028801805
+ -0.4334324882 -0.1773743302 15.2969330972 15.3329149003
+ 0.0015041485 -0.0815145193 6.9723704336 6.9742437675
+ -0.1138230298 0.0044020074 43.6057840713 43.6160540549
+ 0.2518904450 -0.9869680492 82.1927568139 82.2044231048
+ 0.0501381293 0.0553020191 14.4089142304 14.4097835247
+ -0.0690568925 0.5865577342 106.4971343428 106.5029050902
+ -0.1193345114 0.1019197234 36.4190125685 36.4196181282
+ -0.0129102478 -0.3865872462 21.6530227960 21.6569271219
+ -0.0729760110 -0.0254139613 100.4511327456 100.4512594298
+ 10.4248736102 -12.0203341666 14.9898271419 21.8600398218
+ 7.6175075186 -8.6632786328 10.9833903911 15.9283923215
+ 89.7530135243 -101.1322895275 130.4195980222 187.8633398240
+ 45.3751977810 -51.5656610311 65.7196672755 95.0632427273
+ 17.8556313121 -20.5145139199 25.5696119119 37.3295242942
+ 28.0394746314 -32.2625667362 41.5841960090 59.6351422192
+ 15.6617701448 -17.2836490268 22.2056060481 32.2044094418
+ 28.8504955413 -33.0398745924 42.5666751619 61.1222195292
+ 3.1126551796 -3.6722257682 4.5747917426 6.6409776274
+ 1.4263935688 -1.5658979054 2.0796191683 2.9684087906
+ 20.7669083854 -23.9418903312 30.7513324560 44.1604180700
+ 20.2411432465 -23.5021892234 31.4223996958 44.1550407294
+ 8.1809049839 -8.9123139664 11.8951575027 16.9667556825
+ 22.1152108543 -26.8032797203 35.1046210427 49.3971296170
+ 14.7501858692 -17.1764003746 22.9798149833 32.2596976033
+ 9.4701411709 -11.5895066778 15.1916999957 21.3262154959
+ 0.9169749864 -1.3702185260 1.9916609219 2.6322416535
+ 1.8350100026 -2.7582089258 4.3474471758 5.4676096166
+ 0.7672857786 -0.9007153512 0.8474202025 1.4620589572
+ 1.0537921475 -0.6945924893 1.0474275930 1.6460622600
+ 1.8156878591 0.0389159798 -0.1300569066 1.8207557920
+ 1.2250676240 0.1360114228 0.1789294748 1.2533097512
+ 3.4751271157 0.0502176322 0.2500083164 3.4872645761
+ 4.8908374206 -0.3298163409 0.5448024311 4.9341016373
+ 1.0747317288 0.0524734155 -0.0662414953 1.0870462129
+ 3.2041511587 0.4752326206 -0.0211573893 3.2392712648
+ 0.0928729774 0.0593552844 0.0960631002 0.1462072466
+ 2.1205277288 -0.8292987222 0.1144060717 2.2840627735
+ 0.9141512628 -0.8497026136 0.5421639507 1.3678774058
+ 0.6037742489 -0.5386000996 0.3530199888 0.8937204867
+ 8.2142727828 -4.0082374956 0.6369570553 9.2101199805
+ 4.1153664270 -3.4536181985 0.2321764881 5.4587522387
+ 0.8049483874 -0.4089452071 0.2027524258 0.9358239257
+ 5.5475619847 -3.1399075901 0.0877676749 6.3942011051
+ 3.0564427505 -1.7019980030 0.5403669603 3.5426142502
+ 4.0358374857 -3.0218737057 -0.0610730052 5.0421656871
+ 0.2425939634 -0.2137430663 -0.1434930893 0.3537346409
+ 4.3335056169 -2.4956320723 -0.0587967740 5.0253903721
+ 3.4743040017 -1.9597280495 0.4783083029 4.0198981258
+ 18.2140641882 -10.4892314269 0.3507985783 21.0423848840
+ 7.4914882182 -4.5060068402 -0.0002602718 8.7433387913
+ 3.4264466161 -2.3793008161 -0.0216250973 4.1739137768
+ 7.5924114544 -5.1730158213 0.0849364487 9.1886614023
+ 0.3834238733 -0.2378650697 0.0137504598 0.4514230091
+ 1.1542144408 -0.7354310185 0.2815776766 1.4042206134
+ 1.6135276398 -0.9455685151 -0.0199025018 1.9343237399
+ -0.1010857199 -0.0200607192 0.3266792094 0.3698916679
+ -0.3873967123 -0.0094329453 -0.5187567761 0.6623847604
+ 0.2024611325 -0.0744680185 -0.0082782814 0.2570686889
+ 0.3341709467 -0.1046924516 -0.2012786982 0.4273448611
+ -0.0509183502 -0.3843721096 -1.2272240226 1.2945629315
+ -0.1595273384 0.3480934914 -1.0743314004 1.1490368981
+ -0.4166471861 -0.1418910396 -1.9728680246 2.0213698789
+ 0.1319229552 0.0941094689 -1.2424304913 1.2529540231
+ -0.4442035140 -0.9688708224 -12.4110246476 12.4574893145
+ 0.9434557310 -0.9778128701 -16.3118493973 16.3757839032
+ -0.0613667592 -0.3114664786 -4.1208514902 4.1354170328
+ 0.3363756358 -0.6591290032 -12.7138434333 12.7361255585
+ -0.1321663319 0.0830542422 -1.5900095076 1.6037381225
+ 1.1456534487 -1.9792874042 -41.0760105855 41.1396250113
+ 0.2284138393 -0.5241112652 -9.9456394455 9.9620584961
+ 0.5669545108 -0.7103447515 -19.6890103298 19.7104701779
+ 0.2516332675 -0.3160137673 -3.9527777552 3.9758163652
+ 0.2393994273 -0.2100478554 -18.2461815709 18.2494946201
+ 2.3246868477 -2.0434410316 -76.5581051445 76.6207724008
+ 1.2613640425 -0.8443303375 -54.2691300892 54.2905322629
+ 0.0030697422 -0.3179250299 -8.6720179050 8.6778442192
+ 0.0051789475 -0.4765074400 -9.2016985504 9.2140296491
+ 1.4024757287 -1.2633325288 -76.2248174779 76.2483129425
+ 2.8111419107 -2.3194104887 -114.1516184858 114.2098667654
+ -0.1385103562 -0.2705555996 -9.1688097252 9.1749080111
+ 0.2384819256 -0.3172352088 -12.0444063191 12.0517515396
+ -0.9244042328 -3.0210188610 -33.8632293749 34.0102834720
+ -1.0862429221 -3.4351212801 -37.1367740935 37.3111239708
+ 0.0389070688 -0.1212766306 -1.7401826429 1.7448373597
+ -0.0587883706 -0.0140753268 -1.3098452831 1.3112394339
+ -1.3550839560 -0.5402724466 -8.6951074626 8.8177389628
+ -0.4113454769 -0.7065083199 -2.8590952915 2.9769556225
+ 0.0061476331 -0.1793044040 -0.7198487221 0.7548839847
+ -0.3569756627 -0.6243344864 -2.8573802982 2.9498012015
+ -0.2940884944 -0.1674602475 -2.9051686175 2.9248137843
+ -0.1685660664 0.0041517883 -1.7341751717 1.7423533746
+ -0.7272467332 -0.6299499648 -4.2118197729 4.3484240282
+ -0.0329154353 0.0130650702 -0.2565864257 0.2942286538
+ 0.4089374057 -0.4836298154 -37.1259156744 37.1315798485
+ 0.0347997633 -0.4700355050 -79.5772612487 79.5787794077
+ 0.4137178602 0.1225854186 -81.0436905541 81.0449594242
+ -0.3053404589 -0.4436936444 -2452.8593180044 2452.8595565928
+ -0.2052388022 -0.0248058580 -587.5494831282 587.5495360753
+ 0.1295715053 -0.1856481920 -316.0389835983 316.0390955050
+ 0.7686185491 0.8370406339 -10.6461211925 10.7066011386
+ 1.1728199028 1.3537061692 -15.3256970807 15.4300038213
+ 1.9191054757 2.3924719531 -33.0606002897 33.2025628437
+ 0.9192675676 1.1606310424 -14.9803141747 15.0533029615
+ 4.9452141167 15.0703992973 -163.3824140425 164.1505552100
+ 0.9659907987 2.5115715168 -33.0873654224 33.1969028689
+ 3.7033424590 9.2838266830 -102.4078271909 102.8945418037
+ 0.0770122252 0.1655136145 -1.3745870910 1.3866561615
+ 0.4194374404 1.0417034523 -6.2900863397 6.3895430204
+ 0.4147363577 0.7709838213 -5.7705462925 5.8365766347
+ 0.0975866736 0.0979622931 -0.7013193986 0.7148207248
+ 0.0454588085 0.0307659951 -0.6849259120 0.6871219358
+ -0.0495123813 -0.0123444208 -0.1404818639 0.1494624191
+ 0.1883583546 -0.0602926623 -0.8985642125 0.9200715836
+ 0.1686076405 -0.0710009112 -0.4019548761 0.4416303751
+ 0.0520109814 0.0015916235 -0.8923975847 0.8939133765
+ 0.0637204143 -0.1612357023 -1.3146922172 1.3260742320
+ 0.0779281710 -0.5714636889 -2.7493122180 2.8091566741
+ 0.0439294354 0.0375810140 -2.1661349825 2.1669062948
+ -0.4213796698 1.3277350070 1.0594120432 1.7500842700
+ -0.0270918955 0.1336796902 0.0578111283 0.1481430286
+ -18.1381395099 34.0780592741 15.0711286651 41.4420697843
+ -4.2585320616 8.0731608674 3.6237407092 9.8205151820
+ -3.4163237573 6.6402685027 3.0323191418 8.0597390268
+ -1.9535863870 3.9551448026 1.8718652285 4.7920298011
+ -1.1387452449 2.1903727832 1.0158207327 2.6695253180
+ -13.6242259395 25.3556884940 12.1061627288 31.2264254674
+ -8.0289499244 14.9528374098 6.8902611405 18.3173983435
+ -9.3499558154 17.2683466712 7.8341894369 21.1421851908
+ -0.4371492119 0.6368183259 0.2222719575 0.8037672778
+ -0.0014888367 0.0115907269 0.0260178932 0.0285217873
+ -3.7050452684 7.2956694762 2.9550699849 8.6998041451
+ -1.4219655840 2.7635893114 1.0361051219 3.2761144406
+ -0.2731856442 0.2307192153 0.2142035900 0.4168272189
+ -0.7131912856 0.3488804877 0.4195333488 0.8979797522
+ -0.1350824480 0.0576235354 0.2433040723 0.2841911525
+ -0.0279854746 -0.0317174736 0.0041800050 0.0425047922
+ -12.7979259610 5.4403665322 11.1898810665 17.8562485035
+ -23.3919079095 10.7209565593 20.5788366337 32.9485778508
+ -15.9778434212 7.2104858932 13.9625048538 22.4105807377
+ -0.1712086655 0.0978508822 0.1808562192 0.2675746145
+ -1.5343808169 0.4646004042 1.6593720726 2.3073130915
+ -3.4938717288 1.6976711833 2.9708491442 4.8903140739
+ -4.5733683361 2.0517639966 3.8365018362 6.3122246296
+ -1.5020263514 1.2953205136 1.4093325179 2.4331371805
+ -1.3570460210 1.0121402321 1.1608703930 2.0527108472
+ -0.5439128568 0.2754958319 0.6173006861 0.8676400672
+ -0.0787997259 0.0562867032 0.0834975241 0.1278658922
+ -0.6448689547 0.4684332815 0.7098061866 1.0672913335
+ -0.3679566814 0.3468597222 0.4777121131 0.6956383035
+ -1.3252090064 1.4385721341 1.5476006303 2.4941404143
+ -0.1960525463 -0.0200298492 0.2748948159 0.3382380161
+ 0.0181102626 0.0059422121 0.0727783723 0.0752328583
+ -0.6257010480 -0.1160846002 0.5531360418 0.8431707518
+ -0.0807580005 -0.0542648379 0.1372787589 0.1682616561
+ -0.3315180083 -0.0510656304 0.9039239300 0.9641526641
+ -0.2411810932 0.0771817712 0.6359571610 0.6845194345
+ -0.2558777652 -0.0755520882 0.7641413625 0.8093785089
+ -0.0129624564 0.0124875860 0.0776535136 0.0797138216
+ -0.0539701264 0.0138067412 0.3351698020 0.3397682400
+ -0.0335535231 -0.2352462312 0.9586761963 0.9876875404
+ 0.0171656763 -0.1088748640 0.9629407930 0.9692282328
+ -0.1923340333 0.2233105003 0.8876340032 0.9352828896
+ 0.0023074446 0.0596142734 0.0826048462 0.1018957630
+ -0.2667407962 -0.1000850767 0.8674489212 0.9130363114
+ -0.2036389911 -0.0127896776 0.3717981459 0.4241064440
+ -0.0172118602 -0.0123489043 0.3257717146 0.3264597274
+ -0.0604242240 -0.5163137428 3.0327587947 3.0769882799
+ -0.0161637278 -0.0208947537 0.2716306642 0.2729122104
+ -0.0668400553 0.1652892143 0.7385588830 0.7597745330
+ -0.6457797608 0.2644391221 2.8595169775 2.9434328416
+ -0.4552886286 0.3127620547 2.1624717122 2.2319031664
+ -0.1922409163 1.2181583511 4.7209866122 4.8794037475
+ -0.0088766257 0.0140310586 0.0257898792 0.0306721855
+ 0.0836307165 0.1568970500 1.3591674619 1.3707468660
+ -0.0308436675 0.0216349563 0.1091668745 0.1154851057
+ 0.0009362555 0.0555162942 0.5096497333 0.5126653744
+ 0.0469843537 0.4198251441 9.0977029696 9.1075056960
+ -0.1730323815 -0.0621718495 6.0055958223 6.0084096669
+ -0.1263360093 0.0699656079 5.0655644696 5.0676226546
+ 0.0923637974 -0.0777564888 0.1703957637 0.2088345252
+ 0.7804290377 -0.8339483776 1.0184247563 1.5302706831
+ 52.4774051567 -61.7762763456 82.6583052331 115.7695201473
+ 4.6148210419 -5.4685524344 7.2503792356 10.1867383414
+ 1.1065474989 -0.3163717042 0.9603051440 1.5793669052
+ 1.6828547214 0.0636614254 -0.0710677178 1.6913258692
+ 2.2891638432 -0.3074063929 0.1745132593 2.3204965964
+ 0.2568151677 0.0291980048 0.1394921093 0.2937083629
+ 1.0083417464 0.2838267953 0.3336635283 1.0993825892
+ 11.6766278151 -0.0348684348 1.0005290065 11.7194671907
+ 1.8579569754 0.0381513681 0.1276805833 1.8627297122
+ 0.6652975241 -0.0636270703 -0.0200625006 0.6686342076
+ 0.1461699341 0.0463235266 -0.0253609851 0.1554178186
+ 15.1503328564 0.5243991238 1.5274097135 15.2442853543
+ 0.5630313504 -0.1318427797 0.1660741663 0.6016373067
+ 0.4501556465 -0.1085595464 0.2642046396 0.5331316655
+ 0.3894603412 -0.5495271917 0.0134215284 0.6736762050
+ 0.1318384678 -0.0799682858 0.0188809732 0.1553473511
+ 0.2221462876 -0.1864232462 0.2259080554 0.3676099146
+ 0.0242537671 0.0236708932 0.0172100115 0.0380097474
+ 0.5385574079 -0.3535403603 -0.0241058163 0.6446828355
+ 0.9026421403 -0.5251266243 0.1233974387 1.0515454022
+ 2.9550413140 -1.9438836397 0.1502658528 3.5402729554
+ 0.8438254040 -0.4999307052 -0.0124473647 0.9808807060
+ 2.8782838805 -2.5260430970 0.1639491542 3.9462186638
+ 0.7496078018 -0.6686210140 0.1453198472 1.0244820934
+ 0.1693130287 0.1423164393 -0.0895107490 0.2386064643
+ 0.0643249069 0.0391567201 0.0478566913 0.0892255864
+ 0.0430077645 -0.0712190452 0.0294121443 0.0882433819
+ 0.2078947828 -0.0394153482 0.2312432306 0.3134441610
+ 0.1306705459 -0.0069607277 -0.1338957847 0.1872199895
+ 0.0281050287 0.0841356916 -0.0544320246 0.1040747450
+ 0.1583275020 -0.6157218994 -13.1374878290 13.1528615712
+ -0.0144168662 -0.0159204868 -0.2316451814 0.2326387715
+ 0.4200922375 -1.2326973273 -21.2830902774 21.3233541388
+ 0.3023203300 -0.2643515466 -7.1643141592 7.1769183135
+ 1.1138913243 -0.5925976649 -35.6274370119 35.6497713024
+ 1.2372384458 -0.8059406251 -39.8864671025 39.9137890607
+ -0.0348826006 -0.0395284817 -0.1475073965 0.1566452320
+ 0.0144218115 -0.0162309622 -1.0080824539 1.0083162533
+ -0.0971892775 -0.1666019158 -0.7207528189 0.7461143210
+ -0.2874233453 -0.2903345308 -0.9937746886 1.0744740345
+ -1.0217432074 -0.8447214527 -5.5650899287 5.7208163254
+ -1.3839448413 -1.0151867280 -7.7270710538 7.9153985678
+ -0.2228898572 -0.1437237077 -38.1166040782 38.1175267147
+ -0.1597924120 -0.1783510505 -21.7169635531 21.7182837416
+ -0.0489512652 0.1040264917 -139.9584652326 139.9585124528
+ -0.0276535149 0.0609483479 -336.1078382656 336.1078449292
+ -0.2535172139 0.0450566999 -268.6503669976 268.6504903942
+ -0.0284591007 0.0215851298 -129.4469314995 129.4469364275
+ 0.1522162541 0.3680729093 -5.9229360636 5.9379540966
+ 0.3986152972 1.3678858975 -17.7000163149 17.7578169637
+ 0.0000919552 -0.0235057720 -0.0022990139 0.0236181125
+ -0.1466725874 0.1257139516 -0.2022993071 0.2797174559
+ 0.1950913437 0.3055112580 -0.0474988394 0.3655870634
+ -0.0217688518 0.0341378761 0.0064260657 0.0409947779
+ -0.2944471916 0.9995728500 12.1040080801 12.1495817385
+ -0.0535212359 0.1903984365 1.4454351996 1.4655643242
+ 2.0617419914 -0.2304050650 0.0151379143 2.0793209166
+ 2.3576803312 -0.7125188354 0.0247222055 2.4670692344
+ -0.0241884536 -0.1224042096 -4.1862700156 4.1881289993
+ 0.0241001847 -0.0180904250 -0.1815370317 0.1840211299
+ 0.6147973619 -0.6651221984 -12.9514419455 12.9830740506
+ 0.0166720558 0.0052830145 -0.2566810079 0.2572761308
+ -0.7063909011 -0.4321469975 -4.5280569708 4.6052707681
+ -0.5415875138 -0.8432785737 -5.1261720503 5.2250890387
+ 0.5468319671 1.2240124379 -13.2467529342 13.3144168084
+ 0.3239188176 0.5258757342 -5.6995692981 5.7329363220
+ 0.1824528591 0.1453975062 -2.4225263417 2.4337344466
+ 0.6588525997 0.8843094610 -12.2770114291 12.3264390479
+ 0.1388894965 0.1744193449 -3.4765092023 3.4836516235
+ 0.1268352266 0.2744900977 -2.9788534728 2.9941609845
+ -0.1074236313 0.1417365979 0.0563145578 0.1865487313
+ -1.4042109591 2.7632328764 1.1001615544 3.2890150186
+ -6.1311771149 11.5570902469 5.2075578319 14.0810626858
+ -2.0899885116 3.7741843583 1.7180141729 4.6437153496
+ 0.1754192319 -0.0185950406 0.0938709464 0.1998235147
+ 0.7063323537 -0.2393699220 0.6706536917 1.0029854075
+ 0.2986471229 -0.2676584190 0.0820605663 0.4093471262
+ 0.1344824991 -0.0267584045 0.0610897993 0.1501116863
+ -0.0141930472 -0.0433124545 -0.2949227234 0.2984238999
+ -0.4601815925 -0.1507945126 -3.4508605020 3.4846727661
+ -0.0452425080 -0.0050375539 -0.2696272426 0.2734430680
+ -0.4072647320 -0.4153300351 -2.1012704750 2.1802984220
+#END
+ -0.3773276006 -0.0035634074 0.7652775387 1.2691849007
+ -0.5446789535 -0.5034794035 1.2124095440 1.7037885313
+ -1.7729860623 -0.4349949616 2.0105918140 2.8736686345
+ -1.3405797477 -1.5089964462 3.1738645851 3.8769101774
+ 0.3349919645 -1.5436713398 0.5678688997 1.6843680399
+ 2.3418936902 -2.5090616442 5.7774393255 6.7214686889
+ 2.2659563239 -0.1915851784 3.9467996506 4.5817170782
+ 1.1695997094 -0.6617446855 6.1116197691 6.2770539803
+ -0.4760784336 -0.0583095332 15.0975869273 15.1343163803
+ -1.7828014618 -1.8115890879 25.5695541137 25.6959493585
+ -0.8120594882 0.6574209185 60.4536822499 60.4699900037
+ 0.7822137528 0.8284313356 104.8782217043 104.8845032618
+ 0.2315911182 0.9950799012 79.3909447835 79.4030775465
+ 0.5854593185 0.5510673529 18.3299736663 18.3481293933
+ 0.0595009231 0.2071908421 16.7432855851 16.7452548614
+ -0.0869029838 1.1849069472 22.1257439716 22.1774762651
+ 0.6062362839 0.5966845665 23.8129668500 23.8466714006
+ 1.6952775537 4.6850127927 22.5930013102 23.1362593960
+ 0.6800303862 1.3910802750 5.7113619223 5.9191790352
+ 0.0451615453 0.1724344025 0.4439166956 0.4983121571
+ 1.3220356125 4.9690031723 2.4501884483 5.7727797380
+ -0.0668294677 2.1001489180 0.9334192609 2.4837783631
+ -0.0171773130 0.2112866614 -0.1735885955 0.3074896726
+ 0.0378885844 0.1651710853 -0.2675106845 0.3460618203
+ -2.4599230938 0.8132067262 -2.5682390624 3.6507339636
+ -0.9752776290 1.9162881756 -4.2154654848 4.7342323416
+ 0.1925326820 0.1639234914 -0.5376537732 0.6103204973
+ -0.4812701733 0.3024532480 -1.9604472420 2.0459550632
+ 0.4517492867 1.3720810089 -2.1455678169 2.5902943375
+ -1.7073442335 -3.4281928994 -11.2002503024 11.8472266241
+ 0.4076125638 0.1294755789 -3.1397028121 3.1717700832
+ 0.7818467836 0.7239631780 -17.2372606519 17.2772162925
+ 1.3377890420 0.1999734466 -14.5888205775 14.6814067901
+ 0.5011116407 0.5469720730 -13.8288881712 13.8806062966
+ 4.5991443314 -0.1238020721 -172.6182463623 172.6821045288
+ 1.1596512493 0.4808970387 -40.0812453598 40.1118764603
+ -0.3712487524 0.6007167048 -18.5666087372 18.5805577414
+ -0.1468947995 1.0098525127 -24.8390949553 24.8604404257
+ -0.2884569274 -0.5346003261 -51.4061521045 51.4099305473
+ -0.2612498816 -0.2138105515 -33.6694119901 33.6713936450
+ -0.1026628102 -0.7260220557 -11.5421821875 11.5662914157
+ -0.1081140465 0.2406783713 -0.1528519849 0.5801891198
+ 2.7021321267 -1.4273498803 -2.0657747477 3.7215469874
+ 19.6870335013 -4.4091465853 2.8122116390 20.3913890304
+ 20.6346371264 -5.6606006227 2.6977194149 21.5868277098
+ 67.6852221801 -16.4248606334 11.8246423182 70.6463515982
+ 43.2610905302 -10.1864075675 8.2120715391 45.2062310146
+ 36.8260403682 -8.0225099735 6.1818912377 38.2049275164
+ 51.0430870591 -9.5307090744 7.7887457947 52.5063347876
+ -4.4689679303 6.1173318097 1.7893441406 7.7855414115
+ 0.3849843917 1.2810482244 0.3027569580 1.3785641427
+ -0.2482967209 -0.1745033165 -0.8838070049 0.9448265851
+ -0.2207159517 -0.9475748637 -0.9380225690 1.3586683843
+ 0.4695018166 -0.9218445139 -0.4884002193 1.1524946086
+ 0.3351237029 -1.6977575212 -2.1647514023 2.7749444888
+ 0.5794776203 -0.7242348989 0.2490535016 0.9704730458
+ 0.9798756434 -0.6854506849 -0.1732637481 1.2163465909
+ 2.1531232170 -1.5641386767 -2.6268367995 3.8555846176
+ 0.6886420320 -2.6818319056 -1.2305217018 3.1719054951
+ 1.1952022500 -17.6296200097 -13.0220400583 21.9505129136
+ -19.9170893757 21.5710491206 -5.6537645944 29.8995843322
+ -1.1663923018 1.3446759167 -0.2125448448 1.7981322028
+ -64.6129601636 70.1221657938 -19.0503517616 97.2362490985
+ -1.6297970381 1.7505741027 -0.6105473043 2.4724473443
+ -8.8443466430 9.0772054517 -2.9664310118 13.0168090978
+ -16.7547229489 16.6238580312 -2.9673061676 23.8066934583
+ -6.4395912742 6.7354150445 -0.3732755523 9.3270019847
+ -29.5663543990 34.4289710195 -0.4712791256 45.3846333212
+ -7.0026640062 6.8332958625 -0.0323083084 9.7852827828
+ -0.5160601361 0.5463970964 7.5651035990 7.6036267727
+ 0.0818407888 0.4887353909 689.3621917624 689.3623839981
+ 15.9799133713 -247.0702726831 -212.0241536205 325.9665616964
+ 12.8775332432 -200.7551408801 -175.4355063244 266.9212518368
+ -0.0778491871 -0.6227780339 0.9137430432 1.2134579862
+ 0.0097077327 0.8699720401 0.2905268999 0.9278099240
+ -0.2719274384 0.2067029107 2.6116396007 2.6375768830
+ -0.0530143006 -0.3126479798 5.4226854584 5.4337424158
+ -0.0492935752 -0.0400550659 3.4768164153 3.4801963214
+ -0.0592040606 -0.3551603636 3.7965915775 3.8454378907
+ 0.4114174709 -0.4090859694 1.9534472886 2.0967147959
+ 0.4626647157 1.5345667185 -0.8265255686 1.8087503845
+ -0.4203285697 0.6507323560 4.5831979326 4.6503023321
+ 0.0932781675 0.6076712805 1.5693791233 1.6912704749
+ -0.4912648161 0.2943307643 3.6401299737 3.6875463019
+ 0.2863648772 0.7337713678 3.8853459531 3.9668398282
+ 0.0119714996 -0.1277040305 21.8282528114 21.8488412557
+ 0.2371173318 -0.3966546368 12.5012487643 12.5105659337
+ 0.2122208600 -0.7462322868 112.0712586905 112.0778714795
+ 0.8283616868 0.0610223078 180.2710138639 180.2753758507
+ -1.5219762628 0.4400681536 -1.6035869040 2.4422027901
+ -0.7763762152 0.2383100159 -0.5307461402 0.9801647522
+ 0.1136773449 -0.1524238345 -0.1507610107 0.2799361201
+ -0.5895337737 -0.7374231470 1.9189471348 2.3359137097
+ -1.2444122168 -1.7377363979 1.7808539345 2.7855358685
+ -0.2306141334 -2.9926376032 3.0652413831 4.3183802981
+ -0.3634761508 -0.6473512407 0.9247652364 1.1940892213
+ -0.2340844617 -1.0049662810 1.0332986916 1.4602941304
+ -0.5638349097 -1.6214229603 0.8702715843 1.9246544760
+ 0.4199693916 -0.8249355012 0.7482099056 1.2885464268
+ 0.1355117844 -0.3328258963 0.3836778630 0.5256854797
+ 1.1304644171 -3.3561726957 3.2693734646 4.8198182344
+ 1.0174932855 -0.8117630828 1.2991020061 1.8442878560
+ 0.0553320329 -0.0251359538 0.0291223782 0.1549882184
+ 0.1255499312 -0.0283784874 0.6479580600 0.6606192332
+ 0.8584821990 -0.3704022430 1.9267112449 2.1461326878
+ 0.5185650370 -0.1274740807 0.9330677916 1.0840916140
+ 0.6667619101 -0.2284772283 3.6519477242 3.7219585239
+ 0.5038944918 -0.2247993155 1.2550830416 1.3710134326
+ 1.1501303588 -0.7389848436 3.2318738456 3.5091176947
+ 1.6830333550 0.0901492381 4.8546241625 5.2240688838
+ 0.9031802636 -0.7755383620 5.3948637534 5.6039754677
+ 0.8386942677 -0.2689644097 3.9254172861 4.0254354527
+ 0.8065816243 -0.2246315731 2.5739622909 2.7103126978
+ 0.2917981258 0.1372547341 2.9674816022 2.9882121499
+ 0.3274833626 -0.2844958353 2.9694785352 3.0042413000
+ 1.2029940276 -2.3497849825 18.2799416953 18.4695682808
+ 0.0146220186 -0.0571855490 0.5306980901 0.5339704611
+ -0.1512027206 -1.2750721955 4.9150035299 5.0818708022
+ -0.1962004342 -0.8685252261 3.8810656607 3.9843419942
+ 0.0852167571 -1.0505193373 5.6633060575 5.7622363765
+ 0.1169577085 -0.6134550146 5.0588910110 5.0992023108
+ -0.1273316995 -0.5000800976 3.1422556152 3.1874038968
+ -0.1413033648 -0.7976100657 6.3974803104 6.4500684155
+ -1.2534024192 -0.9573804288 19.8710646401 19.9556908331
+ 0.1091563619 -0.2858633972 4.2382812158 4.2516044551
+ -0.5659549925 0.0054081561 4.6577228707 4.6919842968
+ -0.3713094991 -0.5069248334 5.6908732337 5.7254590814
+ -0.2297489707 -0.2534956258 19.7727398799 19.7761919177
+ -0.5343674947 -0.6462133834 15.7445084061 15.7668222957
+ -0.5413534135 -0.7526342161 15.1700428089 15.1983459825
+ -1.3570756562 -0.0870281965 43.3554683942 43.3770140479
+ -3.2259835197 -0.7289345674 70.5117074352 70.5893666248
+ -0.8390115061 -0.1152039223 83.7292761710 83.7388156768
+ -0.0293753038 0.0764334542 11.4209079676 11.4220542623
+ -0.0414237761 0.0826263250 11.8103340249 11.8106956958
+ 0.1069958165 0.1645776194 22.2311274297 22.2319940782
+ -0.1552972700 0.0685792519 7.4964908257 7.4997116505
+ -0.6289685435 -0.4244054304 19.8440980400 19.8590893095
+ -0.0677524283 1.7911351872 227.8419232441 227.8490162871
+ -0.1327177017 0.4370430023 49.9683434275 49.9728687031
+ 0.2652728237 0.3755960177 100.9679905037 100.9691340370
+ 0.2105703134 0.9941277022 138.8473541260 138.8542427445
+ 0.4754733922 0.3297399436 59.4899088429 59.4928864428
+ 0.1420207859 -0.0958006715 71.0527847675 71.0531283665
+ 0.6433534045 0.5938675313 36.4880510365 36.4988209463
+ 0.3606886477 0.3879555399 15.3730792521 15.3828362560
+ 0.0192950163 0.1603903364 3.8072160299 3.8131969580
+ 2.0085665575 0.6267194794 37.6059328758 37.6650074229
+ 0.6180102337 0.8111334120 16.6028061283 16.6340928636
+ -0.0498316661 0.5248323320 7.2893307476 7.3083701958
+ -0.1593621590 1.7038758834 17.6865150187 17.7939370184
+ -0.5933039801 1.5683283659 18.5940792779 18.6761645714
+ -0.0836606495 0.3889792111 2.0030923846 2.0469887193
+ 0.2675659977 0.5958097195 2.4216086355 2.5120208904
+ 0.1203384143 0.1733850317 0.5575146861 0.6122467748
+ -0.6012615661 0.6974912601 3.5383686514 3.6588990184
+ -0.4163343752 2.1266844624 4.2051777075 4.7327709063
+ -0.1161504236 -0.0262206927 0.3304581052 0.3779692975
+ -0.3269613554 0.3253761059 0.5387071566 0.7228129244
+ -0.3912778925 1.2318264117 2.9614604880 3.3646832707
+ -0.1738989784 0.2409542799 1.1436306823 1.1898196259
+ 0.3108147529 1.0340133229 2.1899575672 2.4416599904
+ 0.3035766732 0.6587370194 1.5742819122 1.7333368964
+ -2.1064185428 3.4046420102 6.1351283177 7.3857116354
+ -0.9481610574 1.3278372553 2.5537942626 3.0337280840
+ -0.1179881886 0.2727116640 0.2683892959 0.4240347432
+ 0.1847475193 0.6471035016 0.4623724166 0.8283372648
+ -0.3613950445 1.0494115594 0.0234224555 1.1188831018
+ 0.1531449454 0.4368383797 -0.5654918784 1.1903167619
+ -1.3370887783 0.6751689030 0.0567954040 1.7690893000
+ -0.2227000652 0.0430398189 0.2004443790 0.3333248851
+ -0.6462236211 -0.0737978549 -0.4490662812 0.8026153510
+ -0.9303179273 -0.1570989819 -0.7126588599 1.1906023566
+ -0.0103443834 -0.0316268556 -0.0497255211 0.1518541294
+ -0.7571437411 -0.1437421343 -0.4391410012 0.8979159481
+ -1.0072428114 -0.0101347329 -0.6465978198 1.1969668059
+ -1.9163828986 -0.0314693108 -1.4571398756 2.4076483025
+ -0.8948085496 -0.0628236632 -0.9959683227 1.3476133859
+ -0.3240259081 0.0539814518 -0.9475243253 1.0125161323
+ -0.4996988955 -0.0268506902 -0.8192005080 0.9700459798
+ -1.3468410932 0.4045841456 -2.7997654540 3.1362135838
+ -0.0446785767 0.2246261498 -2.0932325505 2.1103448481
+ -0.0100199147 -0.0489996929 -0.4155080825 0.4411667713
+ -0.0400533430 0.0290265618 -0.3631447132 0.3921742970
+ -0.0345160533 0.4786206676 -0.7834933404 0.9293065698
+ -0.0524442567 0.0170627509 -0.4136132656 0.4172738562
+ -0.3130397011 0.0756755439 -0.7760274587 0.8517153539
+ 0.0499793020 0.0080225293 -0.1289662026 0.1966579719
+ -0.4446832828 0.2612749579 -1.6283881963 1.7138073779
+ -0.2906742129 0.6637316882 -1.5625154511 1.7279946678
+ 0.1681529865 0.0351436982 -0.0534482071 0.1799089137
+ -0.0200956237 0.0149993873 0.0163384059 0.0299292369
+ 0.3950283454 2.3115588939 -4.5464401096 5.1397611825
+ 0.0158266731 -0.0599104258 -0.6458847335 0.6636916578
+ 0.3029865837 1.0208648595 -1.8604247039 2.1436291680
+ 0.0033013432 0.1260440211 -0.2940785798 0.3199690691
+ 0.4209942831 -0.4847993148 -1.5624870827 1.6950257315
+ 0.0362205133 -0.5679786693 -1.4637106954 1.5766548383
+ -1.1333819931 -1.8286123187 -5.1188959505 5.5543634461
+ -1.1799530016 -3.6379757208 -14.1780355376 14.6932475500
+ -0.2732553516 -0.9206913070 -1.6436526449 1.9087731064
+ -0.0318626209 -0.1409403036 -0.2742619178 0.3399687931
+ -0.8504067750 -2.2765119647 -9.0854334082 9.4058640437
+ -0.0253696383 -0.8997822245 -3.9421744031 4.0436358262
+ -0.1566434361 -2.0468379698 -7.0330598196 7.3278573302
+ -0.0446918987 -0.4912719089 -1.9455198039 2.0119325403
+ -0.0899479829 -0.5185309148 -1.9006520207 1.9770996025
+ 0.1701662750 -0.8938611812 -6.5782412012 6.6423400590
+ 2.2156925100 -1.1811331649 -15.3789749470 15.5832191494
+ 1.3937921439 0.0581168697 -9.7132217776 9.8138774802
+ -0.0290245825 -0.6904772028 -1.3017642683 1.4804293935
+ 0.3951039566 0.4232181837 -2.2778090208 2.3543819757
+ 3.1159539078 0.6087198474 -21.6161600698 21.8480682160
+ 0.4596721895 0.4975089985 -2.6961454672 2.7834320345
+ 0.5705249944 1.1023069319 -9.0112709519 9.0974206946
+ 0.1562140737 0.0048918685 -2.0883298026 2.0988158367
+ 0.7374823187 0.4157815893 -7.8996423543 7.9601975344
+ 1.4162079806 0.3628831173 -78.3177273550 78.3370061914
+ 0.2665729808 0.2000900470 -15.9260031285 15.9301020906
+ 0.8122056583 0.8537351483 -29.9721796362 30.0100464122
+ 0.5207151271 0.3216495858 -16.5395848482 16.5514938733
+ -0.2134654044 1.8335491515 -69.0621323194 69.0931862216
+ -0.1986371357 0.1530482746 -15.2842176680 15.2869117219
+ -0.5588498869 3.0217653963 -79.3177510110 79.3828180183
+ 0.1045629393 0.7302732049 -19.1755649754 19.1902580565
+ -0.2589443850 0.1994443646 -6.6780104353 6.6874609089
+ -0.5450089012 0.2823925459 -19.9759740673 19.9858900221
+ 0.2786162934 0.1037757683 -11.4521449448 11.4568538470
+ -0.4345415712 0.0293149057 -42.8534177923 42.8558581994
+ -0.3221198811 -0.1996512797 -58.4924674620 58.4938616559
+ -1.2264674226 0.2590665438 -91.4277355037 91.4364349531
+ -0.0625556034 0.0887467373 -2.8940467789 2.8960828623
+ -0.2066754249 0.0573529217 -10.0776131896 10.0798954205
+ -0.3370850761 -0.4136160457 -79.8339858445 79.8358909275
+ -0.2056329774 -0.1805714070 -116.0288424789 116.0292491475
+ -0.3414961117 -0.0975004589 -28.9511072406 28.9532854162
+ -0.5550108254 -0.0426208102 -56.9369855321 56.9397064888
+ -1.1735520640 -0.1389267425 -148.9946461879 148.9993979771
+ -1.0226018318 -1.1460597176 -297.9975582888 298.0019321898
+ 0.2123725409 -0.0431496791 -280.4291362371 280.4296543799
+ 0.4426038941 -0.4470475345 -205.4413733054 205.4423838820
+ 0.6710585950 -0.5918042329 -80.5846654414 80.5897532939
+ -0.1281676958 0.1689990628 -59.2098027890 59.2103471847
+ 0.1605004680 -0.0661347139 -6.9051954908 6.9087870680
+ -0.3044405851 0.2342631000 -7.7938950462 7.8046039647
+ -1.0317556688 -0.1415561528 -8.4780864555 8.5429495864
+ 0.0987001436 0.0383455251 -1.4598553462 1.4703297298
+ -0.5148629480 -0.3292604062 -0.6588417233 0.9094220536
+ -0.6019820901 -0.0554861169 -1.7662466578 1.8720491946
+ 0.2109476851 0.2659957954 -12.2312706179 12.2367770839
+ -0.0088221488 0.5964075103 -34.1415574883 34.1470526877
+ -0.2653940920 0.2458566022 -84.6444291252 84.6452022351
+ 0.0341032071 -0.2188553297 -17.1425572537 17.1445562691
+ 0.4116783307 0.5079472913 -89.1241965344 89.1267040633
+ -0.1789283800 -0.2042469200 -362.0020001569 362.0033213129
+ 0.0533183150 0.0957715146 -149.0343064122 149.0344120751
+ -0.0403189859 0.0282046067 -2.5497106342 2.5501853734
+ 0.5459875494 0.2115737124 -278.5421919841 278.5428074482
+ 0.1259446917 0.0437063953 -0.3487808852 0.3733904394
+ 0.2934105515 -0.0844803077 -0.3791098239 0.5063898870
+ 0.3722183745 -0.0886551029 -0.2049824848 0.4559647460
+ 0.4100373542 -0.0001676003 0.0157605157 0.4334268550
+ 0.6149650203 -0.3188217535 -0.4189112508 0.8214594985
+ 6.5613441776 -1.0603439832 0.9861778610 6.7373403145
+ 1.4306959390 -0.4123312413 -0.0956458146 1.4985112042
+ 10.0603524379 -2.2084708591 -0.3067730171 10.3162873823
+ 8.3059882811 -1.4607329465 0.2074237651 8.4371610432
+ 6.4736882502 -1.5906434602 0.4386644183 6.6821173617
+ 26.5884901606 -6.4250504641 1.6176084251 27.4019199928
+ 48.2673607754 -11.4080363186 2.5237675091 49.6702486716
+ 20.7489325030 -4.7561618302 1.2425031411 21.3237559827
+ 0.9410337579 -0.1591324525 0.0429388083 0.9553593105
+ 5.6305049108 -1.6860418208 0.9003721338 5.9477283341
+ 12.6643919120 -2.7114027244 1.5455442490 13.0440298238
+ 7.4431764164 -2.0320651059 0.4767204845 7.7302927617
+ 0.0036708857 -0.0064160514 0.0250867011 0.0261530819
+ 14.5129401321 -2.6600164843 2.1452213512 14.9104853511
+ 4.0536525248 -1.0463029943 0.4154959664 4.2070756644
+ 6.1037315692 -1.2898743381 1.2341699922 6.3594410483
+ 6.5458826863 -1.4161470052 1.0483969299 6.7803147707
+ -13.2644048612 17.2711828125 6.3534162120 22.6853161629
+ -2.0714960274 2.8444595719 1.3808351511 3.7826223109
+ -0.7261753877 1.1648771428 0.8748380904 1.6337352665
+ 0.0391565256 0.1742775426 -0.0049826072 0.1786916947
+ -0.2140181633 0.6275133806 -0.3680412709 0.7583081129
+ -0.1921183366 0.0547771443 0.1258220043 0.2360956746
+ 0.1687049423 0.0743090983 -0.0735471535 0.1984751457
+ 0.5000218320 -0.0075025749 -0.1335870800 0.5176133973
+ -0.2300571239 0.3819216708 -0.3132106067 0.5624687653
+ 2.9440732410 0.8947998230 -1.2794033785 3.3324325914
+ 0.9937614455 0.2967329590 -0.4597338449 1.1429992356
+ 0.7065605083 0.1629711890 -0.4317347975 0.8553724806
+ 0.1707574284 0.0278235867 -0.4333795619 0.4870625021
+ 1.1973717772 -0.7600615686 -0.7439503300 1.6075865884
+ 0.8359418788 -0.5625770196 -0.8134476854 1.3858678958
+ -0.0697014508 -0.4056307172 -0.5036683592 0.6652489549
+ 0.3149903891 -0.6669573469 -0.7430803202 1.1575233778
+ 0.2062652678 -0.1562811037 0.1237283020 0.3189947048
+ 1.1867523987 -1.4243401358 -1.4250900329 2.3425386795
+ 0.0232098959 -0.0412317346 -0.0400219392 0.0619718551
+ -0.1416165154 -0.0236439867 -0.1147723922 0.1838123433
+ -0.3943489253 -0.7261290114 -0.8434751563 1.1889930783
+ 0.2204875303 -0.6161922288 -0.3592589013 0.7595092869
+ 0.2982079616 -0.9603615351 -1.0080029963 1.4306544279
+ 0.0027223480 -0.4929773465 -0.7792509108 0.9326016525
+ 0.0085573715 -0.2485617926 -0.0580516164 0.2553941728
+ 0.0088365369 -0.3163862176 -0.2432336547 0.3991753172
+ -0.0824005405 -1.2753841439 -0.4496568458 1.6487503229
+ 1.3535358097 -0.5879449624 -0.1526753323 1.5635501860
+ 0.1465442780 0.0277169446 -0.0630071219 0.2137595302
+ 0.1776168652 -0.0621607304 -0.0112401598 0.1885153798
+ 0.1173856724 -0.1240438129 0.0338371880 0.1741011743
+ 0.4256347410 -0.7202438794 0.4119278528 0.9325238520
+ 13.2200964782 -9.0250768558 3.8595863833 16.4662943609
+ 1.5116850122 -1.2876341107 0.3979386826 2.0300315661
+ -0.0749168432 -0.5683463760 -0.0738764948 0.5946155547
+ 1.3730153997 -0.2123210524 -0.0780850025 1.3985094099
+ 0.2957988557 -0.7914060720 -0.4952130848 0.9892099464
+ -0.0479478545 -0.0907818507 0.0137731950 0.1738097436
+ -0.2636009071 -1.4836117632 -1.4348757232 2.0854106138
+ -0.0826712295 -0.9958623885 -0.7784860175 1.2744005231
+ 0.1099019789 -0.5238416567 -0.6136109205 0.8261275161
+ 0.0288870947 -1.5676136156 -1.0795809493 1.9087225370
+ 0.0553690588 -2.9256870069 -2.4537850123 3.8506378747
+ -0.1259098870 -0.7908125316 -0.3457831290 0.8833365820
+ -85.8291394962 120.6691109284 41.7111805951 153.8432375716
+ -38.6748404426 55.4938508197 19.6416429621 70.4352495566
+ -1.0258275881 1.4691271206 0.5365883003 1.8704501440
+ -22.2818748249 32.3032224583 11.1367731167 40.7922522344
+ -10.1147145613 14.0478625627 4.7759707469 17.9577078047
+ -2.6041382969 3.1577378057 1.2069088319 4.2695378008
+ -0.6661685009 1.0567324697 0.2367147731 1.2790534207
+ -2.0867908106 2.9357221870 1.1274289313 3.7767362136
+ -1.1557602296 1.9731823183 0.7661127566 2.4157066689
+ -2.7920894522 2.0055283710 -0.3651289191 3.4926926737
+ -2.1129648896 2.3295779555 -0.5145492781 3.2248962766
+ -2.5604672046 2.5023919031 -0.4481637341 3.6417645771
+ -1.3529271363 1.4719850198 -0.3208717235 2.0841668258
+ -2.8879784356 2.5969839699 -0.8922071114 3.9875128211
+ -1.5778636943 2.1253855930 -0.5959202801 2.7168950149
+ -2.1177876811 2.3046352523 -0.0244152769 3.1686914293
+ -6.0052011953 6.1994040009 -1.7791222260 8.8263224628
+ -2.8908627022 3.6890366969 -0.9261368090 4.7794652513
+ -24.7014745793 26.7211782533 -7.3481589313 37.1238421142
+ -5.1594991419 5.9538194068 -1.6223061545 8.0436480643
+ -1.7318211771 1.8575595047 -0.6583273572 2.6272812177
+ -15.0078425636 15.3258311694 -3.5917822580 21.7494096246
+ -12.7455325581 13.8340097786 -3.5041041299 19.1344362938
+ -29.8080231837 31.7970432483 -8.7983628920 44.4634779883
+ -4.5946569911 4.8934784557 -1.2393145395 6.8273263123
+ -4.4957122968 4.7323913482 -1.3609717477 6.6692338998
+ -7.5877494018 7.9881536806 -2.1907014737 11.2340194472
+ -9.4667513688 8.7925199145 -2.0737152720 13.0948752718
+ -23.8320354128 22.6093441055 -4.9846996407 33.2397108154
+ -2.6129686199 2.5414019352 -0.3178507182 3.6615348788
+ -4.8736916432 5.4250055803 -0.1388859272 7.2953632442
+ -15.2242919979 19.6708011486 0.1499671958 24.8922141526
+ -5.4924766527 6.4381890125 0.1391801255 8.4650120161
+ -1.2811582999 1.4867511158 -0.0633064901 1.9685738407
+ -7.6830958929 8.5270486435 0.1548209447 11.4797199608
+ -5.2423987001 6.0855417737 0.0248643554 8.0334712815
+ -3.1287649943 3.2068328616 0.0437026588 4.4826707552
+ -39.8036464997 42.8029235674 -1.5102044707 58.4698275858
+ -6.6084900800 7.0398950716 0.5110021636 9.6691978451
+ -5.9171814016 6.1291719420 0.4938995115 8.5336815714
+ -0.4651041086 0.4913174083 0.2248577837 0.7129345344
+ -0.4286293407 0.4148289541 0.0711358139 0.6007216301
+ -1.1714410137 1.2067835177 0.1980938901 1.6992120178
+ -0.3217517297 0.4826575601 0.0256562646 0.5971771301
+ -0.0155156700 0.5262732356 0.2644735616 0.6055000447
+ -0.0816341353 0.0734882063 0.3139535930 0.3607094287
+ 0.0680709474 0.0069337426 0.1761810222 0.2349495013
+ 0.0157206351 0.1067378219 0.6868462089 0.7091386328
+ 0.0842363305 -0.2690767734 1.6855662731 1.9496108133
+ -0.1377626065 0.8603458951 12.8316927869 12.8955149240
+ -0.4233843042 0.3523090256 8.6878179120 8.7558179387
+ 0.0700814411 0.1818757449 0.8844474187 0.9163608549
+ -0.0341771244 0.4656881417 3.9728721969 4.0026524704
+ -0.7083058595 0.3416893431 3.8453617855 3.9274337479
+ -0.3157130498 -0.1082932065 4.1377434588 4.1535289651
+ -0.1669642179 0.3093662036 7.4848347459 7.4943855957
+ -0.0353224506 0.3141193365 0.9976028549 1.0557508580
+ -0.6335976968 0.2105618635 9.2988783239 9.3238618720
+ -0.0261020104 0.1786644748 3.8068552313 3.8111348784
+ 0.0185453886 -0.0496757363 32.7896177635 32.7896606370
+ 0.7840460324 0.7185679238 374.1039198041 374.1066081098
+ 5.2436795406 -79.5373842982 -69.5070629669 105.7588906815
+ 15.7496035636 -245.6507391717 -213.2813166508 325.7012053709
+ 0.6943729057 -12.9308503854 -9.9256738887 16.3158832910
+ -0.1020618441 -1.2972708294 -0.9671528814 1.6213306019
+ 0.1014503134 -2.1130369388 -2.1316967495 3.0064643832
+ 0.1836679927 -1.9717166684 -1.4408509463 2.4529434943
+ 2.0501482498 -37.8604534139 -27.9227342100 47.0883807972
+ -0.5509308645 0.0620311905 45.2413159345 45.2449281131
+ -0.1900094675 -0.2197301967 33.7953724811 33.7969091172
+ 0.0624496832 -0.2122794969 8.9957815790 8.9995849098
+ 0.0766310062 0.0585990253 3.5377034194 3.5417695331
+ 0.0439131849 0.1087149157 4.8065439083 4.8099991090
+ -0.1020302218 -0.2111794524 -0.5474133296 0.6116764387
+ 0.3377530812 0.0953990750 -0.1506246623 0.4066272263
+ 0.2886390650 0.0743219511 1.0543363382 1.1045094663
+ -0.0004253055 0.4803871654 6.0321688973 6.0528764567
+ -0.3342579506 -0.1352304396 5.7835021958 5.7964120870
+ 0.1027569632 0.4342172264 6.0777123931 6.0956682416
+ -0.8968050360 2.9022658847 61.8616105969 61.9363039902
+ -0.2040357177 0.5718622690 8.1330813788 8.1569080862
+ -0.8029489273 1.0607630292 13.9699714813 14.0338707475
+ 0.2660054483 0.6432492588 7.5677534660 7.6009802535
+ 0.4494737352 0.6138376589 6.5487760986 6.6112731497
+ 0.1057973042 -0.1601867267 1.3001313407 1.3216180026
+ 0.0302726981 -0.0387092452 2.1549924555 2.1600664597
+ -0.0374954189 0.1759403162 0.4665792010 0.5191693722
+ -0.2044957083 -0.4418403226 2.0877206168 2.1482780369
+ 0.3194363348 -0.9476959564 3.2134856269 3.4015140793
+ -0.0369144097 -0.3345082790 3.1474807971 3.1684970594
+ 0.0100441640 0.2094015396 -0.0680426973 0.2608821258
+ -0.4312922598 -0.3023655494 -2.0478062267 2.3138150457
+ -0.4647066822 0.5095917152 -0.0101370798 1.1655601923
+ 0.0186217192 -0.1069847117 0.0543954222 0.1850166042
+ -0.0397460979 0.5685988686 -1.0585929138 1.2996708594
+ 0.0537334585 0.2989363479 -0.0561415628 0.3389423028
+ -0.1109767739 -0.0075875930 -0.5798459836 0.6066914912
+ -0.9717975565 -0.4677922007 -7.8181178668 7.8933938707
+ 0.0040320618 -1.1946762747 -10.1932159157 10.2748508176
+ 0.2443094882 -0.1950667800 -5.1866291929 5.1979169235
+ -0.1126540943 0.1240916167 -1.7415831632 1.7551869911
+ -0.2652285108 -0.1368087647 -1.8732455852 1.9019967425
+ -0.1919458674 0.0112908612 -3.5293734089 3.5373616078
+ -0.0297085277 0.3437828290 -1.5599893070 1.6037816725
+ -0.0405236969 0.0089659388 -1.1806089681 1.2803128733
+ -0.0425778149 -0.7652040090 11.1731327033 11.2002555433
+ -0.0693869046 -0.5649441547 37.2352823658 37.2429036229
+ 0.1933418206 -0.7389019907 22.2042594238 22.2178300821
+ 0.3247443580 -1.1457701126 51.3881953583 51.4105792811
+ 0.0383311292 -0.6699128963 14.4493004863 14.4655458553
+ -0.0936560391 0.0025439323 7.4488056917 7.4507022450
+ -0.0346486105 0.0040284153 8.3261981669 8.3274409306
+ -0.4522960145 -1.7146317040 61.6411971393 61.6738559692
+ 0.0465973593 -0.1052138173 9.7476673207 9.7493455801
+ -0.0010822535 -0.0663460492 2.5655797254 2.5664376667
+ 0.6691394486 -1.8041596385 80.5377019232 80.5606862600
+ -0.2833314723 0.3213355914 10.4213671219 10.4724026737
+ 0.2089467865 0.2041883147 5.5890009074 5.5983714199
+ -0.8310057068 0.7002139818 9.3048240761 9.4149334456
+ -0.1571438986 0.2159305988 2.6830619301 2.6999298758
+ -0.6804365183 0.9213319795 4.8999493379 5.0339675973
+ -0.0516548939 -0.2832496792 1.8124067549 1.8404338182
+ -0.3451969790 -0.0771812138 0.6807859483 0.7671945004
+ -0.1135972123 -0.0348760178 0.4548493327 0.4701154950
+ -0.0951895887 0.5961128749 0.9335049788 1.1204119545
+ 0.1198729587 -0.1012681537 0.0189937701 0.2108679999
+ -0.1628888631 -0.1817810100 12.5825131527 12.6198084354
+ -0.0555234320 0.0231884875 0.0102478775 0.1523330606
+ -0.2432644585 0.7448322403 0.7312597906 1.0808206740
+ 0.1034315550 0.1545225259 37.4725166848 37.4732379409
+ -0.3138950563 0.3299293871 42.9433071151 42.9459484617
+ 0.6152425695 -0.7568190489 114.6387941929 114.6429432302
+ 0.0776336410 -0.1600681133 16.6586538178 16.6596037109
+ -0.5214687226 -0.0470156742 28.9223792325 28.9274547853
+ -0.0179681094 0.0044421945 0.1643469250 0.1653859057
+ 0.0175381219 0.3698007912 1.2063201838 1.2618512578
+ -0.1225744658 -0.0035273418 -0.0109908167 0.1231167732
+ -0.5489416693 -0.2546478575 0.1206554634 0.6170415127
+ 0.0808850807 0.1688832067 0.2557197025 0.3169487340
+ -0.0112982429 -0.0064633013 -0.0085082309 0.0155503874
+ -0.0125240368 -0.0007090654 -0.0055070306 0.0136996955
+ -1.0420810337 -0.7142049963 0.6177186540 1.4062709529
+ -0.0069546897 0.0024412495 0.0169825187 0.0185130589
+ 0.4414376456 -0.4769657948 1.2148548752 1.3777648319
+ 0.0298601822 0.0001931235 0.0287652231 0.0414621012
+ -0.0322240546 -0.1282613758 0.5921079933 0.6066969968
+ 0.4403239864 -0.0682753512 0.5448189876 0.7038284350
+ 0.1925950471 -0.0373537573 0.4092914987 0.4538806961
+ 0.4769748452 0.0621252995 1.0146589390 1.1228968422
+ 0.8626445068 0.0548686696 1.4565213360 1.6937002445
+ 0.9089542202 -1.0599496741 4.5167791445 4.7538048293
+ 0.0739866983 -0.2009601466 0.7423567704 0.7726270683
+ 0.0415823136 -0.2499829082 0.4907851665 0.5523500908
+ -0.0438485575 -0.0932595714 0.6227726738 0.6312415123
+ -0.0079756123 -0.2902803432 3.3875432657 3.3999670094
+ -0.3341758526 -0.2968760756 7.0451052767 7.0592717234
+ -0.6928832356 -0.6928977167 18.7736552426 18.7992107705
+ 0.7200953589 1.3958664472 242.5599137400 242.5649989880
+ 0.3825715089 0.6936866598 108.7522170309 108.7551022770
+ 0.0482426622 0.2886465659 22.7716903160 22.7735707354
+ 0.2358748287 0.5555579255 37.7602797937 37.7651030932
+ 0.3025357839 0.2894925375 21.2397190292 21.2438461270
+ 0.0106077962 -0.0091930517 2.0984109556 2.0984579043
+ 0.3256805279 0.2424260492 14.6770166515 14.6826310989
+ 0.2384105293 0.3461494073 15.4556796095 15.4613935718
+ 0.3141915450 0.3009569854 2.6395816489 2.6751976965
+ -0.0096892232 0.0414549415 0.2465343072 0.2501830486
+ 0.2792596103 1.0120406442 18.2584611918 18.3126723304
+ 0.1594139799 0.3094360428 5.3164798798 5.3296905707
+ 0.2339622504 0.2633098361 2.3665793958 2.3926488336
+ 0.0285148465 0.0722237407 1.0786564049 1.0814476432
+ 0.0052509545 0.0228452148 0.1185246515 0.1208204013
+ 0.6398124402 0.6099172505 2.0970762951 2.2757609713
+ 0.1785230647 0.1398996922 1.4202531681 1.4382494463
+ -0.0030335829 0.0961114871 0.5241081104 0.5328563896
+ 0.0288586558 0.0030058623 0.0958828233 0.1001767090
+ 0.0068467201 0.0898201964 -0.0055903516 0.0902540708
+ -0.1196003219 0.1489022280 0.4767919845 0.5136211707
+ -0.1969205320 0.1510228641 1.1179073179 1.1451211171
+ 0.0286843529 0.1363799841 0.1030164946 0.1733051942
+ 0.5482414421 2.7489136531 2.8764594044 4.0163557682
+ -0.3185377234 0.5660817097 0.4564779146 0.7939060837
+ -0.0215051718 0.1294411285 0.0468152092 0.1393166967
+ 0.1509308109 0.1948765765 -0.1192207384 0.2738075496
+ 0.4179512350 0.3355379344 -0.0969076812 0.5446650704
+ -0.0107055845 -0.0281843005 0.0160343296 0.0341476802
+ -0.0001657235 0.1547247301 0.1176025529 0.1943453884
+ -0.0010339338 0.1475057620 -0.0920190886 0.1738577910
+ -0.1287907655 0.1429582583 -0.0428397640 0.1971278019
+ -1.4255104224 -0.2283204319 -0.7348971450 1.6199641965
+ -0.0124055983 0.0026670733 -0.0237757218 0.0269498997
+ -0.4142123188 -0.2400944256 -0.4545435375 0.6601719517
+ -0.2346936053 -0.0306381048 -0.2515368591 0.3453846744
+ -0.2930271698 -0.1018080141 -0.3866106420 0.4956789107
+ -0.4478588456 -0.0302651816 -0.3991851066 0.6007014867
+ -0.0357911076 0.0232905446 -0.0678134453 0.0801381071
+ -0.9092849255 0.0998306884 -2.5236889129 2.6843567146
+ -0.3456237880 -0.3602835296 -0.8437865200 0.9804262929
+ -0.1974123350 -0.1271051592 -0.5650993292 0.6119351300
+ -0.6812182908 0.0962861814 -0.6107033592 0.9199391183
+ -0.7808072504 -0.0332331528 -0.7174583449 1.0609009763
+ -0.6632905805 0.4445856287 -1.8169785653 1.9846969245
+ -0.2169429825 0.2161792601 -0.8576275669 0.9106716058
+ -0.3480584410 0.3783913426 -0.3487614823 0.6212561936
+ -0.3238521914 0.5463680368 -0.5192539299 0.8203797397
+ -0.6844820227 0.1216282986 -0.9798667999 1.2014358193
+ -1.5031927011 0.4382579161 -2.0187823496 2.5548268969
+ -0.1501433640 -0.0204109340 -0.6972499862 0.7135244769
+ -0.2958407349 -0.1128717208 -0.8081983055 0.8680128264
+ 0.0626570591 -0.2538621848 -0.2301717391 0.3483546259
+ 0.0826546119 -0.0973461487 -0.2339677268 0.2665500979
+ 0.1128921437 -0.1975877105 -0.5323204244 0.5789219064
+ 0.0122404322 -0.0659932161 -0.0417719858 0.0790558762
+ 0.1305400743 -0.2730287483 -0.8679398660 0.9191871515
+ 0.0639444773 -0.0847692087 -0.1357004596 0.1723059188
+ -0.7724731435 -1.9056077407 -6.5273303348 6.8435441782
+ -0.3778153570 -0.7141539355 -2.4956168803 2.6231400841
+ 0.2817098336 -0.3591918976 -2.5222942922 2.5632689571
+ 0.4543203279 -0.6484586630 -5.4535309455 5.5107082459
+ 0.6473095172 -0.7194958457 -3.2672940661 3.4076229835
+ 0.0738228409 -0.1612665111 -0.6793856884 0.7021549779
+ -0.1047258903 -0.0952661543 -1.1571705049 1.1657987518
+ 0.0234492097 -0.1371049554 -1.0826402202 1.0915390422
+ 0.0237120703 -0.0187626406 -0.0495381200 0.0580372664
+ 0.1278582581 -0.2777988698 -1.8724233352 1.8972319554
+ 0.6243188869 -0.1097200550 -4.3254875059 4.3716878579
+ 0.8413065942 -0.0927195109 -6.8738742488 6.9257881055
+ 0.2421951222 0.0674737631 -2.8995271136 2.9104069593
+ 0.8328980878 0.4385586977 -9.0773396745 9.1260149311
+ 0.3880506936 0.4464257164 -8.4348920549 8.4556066156
+ 0.2578702120 0.2518221237 -6.8026440166 6.8121859226
+ 0.1084840808 0.1093619997 -1.3514205293 1.3601714192
+ 0.0746990537 0.0972268800 -2.7588530338 2.7615761943
+ 0.3317698861 0.1403227102 -6.2417922491 6.2521781966
+ 0.0836741669 0.1257907451 -2.4639434323 2.4685708245
+ 0.3870264129 -0.0549050655 -4.1369386710 4.1553658778
+ 0.5606486008 0.2803305686 -16.3661926048 16.3781919777
+ -1.2535191036 2.0038018025 -61.6628710128 61.7081533782
+ -0.2118572828 0.2603259665 -8.0256531858 8.0326684343
+ -0.0311072412 0.0323989748 -4.4223094876 4.4225375700
+ -0.7511638369 0.1720919823 -48.7578041424 48.7638936874
+ -1.1327698242 -0.2206424719 -255.1233219123 255.1259321083
+ -0.1058639552 -0.0650147656 -27.3622522258 27.3625342570
+ 0.0457467414 -0.1041117026 -38.2158381558 38.2160073524
+ 0.0353383208 -0.0603974862 -5.8378582023 5.8382775750
+ -0.3808971272 0.0181513234 -78.9556376756 78.9565585170
+ -1.7357272851 0.1171247089 -305.6121513849 305.6171028288
+ 0.0475604291 -0.0669409410 -27.7736545278 27.7737759211
+ 0.2674160849 -0.0019749816 -89.7732730636 89.7736713731
+ 0.4330005443 0.4440548615 -33.1748847376 33.1806819029
+ -0.0094075013 0.0128303461 -0.5613206068 0.5615460288
+ -0.1977248115 -0.1378213277 -1.3973708019 1.4180038708
+ -0.4279874181 -0.4943629618 -2.9923425964 3.0629531799
+ -0.1794573655 0.0294999752 -0.3798898978 0.4437018300
+ 0.0270723648 -0.1820516350 -0.0233877527 0.2321690820
+ 0.1474493395 -0.0082038002 -8.0869540848 8.0883023546
+ -0.0227243783 -0.0209180342 -0.7933445765 0.7939455766
+ 0.0560456647 -0.1007485486 -40.4103630511 40.4107685289
+ 0.2814449511 -0.0539814199 -26.9706051223 26.9724886820
+ 0.0018320881 0.0346791230 0.0821711023 0.0892081172
+ -0.1442473119 0.3360353146 0.2064184737 0.4199233334
+ 0.7571471966 0.0349278199 -0.0010329484 0.9067349811
+ 0.5107871183 -0.0396690502 -0.1304024994 0.5467739117
+ 1.0512855322 -0.1100447159 -0.2620849791 1.0979432731
+ 0.0461392496 -0.0257395740 0.0585888679 0.0788924044
+ 0.6078632355 -0.2343876926 0.1692017386 0.6731006848
+ 57.5869350654 -14.0596793577 3.4538408147 59.3789414712
+ 6.6213890283 -1.7191779506 0.2413966403 6.8451908540
+ 27.3173307673 -6.4497763869 1.9912146765 28.1545993076
+ 6.0738709886 -1.3388184462 0.3693292472 6.2321928320
+ 3.5659460625 -0.8254988083 0.5616512723 3.7030894878
+ 3.1547190635 -0.8609912971 0.5096497673 3.3095772040
+ 17.6070311669 -4.1934966709 3.1416318184 18.3701608954
+ 30.7458770655 -7.4928209985 5.4248470516 32.1073245315
+ 9.9675924289 -1.8359129407 1.7858800505 10.2913965384
+ 9.3132028797 -1.7787129922 1.5543042706 9.6080918788
+ 0.0994531819 -0.0262403939 0.0104038358 0.1033814947
+ 17.5458689998 -3.2204166450 2.9551552799 18.0820780071
+ 1.7574307801 -0.3234331260 0.2275469450 1.8013743492
+ 9.6430663343 -1.7654866661 1.5676124600 9.9278940526
+ 9.3309337451 -1.6816697388 1.4086940730 9.5853407168
+ 112.6285976101 -21.0443820113 18.8007441851 116.1100124699
+ -1.1309164449 1.3451509577 0.1750318993 1.7715865926
+ -0.2193631121 -0.0182287049 -0.0452287301 0.2645333317
+ 0.0385349089 0.4463740782 0.0319705211 0.4491735423
+ 0.0853868105 0.4573134896 0.1657707563 0.4938688883
+ 0.0056766556 0.0148762230 -0.0715341725 0.0732848160
+ 0.1156522888 -0.2776223079 -0.7310339507 0.7904810149
+ 0.0991543120 -0.4249213554 -1.1066115895 1.1895288756
+ 0.0288057555 -0.2347118894 -0.3819346956 0.4492143745
+ 0.0577583373 -0.4503080960 0.0661941562 0.4587974206
+ -0.0003110630 -0.0454673724 0.0566119775 0.0726105688
+ 1.2760796125 -1.1352519375 0.0425180606 1.9498142756
+ 0.3614619168 -0.3386330535 -0.4252135928 0.6527891403
+ 0.1586957657 -0.2507806446 -0.3588298797 0.4656545505
+ 0.0187470881 -0.0279288877 -0.0904893588 0.0965391119
+ -0.0555105435 0.0685430538 -0.0321311398 0.0938721514
+ 0.1042412029 -0.0983675955 -0.1303063932 0.1937063973
+ 0.1210789636 -0.4293942456 -0.4230882753 0.6148521955
+ -0.0188278874 -0.3468797382 -0.3156897512 0.4694039424
+ 0.0206636487 -3.8640055565 -3.0056172310 4.8953754571
+ 0.0440009175 -0.3401267133 -0.3827414178 0.5139195022
+ 0.2475972099 -2.1774968553 -1.9647768414 2.9433220975
+ -21.7595812968 30.3916257724 10.7448363943 38.8919246688
+ -4.2717034451 6.0521175737 2.0947521972 7.6982831993
+ -14.1863249291 20.1470807774 7.0830714389 25.6383809913
+ -6.9546585225 9.8792319520 3.3747163591 12.5441304852
+ -3.2583747989 4.3298757788 1.6698316603 5.6703763864
+ -5.7608215131 7.3996458821 2.9829132327 9.8407111044
+ -0.7740172228 0.7518133815 0.4661514051 1.1754246698
+ -0.4110746449 0.5166082109 0.2172508595 0.6950283039
+ -1.1638580542 1.1456815328 0.5190203171 1.7136317675
+ -1.3871523470 1.2312217804 0.4777185016 1.9152842277
+ -1.0106828515 0.9293108019 0.4134813770 1.4338986164
+ -3.7737164895 3.7279075628 1.7919235292 5.5990374954
+ -1.9259850614 2.2559887637 -0.1580294316 2.9737782105
+ -0.3017821599 0.2467251087 0.0374501322 0.4157259297
+ -0.2813855134 0.2474553958 -0.1308528994 0.4207306101
+ -2.0202362147 1.5906161550 -0.1423577267 2.5789842230
+ -0.4237388584 0.3911686326 -0.1091636395 0.5869277804
+ -2.1019833153 2.1052061069 -0.2786992995 2.9879591547
+ -1.5482854183 1.0004955320 0.1382851804 1.8485945573
+ -0.0611810201 0.0583395154 0.0310782499 0.0900692728
+ -6.9919222018 7.5931937218 -2.3517288749 10.5865100800
+ -17.5459499492 19.1414319434 -5.7051177905 26.5857696045
+ -48.9947887981 53.0817417044 -14.0542292245 73.5913173604
+ -10.9173653428 11.9098456417 -3.1755506312 16.4656433536
+ -21.8738037386 23.9343640315 -6.3132516684 33.0329262739
+ -5.8654095002 6.5186219701 -1.6893451304 8.9302490426
+ -11.5924665688 11.2296159552 -2.7030189049 16.3644696476
+ -12.6323541750 12.3531754905 -3.0746312489 17.9340646263
+ -0.3813275077 0.3543084120 -0.0256997807 0.5211579392
+ -3.1922845786 2.9733670281 -0.6078530116 4.4046654355
+ -1.2578073259 1.1771785748 -0.3990239538 1.7683463410
+ -4.3721547311 3.8266605311 -1.1874270409 5.9303499720
+ -2.9365641082 2.4678750831 -0.6849030642 3.8990240035
+ -1.0000679752 0.6371826328 -0.0741019365 1.1962894902
+ -10.7419778504 12.1076261297 -0.2096237713 16.2145438587
+ -0.1218391341 0.1931565203 0.0322477388 0.2306385323
+ -2.4191489303 3.1588731619 0.1278110981 3.9808412273
+ -3.2902885426 3.9840006935 -0.3030666390 5.1759163060
+ -0.1736991978 0.2223702018 -0.0473407819 0.2861137319
+ -12.4033198944 15.0557491584 0.5677232067 19.5151284076
+ -0.6668346211 0.7869791313 0.0576051792 1.0331132182
+ -1.0655350196 1.0650612381 0.1388880581 1.5129475244
+ -4.2308900734 4.5631437185 0.4339765385 6.2378719965
+ -51.4205428551 54.8699071166 -0.3279386032 75.1989792366
+ -8.0735342913 8.6915730871 -0.0398572946 11.8628406077
+ -1.2077172565 1.3728762130 -0.0119304025 1.8285273863
+ -7.3067025753 7.8135511468 -0.0982655145 10.6980904912
+ -0.0375631965 0.1103113898 0.0775486043 0.1399763640
+ -0.0365328649 -0.0283843615 -0.0095314596 0.0472352720
+ 0.1328024768 0.1324944475 -0.0814385796 0.2045079918
+ -0.0218156683 0.0904956105 -0.0122675468 0.0938928730
+ 0.0063194075 0.0591651435 0.0106149689 0.0604411009
+ -0.0137786504 -0.0000192738 -0.1263270550 0.1270762622
+ -0.2929807463 0.1929856744 -0.1358704177 0.3762206250
+ -0.5913562444 0.4623192691 -0.0968109022 0.7568445449
+ 0.0101012193 -0.0037182497 -0.0262958876 0.0284136185
+ -0.1901488782 0.1429057136 -0.0207286116 0.2387646840
+ -0.0091242631 0.0069205145 -0.0011314411 0.0115189391
+ -0.7382401537 -0.2734239441 2.7557712705 3.0156898160
+ -0.0930108269 -0.0282997820 0.7308140417 0.7503471463
+ -0.0567548991 0.0232824299 0.1485318460 0.1607012738
+ -0.0456651339 0.2928018364 0.5801628788 0.6514654141
+ 0.0190808351 0.0447571933 0.5727714210 0.5748342243
+ 0.0363393486 -0.0038232481 0.0317928584 0.0484350217
+ 0.0690615539 0.0742548256 0.8234845392 0.8297048051
+ 0.0651788769 -0.0372260724 1.4921417958 1.4940285155
+ 0.0846900245 0.0137748537 0.4872198428 0.4947174163
+ -0.0226831002 0.0450330168 0.9536522385 0.9549843389
+ -0.0930261979 -0.0040848715 0.7280173832 0.7471008331
+ 0.1267980449 0.0199339084 1.3010196909 1.3147650459
+ -0.0836335759 0.0478008638 0.3196230218 0.3338238663
+ -0.3555995916 -0.0386860749 1.7594463628 1.7954384383
+ -0.0666889858 0.0849221912 3.0504807940 3.0523912387
+ 0.0420145882 0.0973348214 1.4516925747 1.4555585266
+ -0.1083681299 0.0503799431 4.5308564519 4.5324322364
+ -0.2398465101 0.0282079220 4.4835649380 4.4900642076
+ -0.0342838985 -0.0060227591 36.1893122050 36.1893289456
+ -0.1184945266 0.0923565132 33.8967261732 33.8970591046
+ 0.0803648117 -1.3006513608 -1.0766275478 1.6903488817
+ 0.1425884902 -7.0840555182 -5.7109978894 9.1005313557
+ 0.0856249734 0.1276847407 12.0634540966 12.0644336697
+ 0.1264126950 -0.0027537639 8.7875784411 8.7884880731
+ 0.1749817256 0.0159482198 21.0592764654 21.0600094538
+ 0.0068858873 -0.0532295834 5.9017587313 5.9020027895
+ 0.4197545912 0.1290503697 14.7376579842 14.7448598012
+ -0.1068841317 -0.1386593380 1.2639221869 1.2759897822
+ -0.0534296557 -0.2945546046 3.0759455558 3.0904786370
+ -0.0209613165 0.3707402802 14.0524713705 14.0573766881
+ -0.0565077576 0.2899102432 7.6277773008 7.6334938021
+ -0.2507596590 -0.0060706055 5.8207510376 5.8261530962
+ -0.1100205738 0.0374049167 1.3441939768 1.3492075829
+ 0.0672245902 -0.0807639057 0.8009152278 0.8077791506
+ -0.0589475482 -0.0698131398 1.1417433169 1.1453935959
+ -0.0618108074 0.0644254879 0.1008595307 0.1346991623
+ -0.1125924054 0.1187001023 0.6158186332 0.6371807852
+ -0.2522388600 0.1373600913 -0.6178806849 0.6813727159
+ -0.1706554467 0.2223260809 -0.7757729129 0.8248489438
+ 0.1169421345 0.0665501416 -0.4398044545 0.4599264532
+ -0.0268622859 -0.0185647915 -0.1596879074 0.1629922134
+ 0.0518716199 0.2138209935 -1.7491179425 1.7684183453
+ 0.1783714846 -0.1712641639 -2.5384448049 2.5542767298
+ -0.3003875725 -0.2498359576 -1.6321173036 1.6782304944
+ -0.1221643953 -0.0191012546 -0.7054396784 0.7161942036
+ -0.0745703248 -0.1544437715 -2.5985097238 2.6041632815
+ -0.3625290372 -0.2644471622 -6.9809241918 6.9953314558
+ -0.0587717804 -0.1349660601 -1.3099231618 1.3181686726
+ 0.0645984988 -0.0589142399 -0.6065235038 0.6127924725
+ 0.0781592776 -0.5947338278 -4.4246553801 4.4673115199
+ 0.0090200935 0.0233385025 -1.3726619339 1.3799661653
+ 0.0364509454 -0.0269818080 -0.1100639185 0.1190409826
+ 0.1968828293 -0.6421868011 -2.6214141525 2.7061003114
+ -0.3462539964 -0.2529049484 5.4280446841 5.4449537955
+ -0.3472374075 -0.1871833900 6.7284344844 6.7399882826
+ 0.0016887929 0.0136170970 0.2261552883 0.2265711627
+ -0.4004533114 -0.1770382310 6.7239085921 6.7381490148
+ -0.0004314729 0.0080284020 4.5880905259 4.5880975704
+ -0.8505053229 -0.6332429785 17.7716074884 17.8032128757
+ -0.0065872196 0.0153013237 0.8923835040 0.8925389853
+ -0.4633264800 -0.0277904421 9.3434363946 9.3549584390
+ -0.0421197724 -0.0836539690 6.4761493559 6.4768265795
+ -0.0801622751 -0.2082623672 6.2848968044 6.2888573721
+ -0.1682780783 0.2180564437 1.2852576926 1.3144403603
+ -0.3755968148 0.2549797941 1.6998467726 1.7594222668
+ -0.0520421212 0.0574619707 0.0186711799 0.0797425446
+ -0.0146267752 0.0017318533 0.1623898228 0.1630564209
+ 0.0372192943 0.0360921243 0.2412785334 0.2467858342
+ -0.0569195300 0.4306126716 1.9506271673 1.9984027251
+ -0.0788752614 -0.0030967803 5.9931344488 5.9936542625
+ 0.0139988462 -0.0142769850 0.1496260467 0.1509561322
+ -0.2172313699 0.2502515480 0.4503502384 0.5591338324
+ -0.1223814432 0.3324114095 0.3917661872 0.5281621988
+ -0.0238845041 -0.1006952266 13.6783553010 13.6787467898
+ 0.0596270200 -0.6483336167 57.4164182013 57.4201094646
+ 0.6949090312 -0.0127040716 131.1070852751 131.1098720337
+ 0.0811517266 -0.2563681436 69.1699271723 69.1704498702
+ 0.0921582606 -0.0415546893 27.7471816248 27.7473657859
+ -0.3264518443 -0.1977737721 55.0548479333 55.0584202612
+ 0.0322012943 -0.0630036391 1.6669687810 1.6684697476
+ 0.1087709231 0.0211699713 1.0534391440 1.0592512976
+ 0.0368322659 0.0817456591 20.6977655088 20.6984302741
+ 0.8037070181 0.6632330738 88.3807517292 88.3870045826
+ 0.0522276326 0.0145899824 0.3708411428 0.3747849335
+ 0.0929684650 0.3153560869 1.6809612093 1.7128114853
+ 0.1374084970 0.0838328965 0.6128405640 0.6336265512
+ 0.0093232791 0.0844987208 0.1475440816 0.1702827454
+ 0.1663000490 0.4067127324 1.4618629063 1.5264711297
+ 0.1826134399 0.2308226446 1.2670133129 1.3007495903
+ 0.1499578711 -0.0054878047 -0.5625737126 0.5987373766
+ 1.0605296956 0.6657797931 -3.8813426800 4.0807213519
+ 0.4462608321 -0.0319774009 -0.3269970327 0.5541645458
+ 0.0155283320 -0.0020892505 0.0138336195 0.0209012701
+ 12.0354372479 -2.3678709383 1.9919162709 12.4276213631
+ 44.3500083813 -8.3389648354 6.7369265918 45.6274833585
+ 9.9432869480 -1.9691467676 1.6884676978 10.2760604071
+ 19.1886115874 -3.7101116747 3.0880192152 19.7864500597
+ 17.6084593030 -3.7466338218 2.7951254339 18.2183377456
+ 5.4947926328 -1.0983992942 0.8399745079 5.6661083876
+ 0.0588133847 -0.1778552703 -0.0081872360 0.1875061124
+ 0.1144332056 -0.0752835562 -0.0816190741 0.1594498217
+ -0.0080493724 0.0073859007 -0.0153778661 0.0188632630
+ -0.7055973950 0.8443607011 0.0173396960 1.1005059484
+ 0.0030556382 -0.0280880121 0.0342570922 0.0444051992
+ -0.0923304794 0.0937395228 0.5414849199 0.5572413607
+ 0.0842606116 -1.2830922213 -0.9849710020 1.6197510221
+ 0.5210477682 -5.7647583053 -4.1246987022 7.1075360343
+ 0.1862059775 -1.5268509438 -0.9042750183 1.7842813062
+ -0.0216802061 -0.1650270794 -0.1155365523 0.2026145680
+ -0.3416329892 -0.1981698250 28.2883034234 28.2914046088
+ 0.0241220078 0.1030149034 15.2158290095 15.2168369306
+ -0.0309089809 -0.0840452740 0.5595145291 0.5666352278
+ -0.0748748573 0.0337511461 0.2859194089 0.2974815835
+ 0.0161020399 -0.1065597789 6.0416162451 6.0425773570
+ -0.2286345427 -0.7890946666 39.7055415407 39.7140400009
+ 0.0101623463 -0.0427420566 1.7893351490 1.7898744180
+ -0.3353305206 -0.5947943667 21.1587939060 21.1698083707
+ -0.1099442416 0.1172609739 0.4812506038 0.5262316988
+ -0.3190238286 -0.0501076257 2.7024101465 2.7252132691
+ 0.2396600889 -0.1200803712 0.5471051398 0.6092456711
+ 0.9289715602 -0.3737668247 1.5390879732 1.8361594669
+ 0.1161154287 -0.0717623353 0.0652201374 0.1512821598
+ 0.0112005227 0.0256407543 0.0922910901 0.0964393349
+ 0.1832146988 -0.9481546002 6.4421719525 6.5141495406
+ 0.0525761144 -0.4072983596 3.3681703142 3.3931147147
+ 0.5990851579 -1.6408624195 11.5064828424 11.6383194624
+ 0.2903624754 -0.5830118125 4.0416572777 4.0938010077
+ -0.0261126837 -0.0861863322 1.9823853749 1.9844298251
+ -0.0004509726 -0.2109946171 1.8760955661 1.8879230665
+ -0.0407754467 0.0475725006 0.7197855130 0.7225074149
+ 0.1060494063 0.0804500534 1.1835331916 1.1909951735
+ -0.1172191770 0.3888983820 -10.0002166093 10.0084621456
+ 0.0383320370 0.1049203715 -2.8800469139 2.8822123197
+ 0.0158467217 0.0859764385 -0.8542157248 0.8586778040
+ -0.1632404032 0.7110508905 -10.0973608574 10.1236819924
+ 0.0876748066 -0.2056120957 -1.1968557730 1.2175495665
+ 0.0618192329 -0.0023898964 -0.2168798249 0.2255309017
+ -0.2160941511 -0.2146829476 -1.4779032902 1.5089677218
+ -0.0619137151 -0.1950818424 -1.2858349907 1.3020222182
+ -0.2146292967 0.2755162617 0.1831801607 0.3943728144
+ -0.7220237311 1.3756562219 0.7409579975 1.7212690269
+ -0.5621891456 0.9359126037 0.1924987377 1.1086229301
+ -0.2714744753 0.4723325130 0.1941026725 0.5783357512
+ -0.2107409526 -0.0753115385 0.2819959464 0.3600073481
+ -0.6905804377 -0.0386472716 1.0983372924 1.2979752542
+ 0.0104629861 -0.0936355663 0.0829659506 0.1255406003
+ -0.1126726178 -0.0337288618 0.0977384520 0.1529233792
+ -0.3054405668 -0.3717901308 -2.0900800766 2.1447509338
+ -0.2272841088 -0.1245234095 -1.0744072060 1.1052216927
+ -0.0955461250 -0.1572980338 -1.8992772505 1.9081734218
+ -0.0212549513 0.0287335462 -0.4137419752 0.4152828093
+#END
Index: tags/siscone-3.0.2/examples/events/Makefile.am
===================================================================
--- tags/siscone-3.0.2/examples/events/Makefile.am (revision 0)
+++ tags/siscone-3.0.2/examples/events/Makefile.am (revision 398)
@@ -0,0 +1 @@
+EXTRA_DIST = single-event.dat midpoint-irunsafety.dat two-collinear.dat
Index: tags/siscone-3.0.2/examples/events/Pythia-Z2jets-lhc-pileup-1ev.dat
===================================================================
--- tags/siscone-3.0.2/examples/events/Pythia-Z2jets-lhc-pileup-1ev.dat (revision 0)
+++ tags/siscone-3.0.2/examples/events/Pythia-Z2jets-lhc-pileup-1ev.dat (revision 398)
@@ -0,0 +1,3616 @@
+# ./gen-events -Z2jets -lhc -pileup -out pippo -nev 1
+# Random generator sequence: 19780503
+# Stamped by ./gen-events on 17/08/2006 at 20:04:37
+#SUBSTART
+ 0.3954777037 -0.3673222022 -5.5667288574 5.5945757811
+ -0.5734773309 0.1245593657 -1.2834308450 1.4181205179
+ 0.4356693274 0.2288104897 -30.3453880070 30.3496987643
+ 0.0975446006 -0.5315884534 -23.8794891793 23.8860123185
+ -0.3671850506 0.2749471255 -80.0854738668 80.0869091989
+ -0.4589804461 1.0933220413 -917.7103502176 917.7115972376
+ 0.4890326290 0.2271214701 0.7102487651 1.0192307603
+ 0.9620460936 -0.1371148865 1.8707178217 2.1126755860
+ -0.4265074515 0.1524393905 0.2258185917 0.5249954240
+ -0.2854455532 -0.8896230081 1.1043374697 1.4532547239
+ -1.3400826650 -0.9523925375 1.6856250053 2.3587463912
+ -0.2075451905 0.0641659240 1.3196175283 1.3446421374
+ 0.5406343804 -0.7740567249 3.9746470146 4.1919041046
+ -0.3578078804 -1.7354383315 6.4129596827 6.7190903526
+ -1.6118695968 1.5582485089 1.9024112268 2.9436219651
+ 0.1143429692 -0.4574338006 -0.0475288902 0.4940230530
+ -0.6465492582 -0.1950820930 0.4309382983 0.8131854451
+ -1.3187581886 -0.8272947214 -3.4439719403 3.7820579354
+ -1.0197479028 -1.3993922034 -2.8184561622 3.3107943529
+ 0.0177751480 -0.3715033654 -5.0374444625 5.0530839301
+ -1.7969415170 0.0563314901 -8.3697855685 8.5618317140
+ -0.7576930515 -0.6997743092 -4.0430438428 4.1748612126
+ -1.3563817887 -1.8332677734 -15.3808839362 15.5496531385
+ -1.2759294995 -0.6207325264 -12.2632057384 12.3458089943
+ -1.4125912138 0.8190729941 -16.8449267321 16.9244595453
+ -0.3333587496 0.7139050981 -84.4418604770 84.4507630584
+ -0.8131711559 0.0487480676 -34.2800369361 34.2899990642
+ 0.1175685979 -1.5275906268 -58.9343017227 58.9543785891
+ 0.9438714201 -1.7468129724 -124.7156161864 124.7323967963
+ 1.2012274148 1.0867287408 -29.6627785752 29.7073027932
+ 2.1217668638 0.1269747826 -34.5508191431 34.6164209655
+ 1.1333236411 1.1678736601 -9.5431584062 9.7264081506
+ 0.5227402466 0.6572331776 -13.1620827856 13.2222701476
+ 0.2285739557 0.0144492742 -1.2038954780 1.2334094785
+ 0.5739495541 0.2055766201 -1.1812834106 1.3366338760
+ 0.4957539036 -0.6322651654 -1.8744538193 2.0441595041
+ 0.9028934034 1.0588904336 -1.5276189716 2.0711264944
+ 0.1579772002 -0.4191506621 -0.3460071292 0.5829620843
+ 0.2552851785 1.1285086251 -0.1724492837 1.1781004964
+ -0.3037193568 0.2247247779 0.5221111507 0.6594137639
+ 0.4237728863 0.1217617500 0.0136594827 0.4626832062
+ 2.8590184124 0.4133105395 3.5062185571 4.5450918846
+ 1.0412453989 0.1799268361 1.5898700641 1.9140878383
+ 0.4081284644 -0.1649444870 2.3003574547 2.3462522736
+ 1.8287023978 1.5002444729 5.7603731671 6.2975849933
+ -0.8422102437 0.1094949714 5.9219786230 5.9841973430
+ -1.1195537255 0.5149480800 11.7402139823 11.8055358288
+ -2.2827017458 0.3739097535 22.1587071699 22.2795493444
+ -0.8064287284 0.4965255206 10.3630195079 10.4071378386
+ 0.2786821344 0.2209461635 4.6018860728 4.6177176344
+ -0.6501398236 0.8326763836 13.2770378447 13.3197314336
+ -0.3449085817 -0.0930200840 2.5865256638 2.6148058170
+ 1.6694063131 -1.5361292491 136.7557309894 136.7754371585
+ 0.0364074570 -2.3019537241 360.4173138323 360.4258914372
+ 0.1870806721 -1.4985151620 134.7316281782 134.7433670731
+ -0.9902408374 -0.7836659786 3.7112391664 3.9226885190
+ -0.3768197701 0.4264928331 289.6762101775 289.6782929801
+ 0.0291815048 0.4020302407 7.9848179472 8.0102083921
+ -0.4291262372 -0.2051004720 0.7700230227 0.9157678589
+ -0.7267752947 -0.0658551072 -0.0480454154 0.7445316454
+ -0.1305766044 -0.1970575211 0.1140426605 0.2972665968
+ 0.3214264428 0.1275785307 10.9789289258 10.9852606424
+ 0.1235992617 0.0600161115 4.3048121908 4.3092651919
+ -0.6715514705 -0.3647012024 -40.9510323357 40.9583998405
+ -0.1427785825 0.0388998945 -65.4871021390 65.4891295288
+ -0.1908966089 0.2848235405 909.4984331945 909.4989831445
+ 0.5172948509 -0.6988807813 236.6108396461 236.6124784244
+ 0.9737962631 -0.4018185468 -2.7914569931 2.9868795147
+ -0.1695253287 -0.0042682644 -0.2409587380 0.3260336692
+ 0.1523475423 -0.0253770071 -14.6183675878 14.6198496738
+ -0.9200903299 0.1796553285 -0.0565956134 0.9494867564
+ -0.1240085641 -0.3825543733 0.2633752199 0.5005719368
+ -0.0052131503 -0.1300005373 0.4566049036 0.4948688104
+ 0.0164640673 -0.2134359932 4.2450237719 4.3530270615
+ 0.5788797378 0.0387167603 -23.6709873863 23.6967304995
+ 0.0401712566 -0.3136021414 -1.7271999000 1.9908616527
+ -0.2153950375 0.5709089782 -0.8091806525 1.0230274663
+ -0.4888665609 0.2218166344 -0.8917232784 1.0501634748
+ 0.3937303921 -0.5422475799 2.3542602889 2.4517498552
+ -0.1608571180 0.0196580691 0.0801146185 0.1807755630
+ 0.0177824303 0.0395163187 0.0198243394 0.0476524785
+ 0.5456370020 -0.5211739045 3.0990481727 3.1926354847
+ -0.0018125887 -0.0049837651 0.0885280468 0.1653636095
+ -0.0213304911 0.1387081924 0.0649564232 0.1546424567
+ 0.0049909695 0.0254643638 -0.0528385720 0.0588664446
+ 0.0665168191 -0.2712457321 -0.1830363850 0.3339177333
+ 0.1043043517 -0.0826556908 -0.0478239106 0.1414160084
+ -0.1905838765 0.4077359868 -0.8906930036 1.0076629697
+ 0.2261261399 -0.0150247203 -0.1711187396 0.3164177323
+ 0.0489414017 -0.1237824964 0.2399299569 0.2743788466
+ 0.0689341941 -0.4437604102 0.4302460139 0.6219219060
+ 0.2496436435 -0.2634112467 -0.4833114828 0.6203041253
+ 0.2889007027 0.5866388082 -138.9110143504 138.9125534880
+ 0.1335340015 0.0287355920 -6.6425568653 6.6439610755
+ -0.6587893504 -0.1198216137 -71.6088556753 71.6121222388
+ 0.2460993858 0.6955037114 -1.1691853093 1.3824921728
+ 2.8580616275 0.2488753138 -5.6144998254 6.3050030720
+ 0.0451348344 0.5482936164 -1.4052125345 1.5155081970
+ -0.2279328873 -0.1318329038 -0.8317820343 0.8835578380
+ 2.4098519422 0.7545343244 3.4737886612 4.2969053839
+ 0.3652490573 0.0306127682 0.7086916108 0.8099799995
+ 0.7733286075 0.1483750899 0.9795434117 1.3502587004
+ -0.0834973131 0.1641373690 0.3795195019 0.4443283858
+ -0.4304398279 -0.2283119965 0.3277442868 0.6035734550
+ -0.7638897783 -0.0128295613 0.2913042622 0.8294758279
+ -1.7462636790 -1.5929590636 1.6564257226 2.8896680388
+ -0.7103423098 -0.9604329484 0.9166010610 1.5121689507
+ -0.0707047370 0.0212183030 -0.0350860221 0.0817337456
+ -0.3311885374 -0.1357627502 0.0107505278 0.3580962796
+ -0.7552217154 -1.4206744382 3.0260006699 3.4299906032
+ -0.2133036947 -0.2711582557 1.2479629039 1.2947728277
+ -0.8247059239 -1.4541594355 5.4802651436 5.7295746412
+ 0.1317609499 0.0285162505 0.3783629605 0.4016623636
+ 0.0407055119 0.0817450818 0.0970575331 0.1332642556
+ -0.2570250542 -0.5194826854 1.8566162886 1.9499815299
+ -0.4262967203 -1.3937950304 2.2666061472 2.6984026186
+ 0.4729969296 -0.4898280626 4.0933493183 4.1495983261
+ 0.0629189730 -0.0113597628 0.4718708945 0.4761827196
+ -0.0072865236 -0.1265029225 1.1098645868 1.1257598628
+ -0.2880072667 -0.3041880176 0.3270873846 0.5494947477
+ -0.4215951779 -0.1507729350 1.1980065209 1.2865358063
+ -0.5019672804 0.7282714884 0.9247252329 1.2872245541
+ -0.1413583081 0.1450204289 0.7113050675 0.7526272517
+ -0.0681035044 0.0238784785 0.0876142558 0.1135100297
+ -0.1168042108 0.2936089416 0.5732375529 0.6545614763
+ -0.7526465077 0.2824378355 1.8032689842 1.9743421502
+ -0.4511344010 0.2834819234 1.1398130420 1.2581963358
+ -1.6684970907 1.6963797270 -0.2676743680 2.3984820350
+ -0.1561175424 -0.0193245735 0.0006440120 0.2103005607
+ -0.1605245734 -0.0993587698 -0.6106561687 0.6542331733
+ -0.2311563269 -0.2847534279 -1.0501741502 1.1210991449
+ -1.9599217534 -1.6506765085 -3.5082437392 4.3466400971
+ -0.0361790367 -0.0469229940 -0.6901957196 0.7066545169
+ -0.7857858923 -0.9756178836 -9.6820130486 9.8077019219
+ -0.5596856448 -0.6392750543 -6.8610148766 6.9148337318
+ 0.1909209173 -0.6622632938 -4.7406385179 4.7925125779
+ -0.1003109056 -0.1469378340 -1.1168742748 1.1395354033
+ -0.9266619565 0.3702544683 -6.6373856128 6.7119802239
+ -3.0594187119 0.5020669238 -25.4057323765 25.5945859787
+ -0.7720341935 0.2062904274 -8.2373633860 8.2772113585
+ -0.4416654065 -0.0613586221 -2.9044525131 2.9384821954
+ -0.7342743268 0.0846060069 -18.3211685820 18.3366031467
+ -2.4259244322 -0.2276430005 -30.2155576456 30.3177263322
+ -1.6273682086 0.3136819726 -331.1494283434 331.1549084758
+ 0.0136651613 0.2588001035 -22.4060822109 22.4075809554
+ -0.1353670712 0.3278384353 -32.6671419312 32.6690673916
+ 0.1260931270 1.0109882497 -238.4248214238 238.4275091273
+ -0.2073176455 0.3263925942 -44.2571448330 44.2590540035
+ -0.0348607950 0.0485660214 -17.7699178380 17.7705664988
+ -0.1749483103 0.2762705687 -39.8330884012 39.8346751424
+ -0.5871836041 0.9693390997 -79.3443137353 79.3525299205
+ -0.3335391482 0.1067355279 -25.5857406941 25.5885178838
+ -0.2342108726 0.7291659542 -25.4496713197 25.4611921952
+ -0.0804723512 0.2768497656 -12.7402326128 12.7434943646
+ -0.3957752594 -0.0915170156 -49.3450346022 49.3469039870
+ -0.1100338436 0.4568281160 -52.5467989749 52.5490852600
+ -0.2456634684 0.2607022247 -19.0214765165 19.0248491468
+ -0.0988321045 0.1797669894 -7.1136711422 7.1166284907
+ -3.3640854743 3.4333139664 -271.9381718836 271.9822730162
+ -0.2492469868 0.1474447556 -26.0883826002 26.0903631730
+ -0.5682746975 1.0852456844 -41.5374262612 41.5557210804
+ -0.7111190570 0.6830367325 -46.1103588720 46.1211112678
+ -2.4393659126 1.4334935779 -175.6201371663 175.6454405329
+ -1.3022373590 0.4337758688 -88.1200887596 88.1308884922
+ -0.0157339496 0.0589469759 -8.0580505064 8.0582814711
+ -2.0139276527 -1.0343145538 -202.3769836798 202.3918219324
+ -0.3217923055 -0.0673968341 -35.4621364643 35.4639351316
+ -0.3485374502 -0.1305633763 -32.4818876231 32.4843197327
+ 0.0282481641 -0.4576161552 -26.2651222697 26.2694944400
+ -1.5272585298 -1.4733939622 -167.7292475517 167.7427297156
+ 0.9539416254 -1.2822513199 -98.8772134222 98.8901284619
+ 0.3756428776 -0.5708501287 -37.6646477494 37.6708463871
+ 0.4117347715 -0.8811848870 -51.0583855631 51.0700341648
+ -0.0082426431 -0.1735017749 -9.7411357117 9.7436838796
+ 0.4906170002 -0.3070277273 -14.5797068466 14.5918574069
+ 1.8310879088 -0.8861824773 -29.5818389859 29.6520299455
+ 0.3494174965 -0.2741683195 -5.7242724349 5.7431729513
+ 0.9309046873 -0.8742529105 -16.0259556502 16.0773640867
+ 0.4112596605 -0.8506537018 -12.8988780612 12.9428529477
+ 0.0087594371 0.0260752183 -5.8667658499 5.8684902630
+ 0.7773546907 -0.0701204304 -7.1401688075 7.1840578766
+ 0.3471187063 0.6498452566 -7.1033697326 7.1428377831
+ 0.2656321253 0.0559721787 -5.9134069273 5.9212798096
+ 0.6163993510 0.6239613245 -15.8529395805 15.8777973605
+ 1.1758367629 1.1849253087 -12.3610608688 12.4740508924
+ 0.6913601171 0.7301331130 -8.9088264266 8.9664787547
+ 0.9684321476 1.8963792062 -8.8996486190 9.1989484314
+ 0.0206070458 0.0593271630 -0.3518476965 0.3836938220
+ 1.4054777069 0.4561353096 -7.1212788956 7.3332387597
+ 0.1452431119 0.0391606477 -1.3070875481 1.3230974119
+ 0.1670035955 -0.0148128205 -1.6235156042 1.6381063221
+ 0.1067065347 0.0375519426 -3.5618207880 3.5663487692
+ 2.4635070151 -0.2656336690 -8.3027380072 8.6657005637
+ 1.1109109907 -0.6154488577 -4.0070678837 4.2058261180
+ 1.7633091756 -0.4014448374 -6.6521065151 6.8935432322
+ 0.7379150573 -0.3672701973 -4.4679218005 4.5433172072
+ 0.6653718026 -0.3782925071 -2.0751731263 2.2162238483
+ 1.5060241048 -0.7113715158 -4.5971358370 4.8915535085
+ 0.8034474448 -0.1287846174 -2.0945260997 2.2513623968
+ 0.5252236201 -0.1233031893 -1.6212700666 1.7143686714
+ -0.0105268913 0.0254546832 -0.0257080376 0.0376783696
+ 0.2898029864 0.0909319885 -0.3009609560 0.4275884640
+ -0.0312971625 0.0203817337 -0.1533022175 0.2106567878
+ 1.1712845334 0.1426757993 -1.6209031377 2.0097439162
+ 0.7534567154 0.1693141600 -1.5955617284 1.7781061050
+ 0.0870691107 -0.0583237813 -0.1635482769 0.1942440022
+ -0.0365419890 0.0210177513 -0.0415352880 0.0591797514
+ 3.1285943598 -0.1021905908 -3.8909918242 5.0814520313
+ 0.9751662314 0.4039773533 -1.4093069105 1.7662878116
+ 2.7143305687 1.1280454257 -2.5230540536 3.9857532876
+ 0.2886545637 0.0628189086 -0.1163731114 0.3468287162
+ 0.0725292311 0.2037746374 -0.3016052886 0.3711473324
+ 0.0807600545 0.0379281979 -0.0515570013 0.1030478480
+ 1.0335770932 1.1003029744 -0.3472951065 1.5553269492
+ -0.1106042451 0.0146058051 -0.1454258169 0.2303802980
+ 0.1517987822 0.4730019333 -0.0885892297 0.5235470712
+ 0.1649694866 0.0885944011 -0.0102852340 0.1875358244
+ 0.1506101710 0.1097053444 -0.1533171755 0.2412982439
+ 0.5694064646 1.4323239978 -0.7042924964 1.7003774469
+ 0.1880552576 0.0878789157 0.0645742205 0.2583352446
+ 0.3401073743 0.2736941561 -0.1660795057 0.4874871324
+ 0.4734570778 -0.3742452200 0.1469233807 0.6366218295
+ 0.5447847587 0.0455881184 0.1131613255 0.7478968006
+ 0.7635247917 -0.3726406236 -0.0381364703 0.8618383358
+ 1.7309909216 -0.1594460132 0.5215190474 1.8202237509
+ 0.2508965720 -0.1485186716 0.1657973405 0.3632842258
+ 2.5573951665 -0.9930976454 2.6634517990 3.9371104950
+ 0.8721957514 -0.6972461851 1.1639288662 1.6189774124
+ 1.9553502224 -0.7528083684 4.6947269544 5.2259857157
+ 0.3206930570 0.0264567345 0.9326108680 0.9963868785
+ 1.0917382492 -0.3323450514 1.8210317852 2.1535974985
+ 0.4300078732 -0.1823545586 0.4182865393 0.6423420973
+ 0.0601311416 0.1274641924 0.1812084023 0.2686617660
+ 0.3412667167 0.1578009958 1.0790513290 1.1511714389
+ 1.0734975740 0.7960471748 3.0403745377 3.3240705859
+ 0.5048140991 0.6402760429 0.7732155221 1.1323129930
+ 1.0393008443 1.6055406986 6.4230049459 6.7670710287
+ 0.1975088419 0.2045910427 0.6891190474 0.7584405604
+ -0.1544143686 0.1732570411 1.2460589936 1.2751488541
+ 0.0389674873 1.3910604240 7.8461732023 7.9698482591
+ -0.6551260717 1.3273121276 16.4440452919 16.5111190717
+ -1.5119756237 1.8507196283 17.6201448962 17.7820195528
+ -0.1319587228 0.4275914100 1.9415710927 1.9973546534
+ -0.4899439823 0.0004047599 6.2302584080 6.2494931875
+ -0.3039733636 0.0997600808 4.6365918170 4.6476161155
+ -0.1134090971 0.2229601244 0.8295017255 0.8775680816
+ -0.5747387407 0.8129708817 9.9841064258 10.0345955166
+ -1.1094285549 0.0522207430 12.5854357266 12.6351189523
+ -1.8837549048 1.1472701137 21.9934749910 22.1042345088
+ -0.1827553225 0.3563139266 9.2401878197 9.2499140456
+ -2.2204222713 1.3327667974 28.2728719422 28.3915711091
+ -0.0703467188 0.0660313741 1.8807542548 1.8832273814
+ -0.9590567490 0.4041446966 25.7377795221 25.7588124243
+ -0.1376254764 0.3267224335 11.6541893859 11.6973762163
+ 0.1412016354 0.1883602592 2.1024905625 2.1202273084
+ 0.7376126744 0.4614061354 18.0157063327 18.0611581725
+ 0.4645192425 0.0820184012 8.0112459845 8.0263346026
+ -0.0075473501 0.1218923687 0.9606366091 0.9783747706
+ 0.8168557282 0.2707502434 15.2914413129 15.3162729208
+ 1.2386773322 0.2721085238 16.5731096086 16.6221480701
+ 1.0537166467 -0.6064681204 11.2379564355 11.3143019298
+ 0.7443339906 0.0495623516 6.9585712205 6.9998344789
+ 0.1076696186 -0.5622069015 7.1155758532 7.1558901961
+ 0.2189926658 -0.6128047892 95.8119477056 95.8154501428
+ 0.0306437112 -0.4757662182 68.2441373249 68.2459453120
+ -0.7087116950 -0.9714016552 84.4948999144 84.5035708403
+ -0.0549044787 -0.0232618921 6.9062859884 6.9065434025
+ -0.4631273145 0.1351417246 85.3947824659 85.3961452443
+ -0.3545022920 0.4433753504 65.4859143259 65.4885234867
+ -0.0481719128 -0.0143077260 16.8888196066 16.8894710613
+ -0.1607067414 0.2612669362 30.2342827997 30.2361608553
+ -0.3656075232 -0.5428547197 31.3298088741 31.3506879476
+ -0.0668529032 0.1119379472 2.6400431478 2.6469429578
+ 0.2905075793 -0.0333283661 26.5467891339 26.5649744842
+ -0.1027536791 -0.2781948796 7.2685638511 7.2759501752
+ 0.2359210632 -0.4027833297 1.5263423385 1.6022153032
+ -0.1051863979 0.1719424674 3.2141024088 3.2234395403
+ 0.2855386337 0.1952193504 100.2797589308 100.2804526012
+ 0.1686709121 -0.2443283947 -2.2009622313 2.2252776837
+ -1.0422472447 -1.0524600756 -14.6295178370 14.7342150882
+ 0.0780610156 -0.0982495961 -1.6093469053 1.6202542244
+ -0.0657754911 -0.0895843956 -1.4304200801 1.4415037875
+ -0.7100510566 0.0002207430 -4.2618843364 4.3228821906
+ 0.0158741060 -0.0846083944 -1.5666702808 1.5752289107
+ -0.7248210161 0.7626380268 -11.6616579123 11.7098559903
+ 1.6389879405 0.7405211086 43.9688557346 44.0058451501
+ 0.1323698777 0.1306769889 7.1862130762 7.1899747164
+ -2.3144557876 -1.1492230154 20.1484943265 20.3196190462
+ -2.3039935887 -0.2661097484 12.0704003798 12.3011140610
+ -2.5863501714 -0.2349331991 14.8935355279 15.1263162170
+ -2.7609557835 -0.8178332272 23.9457680195 24.1233325854
+ -2.4525760651 -0.8875456431 20.7344380730 20.8983077930
+ -0.3040230251 -0.1262664929 2.0120506042 2.0388037818
+ 0.4471710247 -0.0601494610 0.9100643664 1.0253179111
+ -0.1252205475 0.0683550023 4.3076231803 4.3122441768
+ 0.2980527890 -0.0562465421 -5.5666872649 5.5766913155
+ 0.2242318422 -0.0842506081 -38.3764359939 38.3771835558
+ 0.3939189646 0.0090531917 -50.6606697390 50.6622020101
+ 0.1284922244 0.0560503543 -46.4506815750 46.4511027906
+ 0.0041582800 0.1226483202 -21.0069579927 21.0131145947
+ -0.1750089941 -0.1987170938 -38.1970568697 38.1982296700
+ 0.3056408108 -1.1315283527 -73.5139675176 73.5249948543
+ -0.0388790079 -0.0791699709 -5.9403143157 5.9409690818
+ 0.9211768243 0.2433362955 -105.8252689623 105.8295579233
+ 0.5438371062 0.2885355883 -148.4794534724 148.4807953738
+ 0.1946713575 0.6125516373 -58.6014821578 58.6051730424
+ -0.4384726193 -0.1944966035 81.8157298410 81.8172550038
+ -0.1999039868 0.1085761263 40.0732934091 40.0741821478
+ -0.4221995482 -0.1599706045 176.1096514272 176.1109218925
+ -0.1587036933 0.3631242352 75.2648755566 75.2660482449
+ 0.0970587675 0.2343060684 95.5705753851 95.5710138010
+ -0.0276814501 -0.1119012186 154.4786789233 154.4787849830
+ 0.3462764215 -0.0629469569 45.0724722582 45.0740624410
+ -0.1875865008 0.1246637958 -5.9569378241 5.9815950179
+ -0.2015478096 -0.1631416279 -0.9620653069 1.0061243213
+ 0.1961232192 0.1769925118 -6.8410694965 6.8475909857
+ 0.1054079688 -0.2814167735 -1.3679298182 1.4005492593
+ 0.0753270619 -0.0353739220 -0.2510205070 0.2644556211
+ 0.1755308179 0.0795383679 -23.4791971629 23.4804028207
+ 0.3209458012 -0.4672289059 -13.1951128250 13.2080199617
+ 0.3768504377 -0.1701377349 -6.1090515673 6.1432198057
+ -0.1729256489 0.3936380687 -0.1911543968 0.4907891579
+ 0.3935373791 0.0957203060 0.3064746532 0.5267262512
+ -0.4301162607 0.4253493580 0.5574304989 0.8343444253
+ -0.0607844034 -0.0872409955 0.2003912894 0.2268532651
+ 0.0699012597 0.0811938824 -0.3147981057 0.3325304197
+ 0.0021048894 0.3937774633 0.2466311203 0.4851513326
+ -0.2065089867 -0.2859035445 0.0932338981 0.3905882013
+ -0.3731969960 0.2109007203 1.5644844631 1.6221488055
+ -0.5113530649 0.1472868567 2.2887165403 2.3497656855
+ 0.0621973168 0.0390745404 -0.1078862629 0.1305173232
+ -0.0613780206 -0.1736377607 0.5681537822 0.5972571084
+ 0.7950400248 -0.2240801065 0.3193110315 0.8965153958
+ -0.1835727253 0.4202710833 1.8190945031 2.0975657637
+ 0.1967172453 -0.1147441514 0.1171695359 0.2916716989
+ 0.2411947545 0.1951407088 1.1048047279 1.1559965733
+ 0.7572944863 0.1724697997 1.5663973146 1.8167229502
+ 0.0167322763 -0.1422794631 0.2100524963 0.2900435326
+ 0.5958071318 -0.1853412147 1.1627598835 1.4103274371
+ 0.1651276412 -0.1831219814 0.7085216174 0.8980226280
+ 0.0002598626 0.1002106602 0.9085069061 0.9140169815
+ 0.0335346980 0.2243570125 0.8609648272 0.8903488523
+ -0.0696665765 -0.0251451180 4.2078714507 4.2108369286
+ -0.1346751420 0.0027366696 3.3250230885 3.3306760886
+ 0.1241266812 0.2978393309 1.1363166653 1.1894583005
+ 0.0600001707 -0.1198918007 1.3437738314 1.3576383757
+ -0.5358208324 0.0246763205 7.6441342336 7.6788112379
+ 0.0793647025 -0.5593342474 -4.5006013363 4.5380662985
+ 0.1537446470 -0.5286506627 2.9604594599 3.0112172213
+ 0.5291572302 -2.2631388444 11.2099584711 11.4483611808
+ -0.0348474669 0.0766812248 -0.1151735660 0.1426860417
+ -0.0184335797 0.0493567407 0.0374518182 0.0646414991
+ 0.0777071925 -0.1508025095 -59.1345607332 59.1348040744
+ -0.0533979157 -0.0484011855 -27.0397616529 27.0398576967
+ -0.2627263530 0.1580236970 0.0155837625 0.3069844932
+ -0.2804563693 0.0380875280 0.0765010998 0.2931874027
+ -0.1737427686 -0.0819195155 0.0606528913 0.2014351754
+ -0.1437715723 -0.1320224570 -0.0610869552 0.2045282627
+ -0.0082605443 -0.0192976989 0.1370088401 0.1386075757
+ -0.1755869845 -0.0463218812 0.1638208384 0.2445685444
+ -0.0669030799 -0.0420585840 0.1230981148 0.1462808684
+ 0.0621391254 -0.0046150111 0.1365140209 0.1500621442
+ -0.1177539719 -0.1870079794 0.5684392996 0.6098862350
+ -0.1497115297 -0.1229067589 0.2628126388 0.3264813878
+ 0.0118145598 -0.2130785868 0.5220931360 0.5640242111
+ -0.0679588459 -0.0600913364 0.3462946527 0.3579795524
+ -0.0484887343 -0.1435121719 0.1948818926 0.2468316287
+ -0.3097811152 -0.3075917605 0.7624308720 0.8785658001
+ -0.1015189000 -0.0982464467 0.1223698177 0.1869032467
+ -0.2831258208 -0.1167078746 0.5241087429 0.6070180663
+ -0.3095604079 -0.1259990704 0.7914341531 0.8591108372
+ -0.0624577120 -0.1074357763 0.2504532311 0.2795894004
+ 0.0515823318 -0.1027906405 0.2419887300 0.2679275988
+ -0.0395516377 -0.5617946657 1.1361225329 1.2680504675
+ 0.1329994959 -0.3853447195 0.9685785940 1.0508681703
+ 0.0401177738 -0.0731886549 0.4111910096 0.4195760496
+ -0.1939431533 0.3873909418 0.6025053794 0.7420905744
+ -0.0227832122 0.2295299825 0.4181439600 0.4775431488
+ -0.7141501319 -0.1845931836 -0.4142646434 0.8459906909
+ -0.4321789969 -0.0394610073 -0.3351192876 0.5483072071
+ -1.2215959715 -1.1808526803 -1.4245997744 2.2172492614
+ -0.0602251054 -0.0679678120 -0.0401779863 0.0993023533
+ -0.0762747027 0.0352573917 -0.0834173241 0.1184033949
+ -0.0097554816 -0.0184539797 -0.2602261350 0.2610619852
+ -0.0152338788 0.0268349096 0.0231389354 0.0385693371
+ -0.1973226932 -0.0341334028 -0.1061979500 0.2266701106
+ -0.0893085642 0.0505154244 -0.3009886938 0.3179968892
+ 0.0062746955 0.0176510150 0.0092798647 0.0209056457
+ -1.3083641887 -0.8222789988 -2.4801912118 2.9642846486
+ -1.7007457924 -0.4357978267 -7.0395137197 7.3155696975
+ -0.2647091404 0.0194813425 -1.3574228565 1.3901536059
+ -0.0849011449 0.0021127548 -0.1743319894 0.1939183093
+ -0.2506358313 -0.2070046116 -1.0362655256 1.0860550026
+ -1.0761190086 -1.0051434043 -5.0920710604 5.3831109650
+ -0.1119058444 -0.1781109254 -0.4905633255 0.5517051576
+ 0.0235000309 -0.0174073379 -0.1727785699 0.1752361295
+ -0.1906383143 -0.1286147253 -1.1016446961 1.1253913768
+ -1.4463220337 -1.9448434710 -13.0293437485 13.2860232072
+ -0.1973402349 -0.1738367112 -1.1684036557 1.2057401288
+ -0.0760983219 -0.3531862250 -3.1115055432 3.1324109260
+ -0.1875099785 -0.2881791480 -2.6154020426 2.6379035346
+ -0.0947841914 0.1686006575 -3.8479581691 3.8528161513
+ -0.1698542550 0.0554662176 -3.5808220897 3.5852773682
+ -0.5992261740 0.0199871368 -6.3559332279 6.3841490186
+ -1.1887550997 0.1206281557 -10.9572544928 11.0222101168
+ -2.1209143446 -0.4311658351 -21.4756060158 21.5848399383
+ -1.2090917666 0.2838946608 -11.2108347605 11.2802834579
+ -0.6028162786 -0.0026441950 -10.5154663576 10.5327312305
+ -0.7362056070 -0.1513476166 -12.7035561660 12.7257708631
+ -0.0879124919 -0.0099958656 -11.5971606406 11.5974981546
+ -0.0776948633 0.1407133778 -25.9649439790 25.9654415056
+ -0.3450226338 0.2741977590 -120.5636422981 120.5680986821
+ 0.0122443551 0.0529893761 -31.3198908949 31.3202490931
+ -0.0357780990 -0.0502629627 -7.6268675142 7.6271170515
+ -0.0728876526 0.0412510425 -3.0070456579 3.0082117357
+ -0.4332334204 0.9625345457 -126.0501617357 126.0580730780
+ -0.0770622329 0.0452530116 -10.3180667998 10.3193976904
+ -0.0747186254 0.0642744265 -8.1032290597 8.1038284329
+ -0.0430005649 -0.0535560947 -2.6127493725 2.6136519637
+ -0.2233091561 0.6336498074 -54.0258855265 54.0323547646
+ -0.0447770018 0.0511137172 -2.8979063790 2.8987029812
+ -0.5093557172 1.4747225344 -77.6899867489 77.7056516017
+ -0.5524692359 0.5496582592 -27.3137703791 27.3248860708
+ -0.2018189200 0.3271961398 -12.4917954594 12.4977094697
+ -1.2379598071 0.6382542158 -102.9531899627 102.9668858760
+ -0.0620354965 0.0218568370 -7.9203940352 7.9218967162
+ -1.7369652102 0.2290843629 -93.7925132755 93.8101953401
+ -0.5236721761 -0.9485149337 -96.0160486336 96.0234512177
+ -0.3165605321 -0.2423959117 -25.6750685556 25.6781641026
+ -0.8777949867 -0.9579223558 -89.4315532282 89.4409908940
+ 0.3341846777 -0.0316253932 -39.1256198500 39.1270597951
+ -0.0071308990 0.0169952813 -2.0878116612 2.0878930101
+ -0.0208496598 -0.2102237731 -19.1292766079 19.1304430760
+ 0.0232465760 -0.0418916412 -1.3880453731 1.3888719417
+ 0.6445971420 -1.3341010107 -47.3138711910 47.3370651611
+ 0.1560349699 -0.5043920935 -17.3464782843 17.3545114354
+ 0.0374066805 -0.0216535239 -0.9240124041 0.9250227336
+ 0.2440577766 -0.0243399044 -16.9497306092 16.9515050763
+ 0.0563670228 -0.0441113909 -1.3797355445 1.3815908327
+ 0.0662919954 0.0026456136 -0.2431926735 0.2520799563
+ 0.5930111774 -0.0419709059 -9.5589345155 9.5774032433
+ 0.2058396143 0.0272531707 -2.4091454310 2.4180765889
+ 1.4181804630 -0.6288951525 -14.5464075281 14.6295658410
+ 0.3393551628 -0.3304410709 -3.5824110558 3.6162828962
+ 0.0821288096 0.0881774133 -1.1273669348 1.1337886061
+ 0.5370730368 0.1637705962 -5.2673363134 5.2971785031
+ 0.0661815275 0.1771386364 -0.4970495819 0.5318048306
+ 0.0202917763 0.1300094120 -0.7986196860 0.8093871794
+ 0.4103598017 -0.1182638766 -0.8815727030 0.9795672218
+ 0.2483370370 -0.1465756274 -0.8146714802 0.8642021286
+ 0.0016741361 0.0094410547 -0.1420299409 0.1423532239
+ 0.2752270019 -0.3561670177 -2.6811391011 2.7186599137
+ 0.0829618053 -0.1484599286 -0.5798666082 0.6042915644
+ 0.2776750483 -0.1520302145 -0.8929860225 0.9474389980
+ 1.9343859010 -0.2571320735 -3.2523012684 3.7928128424
+ 0.2233719836 -0.0254456308 -0.2932785275 0.3695332432
+ 0.0320700203 -0.0252418530 -0.0420920314 0.0586291434
+ 1.5619120238 -0.5157106655 -2.7622500255 3.2148953115
+ 0.1731709181 0.1333669538 -0.0845230848 0.2343481664
+ 0.0776802115 0.2114221912 -0.1504034209 0.2708408153
+ 0.0431824666 0.0957344446 -0.0536580262 0.1179363942
+ 0.5866548230 0.4889465580 -0.5342576261 0.9320213672
+ 0.2604941768 0.1575420237 -0.0687118754 0.3120865701
+ 0.0096804769 0.0028003350 0.0303690766 0.0319974112
+ 0.1648271246 0.0097769983 -0.1681202262 0.2356437590
+ 0.1026144901 0.0683766985 -0.0154122483 0.1242684348
+ 0.1625152665 0.0099929871 -0.0709955605 0.1776272537
+ 0.1958410273 -0.0525305582 0.0479322627 0.2083522721
+ 0.2149674247 0.3591314873 0.0977084157 0.4298061811
+ 0.4581324238 0.0260024020 -0.2777294723 0.5363721678
+ 0.0456138150 0.0782143050 -0.1039925118 0.1378859679
+ 0.0904419477 0.0711757798 0.0247217158 0.1177153378
+ 0.0997780553 0.1039671440 -0.0270954482 0.1466253411
+ 0.4213639461 0.5967158512 -0.4415570900 0.8535748625
+ 0.0277027136 0.0944917310 -0.0467457604 0.1090013471
+ 0.1703678112 0.0810224262 0.0177754563 0.1894882358
+ 0.1411968667 0.0655205326 -0.0502729498 0.1635752574
+ 0.7358255599 0.5864991910 -0.5738278054 1.1021337967
+ 0.1776632437 0.1712914504 0.0808347159 0.2596906629
+ 0.1594335011 0.0584967475 -0.0319239392 0.1728006037
+ 0.0795782378 0.0725790195 -0.0591324763 0.1228700930
+ -0.0552296199 0.0826230533 -0.0588212283 0.1154851365
+ 0.2850767327 0.5685353485 -0.2274696286 0.6754580801
+ 0.1924520804 0.0233998426 0.1776405277 0.2629477381
+ 0.2980529400 0.5724396682 -0.1822945022 0.6706370213
+ 0.6844786997 0.4050708675 0.1979129675 0.8196115182
+ 0.2014723121 -0.0174114117 -0.0999984684 0.2255968606
+ 0.1341285297 0.0112455687 -0.2173234334 0.2556294193
+ 1.0005753504 -1.0028804009 0.7532143621 1.6798593497
+ 0.5161975728 -0.2416625771 0.2372875664 0.6173865277
+ 0.5804902935 -0.1774763123 0.3763726013 0.7142290650
+ 0.2471596496 -0.2097533974 0.4318329725 0.5399667548
+ 0.2297222850 -0.1781709271 0.2074750447 0.3571597705
+ 0.3441845579 0.0720242587 0.6343069650 0.7252556994
+ 0.0819413598 0.0326772877 0.0584820172 0.1058410975
+ 0.2546737852 0.0639983314 0.4740810791 0.5419477769
+ 0.8727935229 -0.0089781279 1.8009370568 2.0013054297
+ 0.1483950375 -0.0458949472 0.2666376146 0.3085823243
+ 0.1364726690 -0.0080216403 0.5946689391 0.6101805333
+ 0.4867902977 0.0066708639 0.9009913319 1.0241067691
+ 0.4203802753 -0.0247380925 1.0707554223 1.1505862521
+ 0.0028492492 0.0002308254 0.0612901275 0.0613567537
+ 0.8495560359 0.0883301004 1.8656091242 2.0518394355
+ -0.4538401627 2.1979390930 11.4455016196 11.6634649429
+ -0.1269544686 0.3766165599 2.1883933638 2.2241904111
+ 0.0057124218 -0.0330515697 0.1085448252 0.1136090538
+ 0.0523215981 0.1076827015 0.9939074149 1.0010919354
+ -0.7342954428 0.8493696720 9.5548252505 9.6205667299
+ -0.2406969173 0.1942993786 3.0407003856 3.0563942955
+ 0.0056692703 -0.0041227568 0.0187737363 0.0200397336
+ -0.3984955147 0.0338337368 5.0508257659 5.0666344169
+ -0.0605247039 0.0405594702 2.0984917090 2.0997561199
+ -0.2206754750 0.1706546589 3.2214542061 3.2335101484
+ -0.5271134873 0.1129179000 6.4739072542 6.4963123552
+ -0.2101091638 -0.0152487793 3.3599052039 3.3665028390
+ 0.0622711736 0.0262767577 0.6140379785 0.6177465549
+ 0.4039186777 0.5806816996 8.4021613784 8.4318833817
+ 0.0899476311 -0.1620171754 2.0426555117 2.0510440466
+ -0.0400029868 -0.0489485113 0.4058271320 0.4107211423
+ 0.4137019625 0.3523235057 3.9845715394 4.0214539061
+ 0.1298930930 0.2144814394 2.1993357589 2.2135835841
+ 0.3275242646 -0.1499307408 3.9644542557 3.9807849624
+ 0.4133954429 -0.1516167889 6.7368248167 6.7511993049
+ 0.3141913477 0.0048821617 4.5405561317 4.5514162657
+ 0.2059415123 -0.1002236648 4.0189403453 4.0254612392
+ 0.3863544307 0.0402488297 5.0363278401 5.0512857599
+ 0.5390020792 -0.1011620478 7.4682759445 7.4883845110
+ -0.6677893123 -0.6103377218 104.9946987693 104.9997757130
+ 0.0120696533 0.0027307664 15.3105313626 15.3105363635
+ -0.0678234628 0.0445698548 6.0145687934 6.0151163135
+ -1.0279694291 -0.6871000294 110.7479389890 110.7559591776
+ -0.0917467285 0.0053246108 8.0857943258 8.0863165714
+ -0.7076021767 -0.1774929537 97.8258113779 97.8285315045
+ -0.0505036544 0.0568330897 20.1115812184 20.1117249316
+ 0.0746252539 0.0588046128 46.9720667497 46.9721628377
+ 0.1699032481 -0.0592395464 11.6492530451 11.6506425980
+ 0.2517511020 -0.0166314930 9.2722883356 9.2757202524
+ -0.2726442257 -0.0808311663 1.1836855533 1.2173660256
+ -0.1019438263 0.0505993152 0.3988297121 0.4147504957
+ 0.0748402258 0.2074888313 25.8634845399 25.8644250897
+ 0.0292970503 0.0034023733 11.7493916685 11.7494286871
+ -0.2679828908 0.3716673862 133.3419089380 133.3426962031
+ -0.1400992528 0.2284166377 53.5545941458 53.5552645039
+ -0.3735652016 -0.0297520335 -0.9905325562 1.0590518818
+ -0.1098337740 -0.0320222804 -0.5699407147 0.5813099884
+ 8.1523806910 3.5291167899 209.6719524197 209.8606376830
+ 9.6536038740 4.6779807642 252.3543347957 252.5822744014
+ 2.6130761555 1.0817291643 71.5066636536 71.5627048932
+ 0.5570161168 0.4182217451 16.6428092790 16.6579637671
+ 1.5850892238 0.1819712711 52.2327590060 52.2655673130
+ 0.3449977066 0.0570331437 8.0256901925 8.0333043801
+ 0.4882446136 -0.0462135659 13.7437444349 13.7524917593
+ 0.8718462509 -0.1270798568 37.7494784327 37.7714466085
+ 0.4658110940 0.1230080799 12.3071886128 12.3174056643
+ 0.5808173375 -0.5831507879 15.7754621981 15.8047555062
+ 0.5366160381 -0.1061015224 10.2359427386 10.2505481830
+ 0.0090842532 0.0109245554 0.0892334416 0.0903574937
+ -1.5233477270 -0.1271517514 13.2473771994 13.3352824691
+ -0.1446070324 -0.0050037664 1.6646628732 1.6709394702
+ -7.7926298297 -1.6178844302 68.1414047396 68.6064234967
+ -14.1315922828 -2.6608764968 107.0727606080 108.0341506570
+ -0.1464839017 0.0423942011 0.0704528150 0.1679833352
+ -0.2833955748 0.2964685070 0.1262234473 0.4291141878
+ 0.0680597359 0.0075197302 0.8341507933 0.8369565222
+ 0.4521954580 -0.2792699934 4.9075777744 4.9362730955
+ 0.1835410931 -0.2939161709 -29.8796279977 29.8816372264
+ 0.0915165339 -0.0460332457 -5.5380992193 5.5390466055
+ 0.1572723877 0.0703588449 -6.4708559710 6.4731493083
+ 0.2270059801 0.2744071951 -18.0342576211 18.0377736700
+ 0.1748121932 -0.0274661681 -13.6683828252 13.6695282563
+ 0.0261726204 -0.0297403927 -3.3624276695 3.3626610875
+ 0.1285697731 -0.1393060033 -16.3828330179 16.3839297576
+ -0.0890533671 0.1006980199 -22.6754750818 22.6758735394
+ -0.2855436187 0.0513187034 -40.4678333248 40.4688732580
+ 0.4708720407 0.2481474965 -21.9827359376 21.9891786332
+ 0.0681738965 0.0388525117 -1.6941470390 1.6959632624
+ -0.3110263754 -0.0291934473 153.4910937472 153.4914116470
+ -0.0141006011 0.0309398240 9.1680144488 9.1680774993
+ 0.1906553609 -0.0542015623 548.7000355149 548.7008735294
+ -0.0590571917 0.0229615907 133.0655099972 133.0655982799
+ 0.0896845599 -0.1769536197 23.4452766313 23.4461159304
+ 0.1770036074 -0.0747008172 24.3134634929 24.3142225356
+ 0.5486008049 0.0286564924 176.7843637695 176.7852173046
+ 0.2658341523 0.0396965333 61.7925520674 61.7931366303
+ 0.2658259369 -0.5311529878 -34.9217117725 34.9303079786
+ 0.1190707335 0.0505166981 0.1032394698 0.5244650545
+ -0.5492335360 0.1579201078 0.1728394967 0.7772677518
+ -0.0410677002 0.0298164808 0.0146684043 0.0528274608
+ 0.0769325622 -0.0141553235 -0.0474279641 0.0914789816
+ 0.0263477524 0.0931655100 -0.0448533859 0.1067044635
+ 0.1526468150 0.0417727924 0.0029768085 0.1582873264
+ -0.0155737281 0.0086433489 -0.0015747549 0.0178809491
+ -0.0236962589 0.0838321319 0.5177552767 0.5250332042
+ -0.0928147650 -0.0934298733 0.2076198479 0.2458652539
+ -0.0066400955 -0.1869950800 0.4887220901 0.5233168564
+ -0.0400914783 -0.0073243542 0.4462845414 0.4481415676
+ 0.0001870184 0.0111784626 -0.0069783007 0.0131791381
+ 0.0592847223 0.0870762845 0.2463994998 0.2679732656
+ -0.0300404471 0.0912089611 0.0628246103 0.1147538004
+ 0.0747859737 0.2357251404 0.0954417696 0.2650819026
+ 0.0401934412 0.0002559929 -0.0114773065 0.0418007992
+ -0.4051789345 0.0959559165 5.5968209399 5.6122884940
+ -0.0088520469 -0.0122637260 0.0596301684 0.0615184094
+ 0.0498265578 -0.0408402192 0.5536585563 0.5573943006
+ 0.0295131433 0.0617618687 1.9805503996 1.9817329384
+ -0.0522176288 -0.0194354645 0.0593242108 0.0813866084
+ -0.0782347112 -0.1478136417 0.6502217112 0.6713849986
+ -0.0339064490 -0.0381893155 -1.4503549410 1.4512537773
+ 0.0397523506 0.0796833313 -3.3251144474 3.3263066261
+ 0.4492735398 1.0109014175 -1.2679387783 1.6884658480
+ 0.1585007302 0.7899621114 -1.6533246090 1.8444849326
+ 0.0962548833 0.2772527438 -0.6248509830 0.6903425508
+ 0.0249869821 0.0278170996 -0.0129456216 0.0395692990
+ 0.3412084484 -0.1125330439 -1.1854953635 1.2387437783
+ 0.1514136912 -0.0189667935 -0.2817189184 0.3203925625
+ 0.2878130373 -0.0700408952 -0.7067324934 0.7662981722
+ 0.2366212168 -0.1825167553 -0.8667265711 0.9167970960
+ 0.0744112741 -0.0276107614 -0.4913528161 0.4977217915
+ 0.0664530445 -0.1587236185 -0.4594817592 0.4906451683
+ 0.5927407118 -0.0294442498 1.0838162571 1.2356642725
+ 0.7223280775 0.1087077877 1.2588099334 1.4553960571
+ 0.0347410548 -0.0330930107 0.2421263652 0.2468344890
+ 0.3594134433 0.0475258061 1.0426161071 1.1038501131
+ 0.8038296020 0.1540599194 -11.3461157314 11.3764536857
+ 0.8946307364 -2.1912462131 -21.6277577270 21.7573276898
+ 0.6186629512 -1.1488586903 -9.6893519734 9.7778137427
+ 1.1038059229 0.5062196075 32.0941804426 32.1171459517
+ 1.2629008145 0.5365758161 32.7902734287 32.8189710930
+ 0.0110457583 0.0412069348 0.8518625976 0.8529301879
+ 0.3659942492 0.1172760253 11.8819174722 11.8881314037
+ -0.5362752472 -0.0640226459 4.9071291286 4.9387332495
+ -0.9470432647 -0.2393834055 8.6977913631 8.7535849651
+ 0.1842244225 0.1329893621 -26.4880880623 26.4894302277
+ -0.0906696059 0.3815169974 -20.7590232593 20.7631958682
+ -0.2380632217 -0.0245891293 -0.6206607461 0.6796898333
+ -0.2087525687 0.3996732227 -1.7048107202 1.7689476240
+ 0.2076421686 1.7978822646 -4.5751062704 4.9451763085
+ 0.0230528477 0.0301594314 -0.0143167234 0.0405708474
+ 0.1487424944 0.2142918301 -0.6453739574 0.6960983141
+ -0.0010578890 0.0147331555 -0.1170141673 0.1179427842
+ 0.2879245718 0.6423244653 -1.6776861576 1.8193713533
+ 0.2560089496 -0.4926487158 -9.7677466217 9.8284010907
+ 0.4160639994 -0.2084433339 -4.2744396904 4.3019614511
+ 0.6749145140 -0.8709768466 -10.3015103852 10.3612116217
+ 0.5269024438 -0.0230384509 -3.2829735641 3.3250672742
+ 0.2587944179 -0.0895421981 -2.1010892681 2.1188601815
+ 0.3282324928 -0.4864828059 -5.1936529013 5.2267037939
+ 0.1477143864 -0.1443675690 -2.5435463654 2.5519188169
+ 0.3604991927 -0.5139618437 -4.9337220311 4.9983402199
+ -0.0860860481 0.0067206448 0.5255594983 0.5326056337
+ -1.8331175031 -0.3564381405 13.9281047060 14.0527388302
+ -0.2663511899 -0.1232384554 1.8636806771 1.8866468507
+ -0.5929916788 -0.2191651327 5.4452705689 5.4818467741
+ -0.1734017367 0.0021305579 1.1690403545 1.1818324975
+ -0.6071100992 -0.2438964322 4.8030096200 4.8473672805
+#SUBSTART
+ -1.4073086856 0.2244084049 0.7586594861 1.6204693362
+ -0.2715875076 0.3381806225 -0.3047122252 0.5481379688
+ -0.1434263522 0.0154243305 1.3289698392 1.6331933305
+ -0.3718276920 0.3084898354 1.5948857780 1.6722925106
+ -0.4297409867 0.4160429242 -3.0332116872 3.0947733285
+ -0.7926277650 0.5495319793 -3.3130761171 3.4534326855
+ 0.1381853144 0.1769882476 -2942.7730168376 2942.7731749828
+ -0.3042028248 -0.2524771513 -1425.4500871803 1425.4501488323
+ 0.2972749356 -0.3670605216 303.0838453360 303.0842455313
+ 0.2916080890 -0.1483834141 13.8516644720 13.8562311378
+ 0.2913379747 -0.9958179705 91.2644077427 91.2704121370
+ 0.0027885907 -0.7072888780 61.3065447519 61.3107835094
+ -0.4357703372 -0.5091103315 76.0465078154 76.0552643268
+ -0.3381816563 -1.9711726561 85.0551753848 85.0838735601
+ 0.7188800577 0.4113850229 458.3573101876 458.3580797895
+ -0.2903275900 0.6683921995 87.8156226089 87.8236583332
+ -0.6726632517 0.4928389766 83.7726981329 83.7821168887
+ -1.1045433173 0.7363925935 71.4515008046 71.4700080384
+ 1.0446936986 0.0386739562 22.9455328316 22.9884907752
+ 0.6637980758 -0.1165318498 7.7250445760 7.8109456439
+ 1.7261513373 -1.4701137154 5.6354807938 6.1465296831
+ 0.5341312442 -0.1593820988 1.4450189706 1.6255520984
+ -0.0853882078 -0.0914491157 0.0910301826 0.2083755404
+ 0.3648937796 0.2126945546 0.5445763932 0.7031569362
+ -0.3841295328 -0.4214105181 0.1382026204 0.6030937505
+ -0.0489399565 0.0659862265 0.8078117633 0.8238864796
+ 0.6081472190 -0.2305814981 0.0620175590 0.6680844481
+ 0.1057754186 -0.7796115934 0.1521013926 0.8133863131
+ -0.1931394774 -0.3083753011 -1.4599364649 1.5110567331
+ 0.1844528891 0.0799340123 -1.1006420764 1.4610328811
+ 1.0268184407 -0.8795911895 -0.9127564809 1.6372663037
+ 2.3811360695 -0.5868449572 -39.9372646672 40.0127327843
+ 0.1987071910 -0.4907348503 -4.1566771964 4.1925827769
+ 0.0427580057 -0.0403196998 -3.1556886126 3.1593202322
+ 0.1457056341 -0.0765693890 -2.9754707922 2.9832866479
+ 0.4250984119 -0.2671449863 -18.8160681230 18.8232827768
+ -0.2162042345 1.1108102277 -49.5473648164 49.5691920014
+ 1.8004625091 1.8539426095 -160.9400132348 160.9635033797
+ 0.6800951861 0.4608828499 -0.2292879631 1.2680165718
+ -0.4842635636 -0.3044188764 0.4782790854 1.1994685156
+ -0.1958316225 -0.1564639735 -0.4696270612 0.5503275033
+ 0.0242214596 0.7685691002 -0.7161183325 1.1609270291
+ -0.2448525069 0.4165125712 0.0620585056 0.5067213387
+ -0.1793392402 0.0351416866 -0.1245341425 0.2211475839
+ -0.1554687474 0.1475976208 -0.0537988679 0.2210201513
+ 0.3464038392 0.4726687358 0.0136933364 0.5861730641
+ 0.0070062933 0.0869944202 0.0234794673 0.0903792160
+ -0.1321265254 0.0351219547 1.1200982878 1.2332828442
+ 0.2585853238 -0.1699715449 20.2289993137 20.2374861423
+ -0.0668030997 -1.2628280592 186.3919879327 186.3963300139
+ 0.2309028894 -0.3838699762 34.3686783686 34.3718810206
+ -0.9944544957 0.5651682112 1.4104584660 1.8818578308
+ -1.4188406749 1.2466226515 1.7329240818 2.5670377002
+ -0.2344180284 0.8406508243 0.3038032475 1.0495796600
+ -0.5746128673 0.7198529691 -0.1547752653 0.9443534360
+ -0.5910482736 0.7124621376 0.5236310894 1.0726647481
+ -1.7545777209 1.7248032086 -1.2252209573 2.9047284324
+ -0.1376547378 0.1834074230 -0.1809580517 0.3237479128
+ -0.1623937702 0.0829088275 -0.0199579355 0.2304858225
+ 0.1079086074 1.0628009158 1.4161623620 2.0073608730
+ -0.0128872716 0.7555337672 0.9621790792 1.2313674190
+ 0.0367239000 1.1118253301 2.2619882288 2.6901462305
+ -0.1635483305 0.0723964146 0.3728829454 0.4364753981
+ 0.1940775460 0.8543822134 6.4707481537 6.5487321031
+ -0.0916205274 0.4564440170 0.1625984886 0.6977210691
+ 0.0172684216 -0.0474114177 0.0352085332 0.1525302154
+ -0.2916069220 0.1686583846 0.0192551822 0.3651448953
+ -0.2845411547 1.0902542292 -0.2780216810 1.1689284807
+ 0.0821992512 0.0482666276 -0.2209382615 0.2781724007
+ -0.2165311248 0.4202557578 -0.5661632982 0.7506805547
+ -0.2452901795 -0.2663369417 -0.8225781474 0.9095148334
+ -0.8708068062 0.2375344960 -5.0154039237 5.0959791648
+ -0.4656214132 0.0821960416 -2.1757027081 2.2264864167
+ 0.1583343417 0.0393639269 -0.5155504598 0.5584723306
+ 0.0806922830 0.8891298948 -7.3607920105 7.4160502979
+ -0.0644168292 0.1948967993 -3.9743606772 3.9821045776
+ 0.0872750546 0.0066353098 -1.7108242833 1.7187380474
+ -0.9958460119 0.4712635647 -15.0672844893 15.1081547614
+ 0.1367956641 -0.1249876171 -7.0635079538 7.0673162768
+ 0.1103147978 0.0339030942 -56.0455350216 56.0458276272
+ -0.1206291930 0.1451066612 -79.9158775442 79.9161003241
+ -0.3681603456 0.1513067369 -152.7221988009 152.7227175058
+ -0.0082546796 0.0840658125 -42.7213485566 42.7216600506
+ 0.2357582353 0.1517696000 -29.3151445204 29.3168175967
+ -0.0625245159 -0.0804413073 -36.9894249640 36.9898285894
+ -0.0738297296 -0.6002312138 2175.2652568998 2175.2655433198
+ 0.2845736213 -0.7229341665 407.5696090201 407.5703734234
+ 0.1347292020 0.1849934725 17.4769443067 17.4784426321
+ 0.7455304045 -0.2238021965 33.2974425675 33.3065396663
+ -0.3754948826 -0.9994709816 94.5263223575 94.5324549394
+ -0.1705928907 -0.4981694386 579.0085384013 579.0087778405
+ -0.2451430439 -0.3741365517 556.1585565822 556.1587364529
+ -0.8698398317 0.4428968185 353.7856611054 353.7870351815
+ -0.6803084172 -0.0215772354 214.4523318370 214.4554702199
+ 0.1147605945 0.3420667800 50.7604686098 50.7619427618
+ 0.0138363617 -0.0660850048 21.5928934391 21.5934500608
+ -1.1783357251 -0.0128872450 196.8041564599 196.8099271704
+ 0.0222661559 0.1588997441 17.9943270973 17.9955836910
+ -0.0291045947 -0.1954292887 15.8783190618 15.8801617025
+ -0.5032543791 -0.0439154148 6.7266544244 6.7470403189
+ 0.2125775021 0.0727782255 2.2173749224 2.2330958770
+ 0.2818969094 -0.3229013163 2.4917199986 2.5321689248
+ -0.0386025101 -0.2709770833 2.3472255885 2.3672487156
+ -0.1366767264 -0.3338381200 0.9760057606 1.0498549650
+ 0.1291841829 0.0887845717 0.1219844878 0.2427576023
+ -0.2367607858 0.0918027332 2.7526400727 2.7678494479
+ -0.4918229504 -0.9008479499 1.9534241940 2.2110546601
+ -0.0113849321 0.0044217848 -0.0101067997 0.0158529575
+ -0.0264249798 -0.1752600880 -0.1130546692 0.2102284384
+ -0.0093464343 -0.3541072918 -0.2037413839 0.4086442726
+ 0.2021554594 0.4588086728 0.2441414100 0.5748539301
+ 0.5371777257 0.0549079082 -0.2623176503 0.6163319901
+ -0.1039642276 -0.2506450354 -0.4232596724 0.5217854248
+ 0.5575016715 -0.3209493639 -0.1397161083 0.6729167733
+ 0.3322198700 0.0510629757 0.1473152330 0.3926309110
+ 0.4890294551 0.1899892112 -5.1765307604 5.2872023043
+ 0.2012864293 -0.1708344597 -1.5422866905 1.5709324173
+ 0.2159370145 -0.8374536557 -7.1766919044 7.2454471961
+ 0.1888827412 -0.2703934413 -0.9140742572 0.9817335868
+ 0.0961639038 -0.0748510316 -3.3126609902 3.3178385726
+ 0.9515906017 -1.0317363880 -14.1683500281 14.2462552317
+ -0.0757139284 -0.0103448175 -2.2637682670 2.2693536890
+ 1.0970490058 -0.2420135636 -18.5927362186 18.6331845947
+ 2.0023280462 -0.8149866993 -30.6361010514 30.7125982024
+ 0.0302028820 -0.1423387585 -3.0298500758 3.0365513009
+ 0.0369666684 0.2099644160 -1.6691905049 1.6885284473
+ 1.2792192769 -0.8677931730 -18.9208843752 19.0070955983
+ 0.5684792439 -0.3696018053 -4.1241786538 4.1818779870
+ 0.0478064433 -0.0899281926 -1.9600103648 1.9676109755
+ -0.0419350811 0.1372476457 -8.6818311922 8.7335639294
+ 0.2896088597 0.0503279976 -4.9854055763 4.9960138855
+ 0.3570761778 -0.3224608693 -11.5561691035 11.6042802681
+ 0.2938150888 -0.0318399166 -2.2681527894 2.2915797930
+ 0.0593179775 0.0181641691 -0.6054101853 0.6085803578
+ -0.3069871669 -0.0962606155 -6.3436924553 6.3518454951
+ -0.0725311020 -0.0768744831 -3.5201754769 3.5217617516
+ -0.2007497857 -0.1544957315 -11.7502809642 11.7538398802
+ 0.1580083280 -0.0153900567 -13.7337567341 13.7353834057
+ 0.0545720054 -0.2055421314 -27.4614015646 27.4625796558
+ -0.1246944612 -0.0401178502 -7.1365628077 7.1391292636
+ -0.0054318744 -0.5412320319 -184.7080896363 184.7088826740
+ 0.2230783438 -0.3063610017 -47.9887677568 47.9902641358
+ -0.4096785203 0.1505520196 -23.8371977856 23.8416018853
+ -0.0428569866 -0.3859390289 -45.2260497130 45.2279320563
+ -0.2607104349 -0.0047999644 -100.3311375294 100.3314763717
+ -0.4007609011 -0.1708944406 -188.8566308923 188.8571334268
+ 0.1393463890 -0.0004270359 -21.6251756810 21.6260750164
+ -0.4375133564 -0.1116217969 -85.7436341143 85.7449365751
+ -1.2048266587 0.5522436288 -81.4775692856 81.4937646006
+ -0.3407117917 0.0184556330 -30.6305847314 30.6328031024
+ 0.6907488015 0.4389634667 -75.6915938626 75.7018493570
+ -0.0183040454 0.2350699444 -22.3486726492 22.3503521646
+ -0.1916377593 0.2010476413 -4.8350038352 4.8449857643
+ 0.1872613545 -0.0062152054 -12.1676632472 12.1699060853
+ -0.1103173946 0.4985362686 -8.5212831950 8.5377078548
+ -0.1977428801 0.3283557174 -3.4231630834 3.4473823409
+ -0.0974457282 -0.1339545461 -0.8594369539 0.8752550303
+ -0.2071332904 -0.4823650456 -4.0723038016 4.1060003031
+ 0.0413038850 -0.0097964921 -0.0148397271 0.0449688745
+ 0.2526841941 0.1470257734 0.1799119300 0.3432698393
+ 0.0282405849 0.0338927352 0.1202185244 0.1280575720
+ 0.2917414074 0.5092544889 0.6267527035 0.8586455233
+ 0.6114514097 0.2965263516 0.6586222575 0.9463529900
+ 0.1374858610 0.1008525767 0.2605961883 0.3114225065
+ -0.0402358604 0.3051960096 -0.7562287177 0.8283267394
+ -0.1453442669 0.1126728744 -1.8397345055 1.8541636843
+ -0.2485005504 0.0453959529 -2.8219594484 2.8366790847
+ -0.5143013846 0.5924367407 -4.7153675745 4.7822231601
+ -0.5997874934 0.5695644031 -4.7944216342 4.8652469057
+ -0.2366520778 0.2996291383 -1.8184218833 1.8580742644
+ -0.1371379721 -0.0169230861 -0.2396901206 0.2766668902
+ -0.2781789409 0.1623838678 -0.5516909626 0.6388387605
+ 0.0051386329 -0.1312612754 -4.5614209608 4.5633120767
+ 0.1853041625 -0.2234548303 -7.7998176952 7.8052178555
+ -0.0123870716 -0.0124588271 -45.2740680155 45.2740714243
+ -0.0017482752 -0.1230569877 -32.4867943433 32.4870274537
+ -0.1571135238 -0.3819053014 -220.9311079106 220.9314938593
+ -0.0733985245 -0.1929764685 -174.5326954670 174.5328175853
+ 0.0747244754 -0.0526433294 204.4512786074 204.4512990403
+ 0.0812010923 -0.0924754200 84.5163846931 84.5164742930
+ -0.1401062547 -0.0649775140 41.0245392914 41.0248299924
+ -0.1356553464 -0.1057567253 99.3410080288 99.3411569443
+ -0.5439045608 -0.6396478851 42.9540066406 42.9622120947
+ -0.0115365419 -0.0596764266 2.2732933920 2.2741058054
+ 0.0791973129 0.0000737039 12.3432660570 12.3435201289
+ -0.0462761664 0.0384524090 5.5245407965 5.5248684223
+ -0.0343470783 -0.0094523572 12.3745339166 12.3745851939
+ 0.0341766775 0.0987033892 10.4370098847 10.4375325502
+ -0.0982495399 0.1251032143 22.6988206764 22.6993780507
+ -0.1959404139 0.0261293230 31.4398552495 31.4404766742
+ -0.4378803685 0.6158985993 8.9699889321 9.0017649238
+ -0.0676874145 0.2211763060 2.6239414251 2.6341163882
+ -0.2986867849 -0.0365416970 1.7046658655 1.7310213182
+ -0.0334433032 -0.0489590654 0.6008831815 0.6038013270
+ 0.2484395709 0.4785677243 2.9369071515 2.9859961326
+ 0.0041604757 0.1309690227 0.5545587461 0.5698294458
+ 0.5181978935 -0.2442365421 1.8529539219 1.9394893096
+ 0.1935569199 -0.0403293485 0.8940320263 0.9156331152
+ -0.0774124077 -0.5757338872 1.5257093538 1.6385148785
+ -0.1682496198 -0.2668262081 0.4891607655 0.5820501820
+ -0.2851212791 -0.3546207208 1.0330294040 1.1288045663
+ 0.4830674862 -0.3914343011 -0.2097636874 0.6561827587
+ 0.3480080564 -0.1506498071 -0.1518427065 0.4084864492
+ -0.0257524367 -0.2866292840 -0.7010043455 0.7577774257
+ 0.0495962635 -0.1847932063 -0.7505239040 0.7745285333
+ 0.1420674626 -0.1005393247 -1.1054018139 1.1190194324
+ 0.4147068139 -0.0666002430 -3.2984628951 3.3250977135
+ 0.0361005887 0.0017994858 -0.6651374491 0.6661188459
+ 0.3213805872 -0.3933630390 -6.1353583079 6.1563496919
+ 0.3223663596 -0.1767910366 -2.5835154034 2.6095453589
+ 0.8323700359 -0.4415664779 -8.3353887684 8.3884758301
+ 0.1202947581 -0.3007357189 -1.7889286728 1.8180150158
+ 0.0603739512 -0.2029036102 -0.6977619128 0.7291684140
+ 0.8009141295 -0.9531460441 -23.8792193209 23.9300525865
+ 0.0116040592 -0.1048654411 -2.0743317173 2.0816972098
+ 0.2635800490 -0.1770750191 -9.6457522837 9.6509775216
+ 0.0014224282 0.0088967123 -1.4624198548 1.4624476081
+ -0.0194250588 0.0157769812 -0.2612484606 0.2624442878
+ -0.0538118691 0.2063053973 -10.7499991119 10.7521132127
+ -0.3822178732 0.0022766991 -14.1446987021 14.1498620863
+ -0.2284378798 0.0456840426 -5.7362882227 5.7410167627
+ -0.0823806128 0.2977867805 -15.5645852254 15.5676516139
+ 0.0006003603 -0.0149160848 -0.7141627576 0.7143187624
+ 0.1363821414 0.0947799476 -16.5758441623 16.5766761752
+ 0.1240645894 0.2900367962 -38.7299790691 38.7312637550
+ 0.1584652475 0.1957714477 -15.7722773880 15.7742883103
+ -0.0151755746 0.1144476973 -6.8955830995 6.8965494891
+ 0.0330709898 0.2543723703 -17.7123904899 17.7142478209
+ 0.1175142665 0.1148276290 -11.9647500727 11.9658781244
+ 0.0395684840 0.0706256030 -3.0080087228 3.0090978909
+ 0.0558038148 -0.0566654388 -1.7627066253 1.7644998398
+ 0.0754912541 0.1606681665 -1.0239819269 1.0392555873
+ 0.0792865115 0.0316028653 -1.0946932550 1.0980156714
+ -0.0430194261 0.0253016252 0.4866299357 0.4891825197
+ -0.2073596150 -0.0545639159 0.7477831170 0.7779169756
+ -0.5137360858 -0.0723349699 0.7093761775 0.8898603597
+ -1.0136196057 -0.7390948240 1.7424348281 2.1515679815
+ -0.1435789301 0.2516162283 0.4919791452 0.5709370498
+ 0.0304753978 0.0800446982 0.1577593251 0.1795101898
+ -0.0279849115 0.0759967051 -0.0239799637 0.0844611930
+ -0.0757996771 -0.0400231364 0.0260091301 0.0895763213
+#SUBSTART
+ -0.3323374991 -0.1849449482 990.8964226915 990.8965055118
+ 0.1851082386 -0.0668942268 6009.0752431881 6009.0753198664
+ 0.2238488133 0.1243611064 -1386.7806346456 1386.7809765763
+ 0.0897287955 0.0021402654 -3842.0488385844 3842.0489545184
+ -0.0949850912 0.6239550309 -1649.1696683033 1649.1700559809
+ -0.0950551274 -0.6282164615 -75.5273635809 75.5358636111
+ 0.1365263817 0.0469319655 -11.1986218920 11.2387866309
+ 0.2247187435 0.0842504512 -8.6333204404 8.6377831800
+ -0.3375532546 -0.0015831824 -26.6132329715 26.6157395856
+#SUBSTART
+ 0.1810322254 0.0178146512 0.0892185688 0.2460279788
+ -0.2939165691 -0.8473522394 -2.0299790128 2.2236652951
+ -0.0251269998 0.2986636221 -0.7130983881 0.7860155350
+ 0.0595672856 0.0212654075 0.3968959133 0.4254487396
+ -0.2081797921 0.3708634056 11.5917897841 11.6004288143
+ 0.3044595833 0.1687424704 208.6629192129 208.6653249006
+ -0.3077703576 -0.1537005470 245.7125868223 245.7146240278
+ 0.2461047686 -0.3082749946 379.3205885676 379.3208193496
+ -0.0420705500 -0.4619819525 4369.2681157364 4369.2682411061
+ 0.3226933505 -0.1987493578 0.1925572573 0.6514227222
+ -0.4168787422 -0.4293726415 -1.4707740236 1.5939902022
+ -0.0714745648 -0.2131724828 -7.8183280144 7.8776363621
+ 0.9214129261 -0.6178134153 -11.2178351706 11.2734201065
+ 0.0552191616 -0.4879636923 -73.9932083789 74.0007864453
+ -0.0175691986 -0.1899127456 -3.3873382112 3.3955729222
+ 0.0912017593 0.1609041419 -19.8548606412 19.8618564073
+ 0.0296019750 0.1095821365 -6.2349475650 6.2554853225
+ 0.5287070335 0.1488847615 -3.1217131556 3.1727386608
+ -0.9872014151 0.4878894402 -6.1149721180 6.2332304764
+ -0.1546037430 0.3031467785 -6.2097851244 6.2206680801
+ -0.0033282968 -0.6183878494 -3.8052693837 3.8577155776
+ -0.2102238460 0.0257763583 -0.4667992189 0.5312624415
+ 0.4983626645 -0.0460050053 1.4574542996 1.5472991392
+ -0.0904809114 0.0309504573 0.0629561049 0.1805214175
+ -0.0044507503 -0.0743567545 0.9657583131 0.9686267885
+ 0.2566031196 -0.5323530620 11.4152174086 11.4305045133
+ -0.0638548971 0.0866472233 2.2531207796 2.2600040313
+ -0.0384200749 -0.1222174271 1.6524364124 1.6632615801
+ 0.0615884420 -0.0455483303 722.5462595128 722.5468744625
+ -0.4162307888 -0.3649134992 645.1774576789 645.1783773946
+ 0.0024828864 0.1586327153 260.5247933301 260.5248790231
+ 0.0667940688 -0.1003494478 0.1981036725 0.2706590277
+ -0.5597917977 -0.0908385050 1.5336975337 1.6411357045
+ 0.5769956063 0.2996830848 -0.6859928022 0.9554055634
+ 0.0128466165 1.1856493653 -0.7212063398 1.3948289582
+ 0.2928539826 -0.6027490636 -2.9560111083 3.1733047988
+ -0.0069313949 0.5693822586 -11.7902506017 11.8412247696
+ 0.6398037326 0.0823799751 -57.8159620496 57.8197291829
+ 0.1916519700 -0.2431471992 -8.8006704395 8.8072203905
+ 0.1131809324 0.3279531494 -222.8898128536 222.8900828594
+ 0.3583488589 -0.1509286507 -185.5398167679 185.5402242093
+ -0.1692890662 0.1603674237 -189.0739757910 189.0741195878
+ -0.1698428646 0.1343450021 -315.3713889156 315.3714632647
+ -1.2987988061 0.3172114832 -3323.5097651885 3323.5101665492
+ -0.1056512515 -0.1121608296 -631.8749007012 631.8749349026
+ 0.1935358236 -0.3213394311 -987.5815127539 987.5815938586
+ -0.2369081669 0.2751464571 -879.4737652040 879.4738512275
+ -0.0138602112 0.8827762193 -16.0025033374 16.0268399574
+ -0.0373644452 0.0599785436 -1.1854284019 1.1875327463
+ 0.3355411691 0.0756266271 -6.0018612567 6.0117090588
+ 0.0529694955 -0.0409067167 -1.5118966824 1.5133772514
+ -0.1206493712 0.2743459086 0.9933265310 1.0375545988
+ -0.0953701498 0.0438061856 0.4613666582 0.4731528724
+ 0.0223632468 -0.0435730828 96.3789713558 96.3789838001
+ 0.0898061219 -0.0303752447 36.1163424753 36.1164669035
+ -0.0826570527 0.0635830120 0.0891363062 0.1371869850
+ -0.0191033014 -0.0580761473 0.0936827493 0.1118670306
+ 0.2062754916 -0.4073488518 -0.3469645937 0.5734693495
+ 0.0000186702 0.0053112679 0.0063493150 0.0082779054
+ 0.0621284386 0.0057110014 -0.1937957184 0.2035911071
+ 0.2437469596 0.1152997579 -0.2792828485 0.3882080936
+ 0.0340782664 0.0827969448 -0.0852655976 0.1236401409
+ -0.0051543280 0.0716801199 -0.3648869059 0.3718965727
+ -0.0792502316 0.0538145129 -1.0419407960 1.0463351391
+ -0.1297914381 -0.0118994731 -3.7253718675 3.7276511326
+ 0.0108946615 0.2613177275 -0.9328346318 0.9788083998
+ -0.2082835871 -0.0080278468 -1.8057683384 1.8231087669
+ -0.0400225206 -0.0353784130 0.0701484656 0.0881716592
+ -0.3514957024 0.0859383955 0.3205454659 0.4834087632
+ 0.0634920507 0.0549100321 0.1152971723 0.1426176359
+ -0.0443661600 0.0903968748 0.3346474959 0.3494694516
+#SUBSTART
+ 0.3368696623 -0.8585951361 5.2974639928 5.3789656363
+ 0.0071880380 -0.1662948218 4.4521455075 4.4574415353
+ -0.7837243531 -0.0547847951 1.4540340341 1.9011133561
+ -0.8434469455 0.1509376090 0.2840034109 1.3019959454
+ 0.1150352615 -0.1322159852 -1.4732989155 1.4902361080
+ 0.3590460836 0.1382200943 -65.6758316396 65.6771068198
+ -0.1341584617 -0.1345165590 -27.1816111712 27.1867563350
+ 0.3491750992 0.1292657251 -41.9743250996 41.9788785153
+ 0.2888000874 0.1297856795 -695.7325980811 695.7326841268
+ 0.3971589232 0.2626488563 -4647.0441135601 4647.0442326756
+ -0.0158668582 -0.7132075801 427.4508606964 427.4524857543
+ -0.0285185634 -0.0550855004 541.8765024023 541.8765239270
+ -0.1612581004 -0.7567178223 7.5902834396 7.6308917248
+ 0.1725965085 -0.3036194485 2.9467844461 2.9706889237
+ 0.6114937660 -0.7657569789 5.8938823283 5.9747934924
+ 0.0490472552 -0.1355833714 0.7431229822 0.7569810106
+ 0.0272769160 -0.0635907392 0.8284009662 0.8312857349
+ 0.3181204909 -0.0853870585 3.2485827534 3.2652383531
+ -0.0720122819 -0.0951456055 0.7252210456 0.7481068138
+ 0.2613875374 0.0727677553 0.0576595134 0.2773863918
+ -0.1862279387 -0.0149300886 -0.0738870217 0.2009055616
+ -0.4506888046 0.1398419187 -0.3212666698 0.5708663889
+ 0.3697503395 0.0744408423 -0.9273335582 1.0107838867
+ 0.4553620696 0.0215921172 -11.5208554229 11.5307159489
+ 0.3965691932 0.4389910569 -11.2315696607 11.2480050276
+ 0.3348850359 -0.0538237233 -1.4651726970 1.5103826658
+ 0.2594502435 0.2051003690 14.7039945730 14.7083757356
+ 0.0789085410 0.0261817010 13.2510396242 13.2520354265
+ -0.1314316568 0.3216804496 5.1512566120 5.1629640009
+ -0.0556909431 0.0101736394 0.7944451767 0.7964597434
+ 0.2609930299 -0.0508045778 15.5262955765 15.5291993541
+ 0.2511664606 0.1289706808 12.3455827446 12.3495996338
+ -0.2038200758 0.0459172805 6.5239564974 6.5287930879
+ -0.1277010414 0.1584643002 5.3328273452 5.3385340469
+ 0.1162856735 -0.2314895134 2.1236001545 2.1438906581
+ -0.1027563410 0.8539899379 -0.7388377191 1.2366809673
+ -0.1143405220 -0.1234521848 -0.1724221444 0.2409223791
+ -0.2730815768 0.0682566171 -1.0767145851 1.1216178476
+ -0.2571520168 0.4949288797 -3.5187828930 3.5967423822
+ -0.2702889850 0.1316203716 -5.6566816311 5.6663839367
+ -0.0226088593 -0.0717747448 -0.4294609426 0.4360039859
+ 0.1249473634 -0.0572161814 -0.8666077917 0.8774363793
+ -0.3020668905 0.3045573904 -20.9982208508 21.0030654499
+ -0.1236766178 -0.2308697598 -5.3127823938 5.3210650533
+ -0.2363705707 -0.0128816051 -16.2972448084 16.2995615006
+ -0.6544995275 0.1060512129 -20.5035333472 20.5147258328
+ 0.0667084674 -0.0221893465 -2.3387810368 2.3439963545
+ -0.0291284966 -0.1001494410 -22.4991847265 22.4998593667
+ -0.2739666830 0.2637022572 -40.7588655912 40.7608783111
+ 0.0569549382 -0.3876834303 -915.8598841531 915.8599786120
+ 0.0645914946 0.0566318670 1.2084173821 1.2194800465
+ -0.0505956378 0.0454348898 20.4950376798 20.4956257169
+ -0.3302139807 -0.5642301659 6.5513452770 6.6023604000
+ 0.2342852500 0.0378351526 370.9782714067 370.9786811292
+ -0.3256501397 -0.3777810766 104.9410616268 104.9423396999
+ 0.1862088064 0.5869897934 506.7497253453 506.7509681480
+ -0.0633015585 0.0677961633 108.5603530496 108.5604823932
+ 0.0250330885 0.2123452581 318.2002311822 318.2003336286
+ 0.2516022095 -0.2812881277 3.7111208227 3.7302606401
+ 0.0841557676 -0.2194918858 3.0383261666 3.0474062374
+ 0.4586002886 -0.4496622154 5.1624691853 5.2022685842
+ 0.4460362326 -0.6049332808 5.4038385080 5.4558558646
+ -0.3073715775 0.4735629943 0.9400438060 1.0965498408
+ 0.0107405403 0.0213418365 0.0178791893 0.0298412232
+ 0.0128147488 -0.0760367607 -0.0422139547 0.0879080470
+ 0.0073705163 -0.2805906689 0.1017263936 0.2985526874
+ -0.0434895846 0.0055241575 -0.3964992607 0.3989154347
+ 0.0794790577 -0.0595538914 -1.7345688863 1.7374097985
+ -0.2206242383 0.0701211784 -3.5165807175 3.5241923865
+ -0.1194413632 -0.0447177213 -1.2556238868 1.2620844896
+ 0.1445738335 0.3153621856 24.2517330665 24.2542143065
+ 0.3388193355 0.4973289156 53.6077454940 53.6111230207
+ 0.3657810027 -0.1249384141 29.3215007665 29.3240483656
+ 0.2783765255 -0.2307472765 27.2324525793 27.2348528779
+ -0.1166030866 0.1360596774 6.4150085245 6.4175106455
+ 0.0141450807 0.1465078520 6.9530601358 6.9546178821
+ 0.0925247223 -0.0654439136 4.1712817262 4.1728209846
+ 0.5610713342 -0.0441785868 19.4293479561 19.4374976473
+ -0.0323884936 0.0696982267 0.7036091310 0.7077942261
+ -0.2005381296 0.2911601389 1.4649470581 1.5070035338
+ -0.2087065515 -0.2842740918 0.1112361986 0.3697886907
+ -0.0858159407 -0.0635366405 -0.0333783763 0.1118722323
+ -0.0586366139 0.0567762287 -0.3265184396 0.3365651260
+ 0.0663339209 0.0036212500 -0.2559802497 0.2644601874
+ -0.2741617903 -0.2955972052 -2.0328142898 2.0771028180
+ 0.3064948434 -0.0170570671 -0.8567511600 0.9207238281
+ -0.1665786910 0.1003460362 -1.2168799599 1.2323208284
+ -0.0131392992 0.0829759230 -0.9857929779 0.9893661811
+ -0.0369434723 0.0120319362 -0.2648274145 0.2676623752
+ -0.2777115899 0.0303040330 -6.3841561964 6.3902654407
+ -0.1094355849 0.1410765685 -160.8258179266 160.8259170361
+ -0.0268905946 0.1333970439 -251.8301714473 251.8302082139
+ -0.1205128311 0.1415721200 1.0354311161 1.0519903059
+ 0.0036628701 0.0245551706 0.7056755871 0.7061121775
+ -0.2033320150 0.2330877167 50.2916913073 50.2926424871
+ -0.0779639114 0.0109291401 21.1889049047 21.1890511556
+ -0.6028054782 1.2491670411 3531.4120765533 3531.4124735819
+ -0.0943278989 0.1246921184 684.5156093973 684.5156414825
+ -0.0927133414 0.2683709817 -0.0546293953 0.3210652632
+ 0.0146599071 -0.1444725920 -0.0093230968 0.2016282414
+ 0.0621703933 -0.3348517048 -3.3920374846 3.4119479632
+ -0.0603322492 -0.0835410515 -0.4086711130 0.4439717909
+#SUBSTART
+ 0.1142359251 0.1395056979 -863.2310185946 863.2310487091
+ 0.1809638934 -0.0410759759 -11.9591078173 11.9613617426
+ 0.1219265731 0.6556577830 -99.3663459963 99.3698098560
+ 0.1161527327 -0.5576895742 -45.5408598841 45.5446364338
+ -0.0586364764 0.9738226971 -13.8493026260 13.8843232421
+ 0.3515100403 -0.4986848366 -1.2476044449 1.6767690689
+ -0.0280487788 0.4093488187 -2.2032091519 2.4300772707
+ -0.0524468210 -0.0301435731 -10.4457658535 10.4468733770
+ -0.2902732449 -0.1406139607 -25.1453456868 25.1478015010
+ -0.0089829773 0.0616980077 -20.6587585145 20.6593240568
+ -0.0040036542 -0.1395282607 -24.9575212318 24.9583018249
+ 0.2561798501 0.1347489182 -187.6397072581 187.6399824267
+ -0.1115570928 0.3216290743 -99.0573844678 99.0580677564
+ -0.3853323754 0.1570011374 -1802.1660828067 1802.1663750885
+ -0.2764913891 -0.0757292056 -425.1719892016 425.1720858477
+ -0.5973907910 0.0355527360 -870.8620503270 870.8622559507
+ -0.1272779881 0.1579406326 -1.0891686336 1.1078958624
+ 0.5789493810 0.5646674759 1.0778622642 1.4350817972
+ 0.2366456242 0.1993203754 -0.0197493917 0.3399993925
+ 0.3055918854 0.4552260819 -120.9372832978 120.9386066913
+ 0.8133604609 -0.4805414234 -505.0913187346 505.0922022129
+ 0.1987634300 -0.0491248523 -120.9240022047 120.9241755372
+ 0.0452047972 -0.0714083492 -18.6709677843 18.6716807067
+ 0.3023335787 0.0609986356 -130.4514681913 130.4519074582
+ 0.0245576211 -0.3495744206 -74.0434844586 74.0444452738
+ 0.3644104625 0.0939749666 -63.0437911555 63.0450688739
+ 0.0068484888 -0.0184313386 -2.0434485571 2.0435431539
+ -0.0306685832 0.2120972943 -12.2438436622 12.2457189846
+ -0.1896389425 -0.0099187482 -7.1649194670 7.1687943243
+ 0.1940908796 -0.4507259305 -66.5065046179 66.5101467641
+ 0.2298698490 -0.1984866669 -64.9984321703 65.0010158586
+ -0.1721037172 -0.0787967309 -17.1270757286 17.1353502170
+ 0.1851716737 -0.4702834291 0.1616715706 0.5306531345
+ -0.0158180745 -0.0863869914 -0.0012300026 0.0878318659
+ 0.3694440933 0.1903591955 1.0296125596 1.4545168852
+ -0.1705376000 0.0051991829 0.2251294963 0.3150764661
+ 0.1286597214 0.0420071835 0.4216799539 0.4643400648
+ -0.0460248003 0.1953606161 0.6833309355 0.7257444487
+ -0.0859561700 -0.5037912998 15.1698777102 15.2075368047
+ 0.0267715340 -0.2981155329 3.6369422342 3.6519061031
+ 0.2704828342 0.0706207318 286.5799478126 286.5801181455
+ -0.4624789094 -0.1649113411 738.6069030537 738.6070794413
+ -0.0810448123 0.0557126475 88.9529579135 88.9531217749
+ -0.0863283411 0.0089982639 135.2860154397 135.2861152776
+ 0.2070904296 0.0632835837 25.0414322531 25.0427574426
+ 0.0703308888 0.2389059629 128.8906143122 128.8909304802
+ 0.4197841408 -0.4250977924 4636.8804043455 4636.8805380257
+ -0.0976754262 -0.0105189741 861.4167794643 861.4167963731
+ -0.1296238691 -0.1329452770 -16.6359002626 16.6375218745
+ -0.5428933539 -0.0069675306 -26.8372337298 26.8430880450
+ -0.0549936734 -0.1817888845 -10.2575400376 10.2592981790
+ -0.1223048170 -0.1944567696 -22.1683011281 22.1694913521
+ -0.4138789658 -0.2115610157 -353.8366742447 353.8369795463
+ -0.1014295211 -0.0571938676 -50.0807971638 50.0809325358
+ -0.0305127005 -0.0230096877 -221.9231472619 221.9231505524
+ -0.0935593588 -0.1379443595 -213.5458402405 213.5459052898
+ -0.6795641000 0.3484790011 -2.4963485187 2.6568104688
+ -0.2379642387 -0.1416653423 -1.0116535131 1.0581203446
+ -0.2225451784 0.1543063208 -2.0574496297 2.0798835449
+ 0.0943272134 -0.0568004560 -43.5188166896 43.5189559845
+ 0.0202613632 -0.2033426741 -87.4076892442 87.4079281174
+ -0.0438349627 -0.0563075545 -16.5042054668 16.5043597311
+ 0.0923187853 -0.0490468070 -33.0166476272 33.0168131243
+ 0.1531377463 0.0451546583 -43.7041742742 43.7044658942
+ 0.0811923806 -0.0619775690 -16.2925242506 16.2928444379
+ -0.1185671027 0.2412588052 0.9484848069 0.9956742352
+ 0.0403176966 0.1993698867 0.4471343731 0.5106689739
+ 0.0536710944 0.0440173569 27.6960519465 27.6961389283
+ 0.0037594382 -0.0351291768 2.2842547733 2.2845279735
+ 0.0101439173 0.0375286158 23.6783449384 23.6783768514
+ -0.0209869705 -0.0872613979 19.0146709348 19.0148827439
+ -0.2865764223 -0.0388501286 -1.5232481337 1.6271328203
+ -0.3448869901 0.3943542737 -1.5668286245 1.6579789060
+ 0.0184596164 -0.0184123601 0.0344754152 0.0432241448
+ -0.1425826694 0.1023451124 0.2583163621 0.3123006285
+ 0.1404652305 -0.4229920234 -97.8476270016 97.8499077056
+ -0.0154639620 0.0078644367 -0.5473004726 0.5475753745
+ 0.1535005511 0.1889159221 -27.7842054333 27.7852716957
+#SUBSTART
+ 0.1712998803 -0.9617839056 5872.9775984778 5872.9777548860
+ 0.3703263090 -0.0100644096 -581.8946810796 581.8950083585
+ -0.0058688706 -0.0258741569 -298.7288254280 298.7292344021
+ -0.1384036437 0.1554803187 -3.1521030006 3.1620504122
+ 0.4032379019 0.3198375923 0.5768037736 1.2157097010
+ 0.2335375227 0.1944140466 1.8993311373 1.9285422344
+ -0.2913094173 -0.2500267312 1.2210301208 1.3718345596
+ -0.3878217185 -0.0908334331 8.3524023614 8.3630593319
+ 0.0021695394 0.2645686874 0.2337821624 0.3796513949
+ 0.4919864161 0.5230543356 -22.3577473176 22.3747210608
+ 0.1704951162 0.1604341000 325.0545426609 325.0546269663
+ 0.0463857287 0.2002025734 232.1680313707 232.1681223236
+ 0.1214647007 -0.0175407473 18.4064660947 18.4068752222
+ 0.0858228934 0.0677696180 7.1336860875 7.1345241947
+ 0.1303843861 -0.4141941836 227.9831831082 227.9836393622
+ 0.0544944948 0.0117811388 -485.3393501514 485.3393734220
+ -0.3219505401 -0.0681190106 -84.6680979210 84.6701762067
+ 0.1963069692 0.1358441291 -48.5901897810 48.5909766602
+ 0.0502917293 -0.0412903628 -4.0242354390 4.0247614862
+ 0.0558596663 -0.3604684451 -13.6394937331 13.6443705277
+ -0.2754435981 -0.0125336628 -4.5371897301 4.5477023539
+ -0.2032493357 -0.1242593042 -3.6357692499 3.6462375801
+ -0.2119613998 -0.8064236598 -1.7238856800 1.9200282229
+ 0.0434979310 -0.2512007278 3.2155009442 3.3596475980
+ -0.1998129792 0.6985751753 7.2617784072 7.2993724335
+ 0.0175258021 -0.5336439380 0.4368029027 0.7038178507
+ 0.4346156576 -0.0089172350 0.6415830364 0.7874508648
+ -0.2043552785 -0.4410627561 -2.5830162932 2.6320620036
+ -0.4774411191 0.1281491262 -5.7745383656 5.7973395054
+ -0.5340445637 -0.1708982658 -14.2473061728 14.2590189978
+ -0.1282980424 -0.0743214376 -54.6832390622 54.6856677691
+ -0.3062084368 0.2461869450 -21.7710592267 21.7750515787
+ 0.0706536496 -0.3090732309 -70.9228424795 70.9236884501
+ -0.2244415641 0.2575344038 200.8745327919 200.8748232665
+ -0.1026759507 0.0187800403 80.6185405075 80.6186080791
+ -0.4285031390 0.5972928235 -4708.3645877353 4708.3647388669
+ -0.1759376346 0.1413043999 -483.3241257098 483.3241985396
+ 0.0789670365 0.0082460997 -0.9100976166 0.9135543021
+ 0.3582915752 0.3603820491 -5.6150457275 5.6379949092
+ 0.0698018127 -0.0001417290 -16.4548482123 16.4549962627
+ 0.0680879864 0.1131360723 -11.8652401105 11.8659748282
+ -0.2603650236 0.0258529660 -0.5831379763 0.6391464783
+ -0.0414794208 0.0076059356 -0.3281936572 0.3308919298
+ 0.0129886495 -0.0711266105 0.1661718112 0.1812202267
+ -0.0304683231 -0.0614454560 0.8356548002 0.8384645537
+ 0.2316000106 0.2022796773 5.5886836808 5.5971368499
+ 0.1020875460 0.0212127976 3.2878169072 3.2894698456
+ 0.0544874929 0.0252758792 -0.5378409122 0.5411844452
+ 0.1076719204 0.0850594189 -0.3011708352 0.3309565216
+ 0.0140419451 0.0351790872 -3.9194811339 3.9196641570
+ -0.0916945482 0.0325965599 -2.1639198559 2.1661070076
+ 0.1880914741 -0.0575242310 -9.8290002274 9.8309680556
+ 0.2299009765 0.0741172495 -10.3296456154 10.3324695193
+ -0.0223078368 -0.0217840862 -1.9896847281 1.9899290196
+ 0.0177272528 -0.1620453734 -2.2582318342 2.2641077659
+ -0.0380102191 0.1448128070 -7.4033526616 7.4061816034
+ -0.0424178092 0.3010973270 -2.9240487049 2.9431275006
+ -0.0263220820 0.0219289133 -2.0927995188 2.0977281378
+ 0.4866905214 -0.2333952036 -5.4659002603 5.4942594065
+#SUBSTART
+ 0.2395897192 0.1991548139 -0.5679145490 0.6626255302
+ -0.2236300562 0.1478589102 0.8971726733 0.9467160345
+ -0.4533439393 -0.0910755421 2.9805319349 3.0194148244
+ 0.0730960295 0.6210094869 2.4161314648 2.4996333436
+ 1.0121538963 -1.6601913854 -38.8783337789 38.9300548334
+ 0.5178983230 -0.3667867409 -51.8884363082 51.8925047910
+ -0.0970354329 0.8542814517 -2008.3932909660 2008.3936947724
+ -0.2915201199 0.4231604837 -1875.0692237451 1875.0695289070
+ -0.5615516066 0.1312889257 1.1950126362 1.3342083700
+ 0.0287281723 -0.7218881156 0.9809924201 1.3145093562
+ 0.1567535887 0.1661160655 1552.8422089428 1552.8425092041
+ -0.1472018360 -1.0749564663 -11.0909134036 11.1438574969
+ -0.2411547779 -0.4230979443 -0.6813084390 0.8490161784
+ 0.1504584756 0.0016996665 -1.4673034120 1.4815868957
+ 0.2362400565 -0.2100581549 -0.3301357686 0.4570814134
+ 0.1645820855 0.3357464344 -0.3873620892 0.5383886321
+ 0.3347580312 -0.1333790868 0.9493070595 1.0153998294
+ 0.4185048624 0.2106625736 0.7727328980 0.9036820079
+ 0.2309405816 0.1302003717 0.6666556530 0.7174367210
+ 0.7360965856 -0.6170482763 -17.5889781215 17.6222136392
+ 0.5242763077 -0.2288758909 -40.7226669141 40.7296758074
+ 0.5322039656 0.1124019956 -69.2497283287 69.2520052320
+ 0.0287688161 0.0648752252 -64.0610175710 64.0612089213
+ -0.3147910832 0.2265254264 -94.8651785952 94.8706240566
+ 0.1213179185 -0.0818917354 -22.6816271241 22.6825288069
+ -0.3054907702 -0.1096050697 -95.9789992605 95.9841467573
+ -0.2282677324 0.0500291563 -44.0765686061 44.0771880814
+ -0.1728193972 0.0211778568 -62.9705183044 62.9707590122
+ 0.2268638561 0.1570022600 -38.0787062473 38.0799614781
+ -1.0885970820 -0.0245373954 -423.0510464647 423.0534911242
+ -0.0444880507 0.0774402685 -58.7433398932 58.7435735870
+ -0.0436204987 0.0127751314 -1143.4898578192 1143.4898587225
+ 0.0361039059 0.0556175311 -315.8034917098 315.8034986711
+ 0.2141165831 1.4686056250 -44.7274653136 44.7619163170
+ -0.2269130880 0.4192479228 -11.0789316884 11.0900615648
+ -0.2946748037 0.5235747052 -17.3037769727 17.3396081797
+ -0.4134418681 0.4195046411 -7.7158130486 7.7395199533
+ -0.1061431458 0.0396157216 -0.1128578053 0.2122556051
+ -0.2456818371 -0.4685782239 -0.2891844744 0.7792263709
+ -0.1931776158 0.1217742137 0.1974388814 0.3325784827
+ -0.6526582579 0.3998921099 0.7279485681 1.1659445008
+ 0.1256467557 0.1904863422 0.3199974752 0.4170735221
+ 0.1533089184 -0.2707288731 2.3463365749 2.3709856294
+ 0.0697924937 -0.4578302833 7.5443114794 7.5598012569
+ -0.0831936777 0.0372450762 7.0317715127 7.0337471362
+ 0.0332716345 -0.0059616338 1.4178588034 1.4251125969
+ 0.0674383800 0.1889772066 118.0740363045 118.0752385156
+ -0.0185400353 -0.4242288475 1917.8848926234 1917.8849447104
+ 0.0061957966 0.1999157645 3056.8246022937 3056.8246120235
+ 0.1718753762 -0.0005539583 -0.9822199936 0.9971447075
+ 0.0297429214 -0.0711120528 -0.2960041355 0.3058758142
+ -0.4022390650 -0.2735768853 2.0488954853 2.1058521523
+ 0.0010179752 0.0110657588 0.0338059458 0.0355855204
+ -0.0099501111 -0.0981509650 -8.9172302126 8.9177759156
+ -0.1554815916 -0.0586193940 -14.3397935936 14.3407562933
+ 0.2951877903 -0.0595400931 -47.5178537540 47.5188079211
+ 0.0235175866 -0.0584578161 -7.8066262869 7.8068805791
+ 0.0432559800 0.0612423078 -7.0325632348 7.0329629142
+ -0.0479313569 0.2583068178 -43.0940881683 43.0948889647
+ 0.0940468723 -0.1323425706 -120.7492079334 120.7493170826
+ -0.0420715480 -0.0279985079 -55.8780890954 55.8781119482
+ -0.0803691605 0.1558947185 -1.3300687408 1.3415831024
+ -0.0275511156 0.1079018581 -2.1006798536 2.1036296542
+ 0.0381267560 0.2365297619 -0.6843624375 0.7383980692
+ 0.0311054953 -0.1397428600 -0.1966859527 0.2804652699
+ -0.0004164969 0.0468481971 1.8409207098 1.8415167626
+ 0.1017829489 0.0108371180 1.0775190128 1.0823698235
+ -0.0302781454 0.0555626607 0.4255250686 0.4302040903
+ -0.3726013697 0.1024978319 3.7486467296 3.7685129547
+ -0.2573266498 -0.0530840905 169.5732796656 169.5734832203
+ -0.0331200668 0.0453799476 28.2487039230 28.2487597888
+ 0.0523971263 -0.0587811506 -2.1965418250 2.1979528365
+ 0.3588854986 -0.3503559929 -7.1998265252 7.2172744243
+ 0.0634513656 0.0845581190 -3.9583942860 3.9598057370
+ 0.0701737001 -0.0478905156 -2.2585952493 2.2601925470
+ 0.1181537243 -0.1520519355 -12.8741318648 12.8755718850
+ -0.0105603614 -0.0928776842 -12.0156665483 12.0160301425
+ -0.0136742480 -0.0751344533 -9.8861522597 9.8864472220
+ -0.0401852201 -0.2072977074 -75.6778229083 75.6781174933
+ 0.0226355505 0.0297080190 36.7108885385 36.7109075374
+ -0.1244410371 0.1022571320 57.8457357312 57.8459599659
+ 0.0998652350 0.0682079391 10.7435241714 10.7442048105
+ 0.0418066148 -0.0563732524 9.9691964006 9.9694434454
+#SUBSTART
+ -1.2010349565 0.9921074126 8.8355375848 8.9853841019
+ -1.3617602224 -0.0896505822 5.1104238492 5.3720769393
+ -0.4949684252 -1.0686730991 6.0510139528 6.1661418712
+ 0.1518616218 -0.1700662193 1.3080786496 1.3351157289
+ 0.5433246137 0.9473338574 12.0162384178 12.0665698760
+ 0.2941683699 -0.2681603581 99.5543913899 99.5552849919
+ 1.2044315288 -0.1610539203 49.5492622544 49.5643567840
+ -0.2697837960 0.0006700391 1.0277857343 1.4184213218
+ 0.3424865471 0.1728428856 0.3055584579 1.0598723764
+ -0.1838267422 0.1329806693 -0.3970202134 0.4781014164
+ 0.5060672431 -0.0321591279 -1.0444458156 1.1693951901
+ -0.6565712363 -0.6123601978 -20.7392956407 20.7799135000
+ 0.5295542379 -0.2250071661 -35.2493559799 35.2575069152
+ 0.1140872007 -0.4061326714 -24.4271616496 24.4312027063
+ 0.5793516503 -0.1786532287 -1911.6242361584 1911.6245625604
+ -0.5705294503 -0.0929802913 -92.6514482676 92.6580021685
+ -0.1249769719 0.1112276506 -9.9775245622 9.9799031562
+ 0.1267639857 0.6464357863 -131.5139942798 131.5189909875
+ -0.1015367278 0.3630853446 -71.7653513869 71.7664774121
+ 0.3277860344 0.1102387126 -28.2690304232 28.2755256848
+ 0.2047266662 -0.3857476378 -9.3170959762 9.3403764720
+ -0.1256474972 -0.2130438780 -3.9776460827 3.9853285118
+ -0.0605277030 -0.3312467631 -3.9738260842 3.9880674228
+ 0.0578716286 -0.3491740246 -10.2330530717 10.2391721732
+ -0.0057013642 -0.5058489878 -11.2106359682 11.2220441327
+ 0.4900468767 -0.8026577908 -9.0670360905 9.1167444147
+ -0.4673916845 -0.9511330615 -18.4795910285 18.5099539078
+ -0.1310654482 -0.1149135239 -1.0168734756 1.0411026462
+ 0.9295038293 -0.4354381912 -4.3082149001 4.4310020534
+ 0.3925215679 -0.0310181130 -4.3771434720 4.3970330979
+ 0.5584611626 -0.3282255872 -3.9894308360 4.0440881650
+ 0.0356332630 0.0765158741 -2.0204858185 2.0270587402
+ 0.1852577648 0.1624287279 0.2697331819 0.3910745522
+ 0.1334004357 -0.4481835260 1.7887211355 1.8540947211
+ 0.9754209031 -0.3649901197 6.6321915304 6.7149168280
+ -1.1494308024 1.4262573721 2.8034954216 3.3850596450
+ -0.7857036752 1.2091028349 2.1126117136 2.6050007952
+ 0.0333366267 0.0507063875 0.3379221323 0.3433275927
+ 0.1933418499 0.1695685890 0.4976922898 0.5602072765
+ -1.9158396150 1.0820551625 10.4310583219 10.7018041990
+ -0.3757686714 0.2113238082 2.5788073730 2.6183176084
+ 0.0010329688 -0.1363173281 0.7444824070 0.7568603142
+ 0.0842271744 -0.2253915466 2.5261119628 2.5375455099
+ -0.0481432479 0.2099530614 0.3379894337 0.4007928612
+ 0.0506073977 0.1813691556 0.4893728831 0.5243488324
+ -0.0599660095 0.3112982464 7.0647983279 7.0732847899
+ 0.0028175668 0.4976566672 2.9521526080 2.9938061257
+ 0.0274567968 0.0135910478 0.2467850347 0.2486794033
+ 1.5569738335 0.3274826716 9.6760424782 9.8069715124
+ 0.7575360624 0.2258521996 11.5933737080 11.6581102511
+ 0.2555986792 -0.1153010063 1.5518395205 1.5831331875
+ 0.1318507738 -0.2435745659 6.6582731100 6.6654927640
+ -0.1080138196 0.3291826375 13.4165210403 13.4217191449
+ 0.4646358005 0.3591410291 40.4884008194 40.5035284909
+ 0.4271251242 0.0447644972 19.5432399538 19.5484563945
+ -0.6904290081 -0.3120585253 102.7901921876 102.7930793511
+ -0.2337826626 -0.1788571429 23.1997434095 23.2020304772
+ 0.3943063431 -0.1735105912 71.7186396920 71.7200693145
+ -0.0040369716 0.1877085881 42.4668656473 42.4672806842
+ -0.1624550233 0.2837469813 58.7227521862 58.7236624225
+ -0.3428635045 0.5298714194 2574.2824267008 2574.2826750553
+ -0.2797533128 -0.0960878981 1029.4964719341 1029.4965238889
+ 0.2184529990 0.2133218523 515.7007745620 515.7008838383
+ 0.3236973198 -0.3523977579 180.0965158611 180.0971515307
+ -0.0172488528 0.1425708352 23.4779609914 23.4784002069
+ -0.2399797914 0.3810128528 52.4756401935 52.4777577131
+ 0.0355128878 0.1112677934 0.1466960655 0.2337545884
+ -0.0087539613 -0.0947360320 1.4795180769 1.4891289643
+ -0.0463564818 0.1056412711 1.9953552270 2.0035546582
+ -0.2696587087 -0.2487349200 3.2528352444 3.3110719466
+ 0.0027307893 -0.0190267311 0.1903800706 0.1913479683
+ -0.0869633747 -0.1098722501 0.1453009891 0.2018586568
+ -0.0828839688 -0.3324766028 0.0547421202 0.3740146097
+ 0.0047257428 0.0244240834 -0.0734600460 0.1596716373
+ 0.1745810143 -0.2408045061 -0.0011543959 0.3285520632
+ 0.0249775197 0.0760665884 -0.0003677479 0.0800633349
+ 0.3655474726 0.2396845892 -0.1303504423 0.4561413102
+ -0.1865047970 -0.1857845862 -1.1555124293 1.1851197940
+ -0.2982907896 -0.3566642352 -2.9829723525 3.0189916905
+ -0.1119841989 0.2126377718 -2.5797214252 2.5946478950
+ 0.1995205180 -0.4397893890 -35.8270369580 35.8425745577
+ 0.1681312148 0.0125468070 -8.3855336176 8.3883895573
+ -0.3314704217 -0.1266565014 -16.3052139657 16.3096718778
+ -0.0782369488 0.2617193249 -20.7622337993 20.7644997567
+ 0.4196426353 -0.0693026491 -9.4463103509 9.4569107973
+ 0.3604265585 0.0764434380 -41.4980573479 41.4999276426
+ -0.1757596082 -0.0300109339 -9.2174333537 9.2202141792
+ -0.1222098387 -0.1099781465 -25.8532285375 25.8541280269
+ 0.4602077991 -0.0915845979 -57.8071867255 57.8090911196
+ -0.1513163739 -0.1168866350 -20.0056157170 20.0065294178
+ 0.5603472762 0.6279447781 -11.7668079053 11.7976926465
+ -0.1968057258 -0.1154096495 -3.3202835954 3.3645172009
+ -0.8126710973 0.3640725351 -10.7737676617 10.8217694353
+ 0.0593492912 -0.0636666468 -0.6273516107 0.6485565578
+ 0.0312194806 0.0506192394 -7.0820256419 7.0836504672
+ -0.1717105158 0.2724170955 -10.0619494873 10.0680684764
+ 0.2089637945 -0.4424467108 -14.1073333257 14.1165065900
+ -0.0857289781 -0.1543775363 -1.6614493731 1.6766262809
+ -0.5340775741 -1.1503780357 -2708.2365069273 2708.2368075082
+ 0.0778180101 0.3567950453 -24.6970728376 24.6997725716
+ -0.0420725839 0.1157427221 -11.3404771975 11.3411458657
+ 0.2145656209 -0.1345342227 -15.8289631420 15.8316042080
+ 0.3327392720 0.2973537082 -27.9969337086 28.0008376932
+ -0.0423942819 0.0229363812 -0.9658394215 0.9670414370
+ -0.1307924401 -0.1399762635 -7.5711992742 7.5736225458
+ 0.2365778600 -0.1906339289 -5.0775867298 5.0866685932
+ -0.0024783092 -0.0203955763 -0.0915736511 0.0938501738
+ 0.0992737324 0.0228227990 -3.6964486128 3.6978518766
+ 0.2359637275 -0.1049940725 -5.4963954003 5.5024599074
+ 0.1401829531 -0.1041835990 -4.3492671744 4.3527727297
+ 0.3955647344 -0.0733585951 -7.9237833569 7.9339898934
+ 0.4057786485 -0.4415090720 -7.5657272672 7.5894542395
+ 0.2055409717 -0.0224028190 -9.5303547437 9.5325972599
+ 0.2144532881 -0.2677167489 -10.0939564028 10.0997830834
+ 0.0041321376 0.0159568901 -0.4144701816 0.4147978162
+ 0.1091658174 -0.2228416830 -2.7313641236 2.7461619311
+ 0.0354976324 -0.0274693863 -0.2464334705 0.2867470826
+ 0.3687044853 0.0122020759 -3.7241390977 3.7753118198
+ -0.0901760971 0.0563930464 -1.5579063324 1.5615325948
+ 0.0174864735 0.0456071341 -2.5881191832 2.5885800536
+ -0.1671036396 -0.1347803194 -0.8988331256 0.9241159822
+ -0.1167670205 0.0048269596 -0.7934433238 0.8020038308
+ -0.0235145964 0.0006144249 -0.0502126029 0.0554492493
+ 0.1819547490 -0.0426250174 -0.6304744324 0.6575883459
+ -0.3909384931 0.3018517924 0.7551840469 0.9023582186
+ -0.3552354150 0.1720597599 0.7827555674 0.8766430512
+ 0.1871089619 0.0422899332 0.2433766650 0.3098877267
+ 0.3827376575 0.0730406156 0.8736282008 0.9565820818
+ 0.0221342907 -0.0065738329 0.2825903940 0.2835321373
+ 0.1564142682 0.1247713715 0.4824396859 0.5222847585
+ 0.1287782316 -0.4091758194 1.0783702294 1.1689186545
+ -0.2564950889 -0.2606464573 1.0716497203 1.1408940417
+ -0.3303714257 0.1578131319 1.2231038918 1.2843337489
+ -0.3188065615 -0.2557073514 1.4006901596 1.4657546116
+ -0.0993591260 0.0878224545 0.4374702548 0.4571271631
+ -0.1191889717 -0.0219443703 0.2086117263 0.2412600645
+ 0.5897345042 0.4764231959 11.4280164242 11.4539864250
+ 0.0154754214 0.2925404084 4.1510574005 4.1637214972
+ 0.0510775367 -0.0792630352 0.5786774455 0.5863097556
+ 0.2069192770 -0.0353768710 0.7602484194 0.7886981485
+ 0.0375079488 0.0062012113 0.7270549499 0.7280482136
+ 0.0403891561 0.2183853105 1.7454750670 1.7595472820
+ -0.0017156693 -0.0771051138 2.7916951596 2.7927602844
+ 0.0019415480 0.0537321537 3.6102322741 3.6106326297
+ -0.1315317872 0.1540692671 61.9348233195 61.9351546181
+ -0.0396506130 0.0863630944 11.7868851423 11.7872682210
+ 0.0381045633 -0.0155674825 851.1801058912 851.1801068865
+ -0.0584646471 -0.1214210971 992.9650508434 992.9650599884
+ -0.4081856611 -0.2803671376 16.9624846419 16.9697114440
+ -0.0071913933 -0.0292697037 2.3480573761 2.3482508114
+ -0.3388404753 0.0973857188 1.1728435478 1.2246872391
+ -0.2392447897 -0.0011636744 1.1608490197 1.1852467549
+ 0.3370754456 0.0822810955 0.4009002523 0.5482616454
+ -0.0072558945 -0.1832191046 0.2906155474 0.3708895652
+ 0.0254192043 0.0056867633 -0.0200978737 0.0328998443
+ -0.1378228806 -0.0886827115 -0.2866338379 0.3301798401
+ -0.0856377826 0.2234123020 -0.1045655413 0.2611146088
+ -0.1826535985 0.3828635624 -0.0046237826 0.4242266185
+ -0.4807666736 0.0661396036 -22.3023464872 22.3076258234
+ -0.2818802603 -0.0639399836 -13.8660895117 13.8691017427
+ 0.0593584924 -0.0789288965 -4.4231695178 4.4242718932
+ 0.0206098308 -0.1816942817 -3.5630377489 3.5677269482
+ -0.1395731062 0.0454062959 -2.1680026509 2.1729652271
+ 0.0077059366 -0.0318798451 -1.1163601720 1.1168418597
+ 0.0062342639 -0.0671230588 -3.8336503309 3.8342429801
+ -0.0010916888 -0.1218614146 -1.7505109199 1.7547478101
+ -0.1080006790 0.0539982154 -2.5208082630 2.5236985266
+ 0.0373784716 -0.0025757983 -0.5122818697 0.5136501717
+ 0.0739213199 0.0389779632 -1.8015849388 1.8035220916
+ -0.0219043592 -0.0578478979 -1.5656771298 1.5668985465
+ -0.0033687342 0.0048969148 -3.1137644236 3.1137700965
+ 0.2059305438 -0.2973680163 -1196.8667861741 1196.8668408314
+ -0.0441821522 0.1898415703 -20.8384786328 20.8398575667
+ -0.7184195084 0.3218615607 -54.6789286147 54.6847733440
+ 0.1445133351 0.0484924737 2.0823785218 2.0926097861
+ -0.2526794375 -0.0008910687 4.8830734508 4.8915982872
+ -0.0174280028 -0.1865522740 1.1262829032 1.1417612116
+ -0.0350955288 -0.0085514843 0.0680876546 0.0770762786
+ -0.0432842936 -0.1064261018 0.5611346331 0.5727758041
+ -0.0289697533 0.0398828472 0.3606742537 0.3640272042
+ -0.1772394532 0.0221538909 1.1681873355 1.1817640498
+ 0.0015227240 0.0522741619 0.4980967758 0.5008346082
+ 0.0930627689 -0.0793289613 -9.0955861433 9.0974788177
+ -0.0374291445 0.3579343007 -22.0738965966 22.0772713134
+ -0.2256045876 -0.1839929299 -14.6518713660 14.6554278388
+ 0.1781742035 -0.1970929504 -10.4049821585 10.4093095439
+ -0.0583074884 0.1439923667 -2.6377037388 2.6422745085
+ -0.3524958138 0.3356232977 -10.6166192051 10.6277702103
+ 0.0049004496 0.0593993681 -4.6344500464 4.6348332799
+ 0.0605915531 0.0475524226 -1.1653448875 1.1678875271
+#SUBSTART
+ -0.0509370766 -0.2648594918 0.1699801341 0.3480203544
+ -0.1297912769 -0.2759003549 -1.0849520663 1.1355912787
+ 0.0652306638 -0.7129018550 -351.1482288035 351.1493054483
+ -0.3015960543 -0.1458585900 -1775.2132355578 1775.2135151258
+ 0.3321354402 -0.7784940409 16.1079804654 16.1308053544
+ 0.1205175870 0.0887992391 4.0433635045 4.0761304179
+ 0.3359346105 -1.1972094597 7.3224773818 7.4436871589
+ 0.0829080855 0.4454470746 138.0455563491 138.0463704860
+ 0.0635918667 -0.8102026461 -2.2904744126 2.6056740151
+ 0.1106217095 0.1320705694 -2.9621959263 3.1124068322
+ -0.0018439633 -0.4718247923 -51.6415441608 51.6438881683
+ 0.4661622821 0.1962812673 -362.7733571705 362.7737366268
+ 0.0736242344 0.1199625671 -474.0252419612 474.0252834056
+ -0.5279208510 1.9793568219 7.4654355211 7.7982096123
+ -0.1840205457 0.2223927891 1.3148372398 1.3461497246
+ -0.2418259771 0.1126108279 0.9820526324 1.0176386267
+ -0.3432639653 0.5376209196 3.5008498477 3.6801041632
+ -0.0433748195 0.0869181779 0.8479556590 0.8648379785
+ -0.2474910350 0.1869619687 -0.3144138998 0.4631873006
+ -0.0085349151 0.1408985219 0.6999751635 0.7275783481
+ 0.1520002065 0.0764702116 -0.4289382098 0.4614539455
+ 0.1733493091 -0.2259847111 -0.3828318433 0.4971509607
+ -0.0959267602 0.4924933501 -1.2143896645 1.3213529753
+ 0.3784688678 -0.1932081869 -1.5291462660 1.6632894574
+ -0.0696769887 -0.8419189150 -2.5504064527 2.6903039235
+ 0.0831668918 -0.1394569942 -13.9935549151 13.9944969237
+ 0.0778797648 -0.0356675830 -18.9506642514 18.9508578435
+ 0.1820720753 0.1522757896 -3.9290654376 3.9387019631
+ -0.0417205372 0.3011839377 -1.9958548491 2.0237017397
+ -0.7373897127 -0.0373208856 -12.5400780707 12.5968839893
+ -0.2383350455 -0.0646169635 -1.1634954204 1.2877660886
+ 0.1792952869 0.5302966663 -1.7512820170 1.8438627503
+ -0.2256142409 1.6520027617 -6.4971132055 6.7731297566
+ 0.0732970521 0.1662615766 -0.3991221321 0.4602104203
+ -0.1865785951 0.4311667249 -19.1970624959 19.2033175408
+ -0.0219924106 0.0849892238 -6.1218168250 6.1240368923
+ -0.1455436262 0.2365233100 -28.0888736498 28.1059121847
+ -0.2220745715 0.1081062879 -64.6559168731 64.6632150652
+ 0.0924430469 0.2051632237 -16.4912413395 16.4933671022
+ 0.4955426067 0.3732759117 -3000.3753268557 3000.3754315990
+ 0.1126513862 -0.0245483377 0.1443817409 0.1847675372
+ 0.0059966329 -0.0762029902 0.2326345492 0.2448707593
+ 0.1893094751 -1.1165191621 9.4007603791 9.4697533551
+ 0.1187314507 -0.0326053653 1.1538247897 1.1687393625
+ 0.1403724833 -0.9133144463 13.4439292099 13.4763704349
+ -0.1709321112 0.1187843393 81.7042925194 81.7045576673
+ -0.1133306823 0.0656762364 113.5628793115 113.5629548520
+ 0.3720137596 0.0974798835 217.7876631441 217.7880474088
+ -0.0348477710 -0.4069452150 126.6413037917 126.6420393259
+ 0.1870813130 -0.0872658414 171.0790486592 171.0792301382
+ 0.0001759466 0.9300268342 2738.2295230422 2738.2298417336
+ 0.2115435425 0.0493454778 808.2087014437 808.2087426864
+ -0.3589168658 -0.0189310290 395.3654313613 395.3656193639
+ -0.0114795002 0.0043740579 -0.0962817196 0.1700025462
+ -0.3636800835 -0.2959082893 -3.8536325390 3.8845576903
+ 0.0390260714 -0.1831886651 -1.4836467165 1.5019215977
+ -0.0732673208 0.3033048781 -3.1873277720 3.2025646404
+ -0.1121431565 0.1815430329 -1.4354204019 1.4511945737
+ -0.0367481226 0.1135322170 -36.1418108066 36.1422772962
+ 0.3366319959 0.0292486158 -69.7978579072 69.7988153539
+ -0.1138643127 0.0706805253 1.0829135342 1.0911748443
+ 0.0241182684 -0.0209467974 0.1517293156 0.1550556171
+ 0.1098374573 -0.9261198239 -2.2014534518 2.3908491161
+ 0.1148698677 -0.3937049615 -1.1276685611 1.1999312759
+ 0.0048710519 -0.0390953243 -0.2080152435 0.2117132803
+ 0.1278272213 0.0627784565 -0.3430550188 0.3714400074
+ -0.0004467411 -0.0135715786 -0.1391381485 0.1397991834
+ -0.0128417412 0.3350564029 -3.1644927879 3.1822071441
+ 0.0679682184 0.1417600307 -9.8815485283 9.8953217397
+ 0.0774568048 -0.2061015582 -4.0313510566 4.0679164421
+ 0.0465569470 0.0517187205 -12.8783441615 12.8785321647
+ 0.0329029702 0.0016652131 -0.6586861407 0.6595095226
+ -0.0286011647 -0.0132689891 -29.4065705378 29.4065874403
+ 0.0342840358 -0.1801742160 -571.1574379924 571.1574674397
+ 0.2700205327 -0.3038181850 2.5849056485 2.6166684523
+ 0.1151678658 -0.0400792085 1.0880523467 1.0948643247
+ 0.2003481998 0.5028468806 653.4857191343 653.4859433124
+ 0.1105639743 0.1222869810 263.2936914160 263.2937430285
+ 0.0132757308 -0.0182556346 84.2169361040 84.2169391290
+ -0.0222402968 0.2068650237 1134.2148290558 1134.2148481385
+ -0.2655273249 -0.1042250388 -0.0796661108 0.2961660145
+ -0.8638890910 -0.4856221106 -0.0625385601 0.9929976170
+ -0.0985666673 0.0646456069 -1.6232634805 1.6275376400
+ 0.0447239233 0.0509865319 -0.9601792828 0.9625716134
+ -0.0427734480 -0.0708136968 -3.4481102734 3.4491025797
+ -0.0385054305 -0.0600440521 -14.5159690301 14.5161442828
+ -0.0048801588 -0.1261602670 -0.2173857834 0.2513897527
+ 0.0891232252 -0.0480893864 -0.0853168713 0.1324179251
+ 0.1231818473 -0.1647097198 -1.5403343912 1.5540055007
+ -0.0259388277 0.0015196939 -0.1372863870 0.1397235997
+#SUBSTART
+ 0.3513835747 0.0863842872 0.4305961478 0.7483225669
+ -0.2394316678 -0.0964748384 0.4472757872 0.7143749070
+ -0.0962470037 -0.6143451748 0.1102640111 0.6467777181
+ 0.0882349019 0.9428763691 0.8585895270 1.2858681916
+ -0.5081978700 -0.3991755096 8.9858237983 9.0101118351
+ 0.2502257525 -0.4135313380 29.7060495929 29.7140815855
+ 0.4382471970 0.4828008138 -1.7885108790 1.9087713799
+ 0.0688331918 0.8906618148 68.2269956989 68.2329864389
+ 0.2401969212 -0.7619777158 81.0257680767 81.0351389683
+ -0.3788060032 -0.2183419049 14.6955080966 14.7102945706
+ -0.2081692618 -0.4040860307 11.4923038422 11.5021366428
+ 0.0882205793 -0.0110568982 0.0586545508 0.1755712586
+ -0.3289355697 -0.0163956219 1.8133611763 1.8483035373
+ 0.0515791286 0.2470485053 0.2188255201 0.3620190100
+ 0.0901237096 0.2647083161 0.8978747819 0.9507111467
+ -0.4248530210 -1.2417659758 -1.3072339742 1.8576391674
+ 0.1286987368 -0.0083646410 0.0407527810 0.1943551032
+ -0.1564100953 0.3410265719 -45.1683850928 45.1726401275
+ -0.1260660784 -0.1703210744 -575.6749638566 575.6750197751
+ 0.3196320210 -0.1425785036 -866.1344222912 866.1350012103
+ -0.1587039488 0.6188909248 -143.1835567546 143.1850502588
+ 0.1802038877 0.0611284026 -47.6106990501 47.6112838930
+ 0.0178346007 -0.1592064747 -24.4440992312 24.4450226382
+ 0.9420648081 0.8497533301 -12.6900208445 12.7540454619
+ 0.0387810512 -0.1829012599 151.6305335483 151.6335517344
+ 0.4507642446 -0.2687987137 132.1349766666 132.1393593583
+ -0.0908790077 0.0991418424 0.8937843745 0.9145591243
+ -0.2746445694 0.3186459654 2.9409535285 2.9741641401
+ -0.5603401564 0.8424524862 0.9343869277 1.6664743641
+ -0.4970156516 -0.2495409175 -1.9796930523 2.0610578821
+ 0.1187721030 0.5876354550 -7.3825738961 7.4081913688
+ -0.0218581490 0.0688815068 -3.0486183702 3.0526670622
+ 0.2525240870 -0.4960841087 -9.6546520989 9.7162218373
+ -0.3239554754 -0.1433068940 -2.2427707428 2.4567977560
+ 0.1839998331 -0.2738257098 0.0774495534 0.3664896671
+ -0.2857045623 0.3379413295 0.2323627567 0.5189447704
+ 0.2506682559 -0.0726082590 0.3355672535 0.4474278716
+ -0.0376138396 0.0776708370 0.5555060479 0.5792359744
+ 0.1717120796 -0.4044677745 2.7103949833 2.7457822536
+ 0.0699124145 -0.0808089112 0.3817150550 0.3963889618
+ 0.4451863718 0.6987070109 7.1426676041 7.2074769410
+ 0.2565954670 -0.0562772464 1.4859873092 1.5154690463
+ 0.1777284803 -0.2353512404 29.2371014675 29.2389219983
+ 0.1789671712 0.2193490468 8.4557455846 8.4604832394
+ -0.0210440465 0.0053343587 0.9150385374 0.9152960353
+ 1.2368367824 -0.8910283844 -8.3349804990 8.4875931622
+ 1.0529050908 -0.1832613604 -5.0578894662 5.1714523583
+ 0.6775419726 -0.5864847002 -2.3027461708 2.6435693939
+ 0.0199983460 -0.0627587948 -0.2924209245 0.3306484268
+ 0.2366324956 -0.3284748100 -1.7559709639 2.0316680973
+ 0.3514193699 -0.2543253733 -1.3133852470 1.3901933538
+ 0.1728712083 -0.7057742283 0.2073525280 1.2057315504
+ 0.0517370079 -0.1129449967 0.2762285800 0.3334895854
+ 0.1222946120 0.0289346910 0.2196535496 0.2530629770
+ 0.1454885863 0.0162924103 1.7788962193 1.8519030997
+ 0.6854447280 -0.2328609130 1.2249170321 1.4296713610
+ 0.2132316179 -0.9154663652 1.8533504135 2.0827707337
+ 0.0464755619 -0.1147566085 2.0207004633 2.0244899159
+ 0.7726530146 -0.4068852434 7.7178455675 7.7670900913
+ 0.3269458017 -0.0860636289 2.6983095198 2.7194070622
+ 0.1268780430 0.2180718314 6.8290603940 6.8351444031
+ 0.6455361591 0.5313835850 15.0169463080 15.0408524243
+ 0.5596353138 0.1161023227 17.6030417569 17.6128711547
+ 0.7680020692 -0.1127127811 32.3480580258 32.3709706370
+ 0.6983703179 0.5935546092 89.9948101485 90.0043678519
+ -0.1062699011 0.1869527399 20.6927868264 20.6943748648
+ -0.1307433841 0.0736303268 121.9641081117 121.9642004144
+ -0.0899043048 0.2142744765 137.4759291889 137.4761255734
+ 0.1583710439 -0.1596163519 66.4787949287 66.4810076254
+ -0.0547152709 0.3262564991 30.8900990872 30.8921857185
+ -0.1030840496 -0.0145927889 14.0778153835 14.0788921804
+ -0.3814800376 -0.4953111690 333.5073438232 333.5079590114
+ -0.2517675119 -0.6024863461 376.4509881756 376.4515803591
+ -0.1763305492 -0.0421270053 2.5729633647 2.5831158333
+ -0.3895841814 -0.2476009491 6.3130903830 6.3314826094
+ -0.2550797052 -0.0598126234 8.1363865785 8.1418001415
+ -0.2221070476 0.0151249759 0.3814421288 0.4631826724
+ -0.9161630148 0.5499367145 5.0748116663 5.1879647544
+ -0.0762149093 -0.2521347467 4.6077573416 4.6173897547
+ -0.7777770833 -0.0674658849 4.4260742327 4.4965655489
+ -0.1122568541 -0.3432704188 0.2153668070 0.4204985651
+ -0.9785147782 -0.3390581542 0.7480054023 1.2774833404
+ -0.4740289086 0.1117179975 -0.2792147622 0.5784677912
+ 0.5639903520 0.1294667741 0.1248072592 0.6081968428
+ -0.0084708087 0.0041157778 -0.0236083139 0.0254174489
+ -0.8072015961 -0.9749667678 -3.3431144853 3.5747096493
+ -0.0283360821 -0.1356588674 -0.9180536692 0.9388868869
+ -0.1311486095 0.0017617580 -1.4393881292 1.4520747339
+ 0.0071001260 -0.4130757745 -2.4092590496 2.4484057997
+ 0.3246640651 -0.2998738615 -15.1699075117 15.1843691328
+ 0.1855192498 -0.0002007397 -1.3540292659 1.3737876365
+ 0.1641733496 -0.6556734698 -6.0895820554 6.1285683469
+ -0.1322846352 -0.0809387546 -4.9906636671 4.9950229158
+ -0.2211364576 -0.5250485379 -37.9757233733 37.9802530641
+ 0.1104229890 -0.1018287038 -14.8745442884 14.8759574446
+ -0.4857614264 0.3019904732 -54.8090275897 54.8121897712
+ -0.0385357965 0.0592827995 -5.1775114233 5.1779942059
+ 0.0896591469 0.3006854457 -16.3528825991 16.3558925101
+ -0.3652418169 -0.6842401798 -217.3140789752 217.3155079299
+ -0.0034234873 0.1969739181 -19.3594067330 19.3609121501
+ -0.0290826310 -0.0221466697 -8.4786081241 8.4786869264
+ -0.2577155050 0.0778430860 -165.2421020747 165.2423213795
+ 0.2126398737 -0.2250677107 -279.3267159726 279.3269224529
+ 0.1081640021 -0.1688561687 -84.4485575381 84.4489109575
+ 0.1834010756 0.0865142133 -473.1517199256 473.1517839647
+ -0.0488719920 0.0721643079 -221.7981217409 221.7981827783
+ -1.7448455566 2.4921877129 -616.8193555961 616.8268739309
+ -0.4194674477 0.4334598557 -79.7555558049 79.7579588626
+ -0.2405230503 -0.0328744566 -26.5858463022 26.5873209530
+ -0.6034955259 -0.5141579264 -31.2385200705 31.2488908796
+ 0.1638126043 0.0101811828 -10.5332319494 10.5354351268
+ -0.1401235635 0.0774205777 -1.0673152115 1.0792545203
+ -0.0764670415 0.2015020117 -4.4632576682 4.4684582668
+ 0.1004790435 -0.0916098374 -0.3248806156 0.3521871872
+ -0.1064736351 0.4738688694 -5.2841534501 5.3082620328
+ 0.3218016390 0.1968768848 -9.1562298793 9.2119060459
+ 0.1353904184 -0.0260064587 -1.2436441750 1.2590224463
+ 0.6100942143 0.6575841496 -8.3789476071 8.4790439704
+ 0.2440437200 -0.0330929644 -1.2553184594 1.2868398117
+ 0.0514526277 0.2190608661 -1.5701180420 1.6611883282
+ 0.1372299060 0.7254283299 -3.3552051347 3.4383076636
+ 0.2249887106 -0.1520320231 -0.5965768782 0.6701622285
+ 0.1695471797 -0.3391619865 -0.2457642903 1.0414066346
+ -0.2556074022 0.0614822381 -0.0548780131 0.3026658073
+ -0.2632482254 0.0670017819 0.4434716970 1.0738937554
+ -0.0644068099 0.2659118756 0.1505389224 0.3420513336
+ -0.3570493913 0.0031080420 0.1813753305 0.4241116871
+ -0.0864124590 0.1621691599 -0.1595860487 0.2805591583
+ -0.9306299732 -0.3204726026 1.7361986340 2.0006599706
+ -1.4872367863 1.2030974562 3.5849514878 4.1706097519
+ -0.7031097587 0.6300072817 1.2064951069 1.5383051504
+ -0.2161833966 0.3903551137 10.4084767637 10.4189721519
+ 0.0803149198 -0.0314024289 268.6716585303 268.6717086219
+ -0.1581949575 -0.2312517393 1476.8147189483 1476.8150435840
+ -0.1128636898 -0.2129492528 384.6157144328 384.6158152677
+ 0.0461300467 -0.1554289250 1722.9398811202 1722.9398944016
+ -0.0998121208 0.2192375613 604.2849937145 604.2850578460
+ -0.1306452713 -0.0419120639 -0.1385822216 0.2398116449
+ 0.0670971285 0.2300405729 -0.2102272170 0.3479884444
+ -0.0658102562 0.0504672667 -0.0541361008 0.0990386401
+ -0.0328327591 0.1792983550 0.0355750233 0.1857187994
+ 0.3790254689 1.6577306248 3.3185232279 3.8454023625
+ 0.0790284068 0.0732545670 0.6390348988 0.6629156112
+ 0.4044764321 -0.1037192791 0.2540253546 0.5082986707
+ 0.3155650118 0.0137480471 0.4594672070 0.5747696796
+ -0.2368070353 -0.0717572765 -0.0776267413 0.2945036070
+ 0.0150794557 0.2493484796 0.0538285482 0.2911689402
+ 0.5242711188 0.5212543040 -1.3586428394 1.5530474575
+ -0.1894719837 0.1388649068 -1.0339703461 1.0694660146
+ -0.3230259180 -0.7345551608 -4.0749313721 4.1555339609
+ -0.5041837063 -0.8320104728 -10.0061700444 10.0543205330
+ -0.4430443258 -0.1303902894 -2.1797648253 2.2325197381
+ -0.2655783851 -0.0905889652 -0.9675911081 1.0170794348
+ -0.3808833270 -0.0313661032 -3.4652636450 3.4890669032
+ -0.1074870207 -0.0080526398 0.0037284190 0.1763859140
+ 0.1188952262 -0.1178720167 -1.9654917259 1.9775407446
+ -0.1168153378 -0.2905825802 -0.2873425139 0.4473584293
+ 0.2049314285 -0.2479883935 0.2698296068 0.4198846870
+ -0.0115063078 -0.0023845109 -0.0063955375 0.0133784869
+ -0.0372355634 -0.0566035911 1.2681726633 1.2699812430
+ 0.0095869995 -0.0500175566 0.1409128402 0.1498335578
+ 0.0651788088 -0.0161068207 -0.3786984860 0.3846040173
+ 0.0880974512 0.1266280344 -1.7199246665 1.7268285029
+ 0.5861372256 -0.6143882111 -6.2493026180 6.3263329316
+ 0.0316062155 -0.0701959191 -0.0816668505 0.1122314323
+ 0.0700243700 -0.0096230070 0.0371710422 0.0798605098
+ 0.0811806041 -0.1901402898 -0.0263621421 0.2084192477
+ -0.0030988249 -0.0110203230 -0.0589043005 0.0600063901
+ -0.0027336410 0.0395970907 0.0654290850 0.0765269074
+ -0.0803960589 -0.0443262239 -0.0079819519 0.0921523303
+ 0.7791232530 -0.2180356777 1.5238053207 1.9639006717
+ 0.0454966914 -0.0416899157 0.3516787782 0.3833611169
+ 0.2095421580 -0.2994765104 0.9330361334 1.0020731123
+ 0.1476283312 -0.0694285574 0.3343999962 0.3720723132
+ 0.5711175696 -0.2783425159 1.4917671457 1.6214250064
+ 0.0388355179 -0.0696716584 0.1901792717 0.2062292239
+ 0.2132034763 -0.2607602674 0.5536634459 0.6480700970
+ 0.0014997178 -0.0745293339 0.2221850392 0.2343566991
+ 0.9662601153 -0.7349221488 7.1749592229 7.2782751260
+ 0.2981093263 -0.1352674214 0.8619324895 0.9325094354
+ 0.2706155557 0.1954741305 7.3065204295 7.3141427182
+ 0.2527854008 0.3085378940 6.7006701520 6.7125313092
+ -0.0484253203 -0.1535503692 1.0508531019 1.0631156895
+ -0.0073954533 -0.0316416273 1.1277327544 1.1282008025
+ -0.0361965680 0.0967665602 1.8918128213 1.8946318137
+ 0.1201730013 0.2366800895 4.2592436700 4.2675069602
+ -0.1022789177 0.1157269997 111.9907956587 111.9909021572
+ -0.0385313296 0.0033758186 6.5748743822 6.5749881521
+ 0.0262426582 -0.4107163889 21.5650881072 21.5694664163
+ 0.2220230408 -0.1883020242 7.2028256603 7.2100575005
+ -0.1632574252 0.2417854378 21.7088366894 21.7310619664
+ -0.0324910742 0.0813730435 6.9821019527 6.9840464421
+ -0.0050033700 0.0490308675 0.2916829212 0.2958174879
+ -0.1734647770 0.1735972586 3.9232654003 3.9309334054
+ 0.2533262048 0.2469523288 -2.3632817914 2.3896151247
+ 0.0196764305 0.0160780510 -0.0419359201 0.0490335297
+ 0.2930993519 0.0841211651 -0.8909584177 0.9416955466
+ -0.0141795796 0.0136312697 -0.0471636871 0.0511007375
+ -0.1453322307 -0.0139368720 -1.2076737231 1.2164668163
+ -0.1630557917 0.0003257640 -3.1463672485 3.1505894940
+ 0.0095116858 0.0180053813 -0.1189006657 0.1206318127
+ -0.1769584512 -0.0276514653 -0.2729277487 0.3264482394
+ 0.1896578048 0.4085830995 -45.5044755719 45.5094263064
+ -0.1524816922 0.0190522875 -11.2835849965 11.2846313201
+ -0.0360013212 0.1013039258 -8.1518479826 8.1525569064
+ 0.0541654450 -0.2255027699 -46.9986165450 46.9991887434
+ 0.0908246117 -0.2086991583 -80.2573434400 80.2576661790
+ 0.0573497401 -0.0666658658 -64.6668414856 64.6669012792
+ -0.0386824311 0.0160515455 -10.9807010116 10.9807808779
+ 0.1910298306 -0.2779106293 -391.7005768967 391.7007220671
+ 0.1300084946 -0.1303620513 -354.3333990162 354.3334468475
+ 0.0251052219 -0.1885166599 -285.6351653452 285.6352286582
+ 0.0869150029 -0.1962836236 -585.1473153807 585.1473547566
+ -0.4971768159 1.2021426904 -241.3635377853 241.3670435334
+ -0.3171213084 0.7550579181 -133.3462899279 133.3488047038
+ 0.0298209664 0.4932502680 -92.0747424137 92.0760684199
+ -0.0918700286 0.8593316264 -142.5516850893 142.5543047850
+ 0.0022881145 -0.0183777781 -2.9930200237 2.9930773195
+ -0.3489039330 -0.2466578632 -200.3801401872 200.3805957559
+ 0.1115025753 0.2281227797 -18.2499967926 18.2522967196
+ 0.1880057745 -0.0933137134 -6.5186782948 6.5235496561
+ 0.0514040776 -0.1979955194 -3.6573958348 3.6631119144
+ 0.0465743616 -0.0353700208 -0.3814593489 0.3859163697
+ 0.2128325537 -0.0942725555 -0.0134117086 0.2331627855
+ 0.1240031763 -0.0162884840 0.0893528319 0.1537076153
+ 0.0120010760 0.3680152047 0.4202785963 0.7482571377
+ -0.3442075736 0.8041751857 0.7264554852 1.1370638307
+ 0.0076321592 0.0019066994 0.0015007169 0.0080085896
+ -0.0167925223 0.0279474618 0.0080812496 0.0335910110
+ 0.1810677361 0.2432940014 0.3580630615 0.4692405057
+ -0.5266418094 -0.6322139825 0.6574217017 1.0532091003
+ -0.2982095941 -0.2345215137 0.2467416052 0.4525601862
+ -0.3724109473 -0.3054553985 1.9831696794 2.2467190916
+ -0.0436926025 -0.0291551658 0.1958170811 0.2027397259
+ -0.3107149439 -0.2210414708 0.5131845065 0.6393445440
+ -0.3876987808 -0.0238519199 6.6548850022 6.6847624550
+ -0.0000806122 0.0857601813 14.7877350752 14.7879837527
+ -0.1944682679 0.1308906987 47.2761395375 47.2767206969
+ -0.2261926949 0.4047311087 0.5617003127 0.8821298520
+ -0.0927429169 0.0857225751 -0.0123488268 0.1268940584
+ 0.0095444890 -0.0370200596 -0.0157182661 0.0413357711
+ 0.0520036366 0.0216514984 0.0463238464 0.0729319159
+ -0.0356572397 -0.0504258695 -0.0269616210 0.0673879519
+ 0.1207138060 0.0316860843 0.0132839635 0.1255081455
+ 0.0483281031 0.1503209370 0.0156791213 0.1586752170
+ -0.0004292783 -0.2162291731 -0.6127388926 0.6497724141
+ 0.1326266003 -0.1931440529 -0.6109146182 0.6543020029
+ -0.1128137064 -0.2122895578 -0.8568156382 0.9007811119
+ 0.1681673440 -0.1731319996 -2.4547336051 2.4705165051
+ 0.1826472912 0.0559993044 -0.0106887589 0.1913379331
+ 0.2113169464 -0.0797999001 -0.0268818269 0.2274763911
+ 0.0378914183 0.0495242267 0.1091709586 0.1257247263
+ 0.0472951004 0.0243294952 -0.0365668762 0.0645436851
+ 0.0337805991 -0.0320483379 0.0883461283 0.0998662266
+ 0.1997591503 0.0075575967 0.0587808887 0.2083651321
+ -0.1238906915 0.3094257544 0.2326753235 0.4064861709
+ 0.0285115833 0.1523117308 0.1488429769 0.2148627597
+ 0.0337604191 -0.0011512632 -0.0444313839 0.0558143277
+ -0.0853958386 0.0842971209 -0.0137632047 0.1207802949
+ -0.0906088516 0.1313208263 -0.0807469672 0.1788160958
+ -0.2982407157 0.1338396349 -0.0802725363 0.3366069703
+ 0.0842579992 0.0465765645 -0.9480490171 0.9529248269
+ 0.1753075370 -0.0330739435 -0.8162876861 0.8355550280
+ 0.0233613671 0.1374946930 -1.6842967976 1.6900610186
+ -0.0104885032 -0.0039609901 -1.4305331671 1.4305771005
+ -0.1568064396 -0.2921406838 -3.9731468285 3.9869575066
+ -0.0189382543 0.0049192561 -0.0786708200 0.0810675921
+ 0.4072918690 -0.3850262714 0.7891977184 0.9779799179
+ 0.3576534236 -0.4609440474 1.7453730619 1.8455872497
+ -0.0109044807 -0.0489811159 16.1431782388 16.1432562300
+ -0.1348219263 0.0621136559 40.9312911311 40.9315603015
+ -0.0466158917 0.4899579310 255.1024573732 255.1029321464
+ -0.0294563013 0.0099071009 17.3387371998 17.3387650514
+ -0.4092977643 0.2592610266 5.6280044295 5.6505446271
+ 0.0390781913 0.1223951497 4.2729081893 4.2771172367
+ -0.2960106623 0.1327471298 -1.4325253415 1.4754161283
+ 0.1321383114 0.0286037763 -0.7034850307 0.7298285296
+ -0.0742082503 -0.0637583434 0.0862751249 0.1304430448
+ 0.0139318062 -0.1172677077 0.2820643613 0.3057876950
+ -0.0377906757 -0.1980415706 -1.3148594040 1.3302269924
+ 0.0923925970 -0.4442223395 -2.3801195057 2.4229813743
+ -0.0624540441 -0.1397797130 -1.1614842197 1.1715308226
+ -0.1304726959 -0.0219842154 -1.0945031652 1.1024715909
+#SUBSTART
+ -0.1734802534 -0.6041668205 -0.1421520806 0.6593936186
+ 0.4443987084 0.1415820509 0.5326604713 0.8630781116
+ -0.0787821948 -0.0818522167 0.7012006802 0.8650027592
+ -0.0905139288 -0.5927715090 -0.6316011141 0.8820264086
+ -0.5943964647 -0.3576600087 -103.3205943620 103.3241021646
+ 0.0223434023 0.1266335828 523.8052686327 523.8053030110
+ -0.0575108692 0.5959050182 -2.7909402527 3.0046810776
+ 0.3069975221 0.1023654814 1.4141896532 1.4574423935
+ 0.0592643018 -0.2362899846 2.1181056544 2.1366320606
+ -0.0508582763 -0.3792723507 2.6871176324 2.7178143858
+ 0.9616613368 -1.2990970152 15.4607226708 15.5456061596
+ -0.1830107530 0.1251128457 1.6697175951 1.6901428318
+ 0.1940028217 0.5105226357 0.7085770749 0.9054455878
+ 0.0657422154 -0.4273219204 1.3012054987 1.4572929603
+ -0.0997198286 0.1260492435 0.0580357083 0.2206363169
+ 0.5213862652 0.5884167570 -0.7804661353 1.1165505321
+ -0.3223707327 -0.4524102880 -2.8138441856 2.8715495544
+ -0.1316881238 -0.1507365427 -5.4327603602 5.4588084193
+ -0.1414872979 0.0368425353 -4.1659346682 4.1976217848
+ 0.0491209552 -0.0766561171 -6.0326205865 6.0534652167
+ 0.4435705326 0.0278006940 -6.4770933992 6.4938237105
+ 0.1889086076 0.5401954372 -13.9149142356 13.9266771255
+ 0.2680073416 0.2273877454 -25.9716436074 25.9743967125
+ 0.5801820870 0.1288392377 -5204.6451886675 5204.6453074078
+ 0.0974608350 0.0542162049 0.1249135093 0.2179935342
+ 0.4607558325 0.8695076077 3.3822885311 3.5252935919
+ 0.0528442804 -0.2863591633 2.7110654417 2.7302288737
+ -0.1251166711 0.0155063756 0.9371201624 0.9558078325
+ -0.2564335475 0.2159304535 1.8392774016 1.8747813925
+ -0.0230738398 -0.0027189269 17.7405780807 17.7411423030
+ -0.1046715048 0.0107004547 122.5364074007 122.5365320592
+ 0.2123350858 0.0998350989 3.9711557758 3.9780813756
+ -0.0010632646 0.0302179597 0.1680133022 0.1707124053
+ -0.0596022320 -0.4832071644 172.3906884120 172.3914324221
+ -0.6495453516 0.0584863024 3650.9960390211 3650.9962178326
+ -0.1740655122 -0.0806533981 551.7780176316 551.7780686336
+ 0.1299177805 -0.3327717024 626.3304378584 626.3305552847
+ -0.1680372555 0.4438737410 0.2109428577 0.5378076713
+ -0.5363354113 0.0029591480 -0.4613330325 0.8626317620
+ -0.0497901576 0.2899353359 -0.0676833640 0.3325693634
+ -0.1279344345 0.6757355112 -0.2080739530 0.8717347248
+ -0.2475285333 -0.0770208859 -0.1701051824 0.3400266896
+ -0.2310754579 -0.9986128508 0.2013776147 1.0538767583
+ -0.2412693537 0.5685249332 -1.0634730503 1.2376939098
+ -0.1011573295 0.0505398783 -11.3515882563 11.3908600912
+ 0.0520423101 -0.0672655598 -1.3867686645 1.3963667754
+ 0.2313286717 0.1176001878 -10.4576544974 10.4618048219
+ 0.1391125635 -0.1956243934 -29.8690528923 29.8703435145
+ -0.2009385373 -0.0156450475 -19.1777952390 19.1793621134
+ 0.0535340978 -0.1883255548 -43.5964076343 43.5970706678
+ 0.2279978612 -0.0617316098 -27.2323609417 27.2333853253
+ 0.2536002229 0.0568476880 -38.7283576421 38.7292296643
+ 0.0776591667 -0.0580536110 -101.2558722941 101.2560149077
+ -0.2258733262 -0.7381644083 -117.4678617981 117.4704811459
+ -0.1689065502 0.1150742064 -0.0626991002 0.2553085540
+ 0.2401454328 0.0554121902 -0.0853807601 0.2958208897
+ -0.0072941971 0.3797417417 -1.0431272235 1.1101222455
+ 0.0367663270 0.2501462116 -0.4469108255 0.5134726632
+ -0.0724928974 -0.1153778103 -1.5979547385 1.6037539105
+ -0.0671331855 -0.0804901441 -3.5882366067 3.5897670500
+ -0.1546711308 0.0146859195 -4.1777297713 4.1806177625
+ -0.0365854078 -0.0692633348 -1.2711935789 1.2736047333
+ -0.0609984921 -0.0764320590 -13.5441712044 13.5445242180
+ -0.3339793544 -0.0896602029 -32.6346811914 32.6365132578
+ 0.0939780897 -0.1198445091 -399.2274933145 399.2275223638
+ -0.0001960881 -0.0946678667 -601.0634071431 601.0634145982
+ 0.0976934242 0.1191038860 1.1753632392 1.1854148999
+ 0.0904562731 -0.0271725062 0.8370557516 0.8423675052
+ 0.1290435611 0.2429608757 1.4765722921 1.5019813453
+ 0.0879582657 0.5046377586 3.2812641836 3.3210074626
+ 0.0145036523 0.0123537927 6.7250561883 6.7250831748
+ 0.1227715488 -0.2164119558 27.8873284417 27.8884383680
+ -0.0965883056 0.1453065644 160.5906474174 160.5907422028
+ 0.0020149626 0.1023885242 42.6336715583 42.6337945533
+ -0.3228813408 0.0186734444 713.9731362588 713.9732095116
+ -0.1271526455 -0.0804418439 330.6858342898 330.6858685197
+ -0.0031595986 -0.0327052276 0.3487370793 0.3502815517
+ 0.1927768334 0.0163487302 1.0155757844 1.0338396212
+ 0.0261850537 -0.0352144032 0.0216618444 0.0489381930
+ 0.1094173635 0.0558621251 -0.1016963366 0.1594831694
+ -0.0084439985 -0.0679023673 0.0322318056 0.0756367760
+ -0.0684326877 0.0544960496 0.0432654693 0.0975948410
+ -0.1259573171 -0.0143346254 -0.4511619109 0.4889760546
+ 0.1377687227 0.3693423903 -0.7420435084 0.8517642722
+ -0.2802526561 -0.1529295678 -14.3956013798 14.3991412275
+ -0.1589627168 -0.2036933693 -14.7604705739 14.7627318508
+ 0.1115740216 -0.0143871725 -5.2956564841 5.2968512676
+ 0.0056657821 -0.0522380541 -0.7621266101 0.7639357861
+ -0.3279092480 0.3435085073 -56.5342112437 56.5362057758
+ -0.1787150844 0.1136784234 -35.7344525606 35.7350802668
+ 0.0259034502 0.1418016086 -1.4082850397 1.4225066688
+ 0.0312634471 -0.2088360572 -0.6664225938 0.7128735936
+ -0.0507776495 -0.0704892619 -6.8536448739 6.8541954424
+ 0.0017364223 0.0182842508 -0.1505630033 0.1516790921
+ 0.2599755299 0.0628337163 -13.8705334856 13.8731119265
+ 0.1870480262 0.0921703262 -6.4185287169 6.4219150744
+#SUBSTART
+ -0.1039065923 0.0051110575 37.9336431352 37.9340425475
+ 0.1039065923 -0.0051110575 0.5220210047 0.5502803077
+ 0.1034556933 0.3673674817 -2882.4625129511 2882.4626909261
+ 0.4232895108 0.4152906349 -2175.8930370949 2175.8931223748
+ -0.1411130628 -0.3963674436 -6.9145578872 6.9287524567
+ 0.1517250416 0.3954868301 -1.8422058821 1.8954241262
+ 1.1065101142 0.2749451166 -10.2224525153 10.2976762348
+ 0.3962337478 0.1346423045 -12.2245997474 12.2417159613
+ -0.3096747287 -0.1012363756 -1.7799566916 1.8756422967
+ -0.3998973155 0.1328527280 0.9435873110 1.0427868951
+ 0.0996720735 0.1357040248 -0.0345750576 0.2214166301
+ 0.3664551199 -0.5493840302 20.9586439962 20.9900267012
+ -0.3802947715 -0.0339800129 37.7033098950 37.7169153880
+ 0.2034489154 0.5002362111 142.2573944596 142.2584879224
+ -0.3106042504 0.2462147367 1287.4155349562 1287.4156035341
+ 0.1628871932 -1.0632061761 907.2064559011 907.2075787376
+ -0.5609124055 -0.2393434827 0.3113120613 0.6987868157
+ 0.0175247922 0.2683783832 0.4695669622 0.5588443359
+ 1.1220437970 0.5833688799 -0.6077705844 1.6886321093
+ -0.1326592342 -0.1950979122 -3.7135707186 3.8378458717
+ 0.4649766782 0.4590134083 -1.0238500172 1.2225568547
+ 0.4094962442 -0.1448258130 -2.7242652115 2.7622024577
+ -0.2614016343 -0.0546712323 -4.7177679129 4.7510309195
+ -0.0389861985 0.8817123334 -241.6885697156 241.6920023880
+ 0.7370695954 -0.6471947066 -438.8132699339 438.8153721036
+ 0.0027705361 -0.2894844961 -1.5913639365 1.6174820332
+ 0.0069707551 0.0112204726 -0.1978958306 0.1983362050
+ -0.0605733521 0.0262848931 -0.3766114468 0.4070331600
+ -0.9279145314 0.1252598721 -10.6178694360 10.6599881125
+ 0.5999660866 -0.5149943295 -4.8225776712 4.8889583394
+ 0.6419844727 -1.0834346584 -8.4814921860 8.5756145091
+ 0.0638010032 0.2587692383 -2.7176651062 2.7342669038
+ -0.0632748766 -0.4452752965 -2.8247544265 2.9026112950
+ 0.1886979313 0.0553675578 -1.7820037420 1.7982462560
+ 0.4034994338 0.0684907907 -2.2310359963 2.2682646227
+ 0.5555470663 0.2060544347 -2.6328824834 2.6987332481
+ -0.2506615571 -0.3669370219 -2.6645504144 2.7049552103
+ -0.2472580843 0.1274218453 -0.0907360477 0.5738003810
+ 0.4137344322 0.2032217605 -0.1844874201 0.5157428210
+ 0.0877180488 0.0017347943 -0.0511241690 0.1015438145
+ 0.1899687547 -0.1670324770 -0.3344824477 0.4193643809
+ -0.9478307825 -0.3695990951 -0.7087243369 1.2477005466
+ -0.3216864310 0.3585487666 0.5641095059 0.7548103719
+ -0.1082089695 0.2384215269 0.4677429161 0.5539108467
+ 0.2407833089 -0.1970657345 0.4922551973 0.5988375988
+ 0.1721983140 0.1365870249 -0.0675218218 0.2689744524
+ -0.0780196050 -0.2124420431 0.3486728024 0.4384873869
+ -0.3187790217 0.4238260521 0.9355522532 1.1832783129
+ -0.4180636942 -0.3091524746 0.6595230849 0.9741479172
+ -0.0057599471 0.1057756440 0.2457744754 0.3018386018
+ -0.1818004317 0.2481281858 0.1997776840 0.3924409528
+ 0.1337357285 0.0564103971 0.2281081205 0.3042704020
+ -0.4834817121 -0.6207110617 0.9215502538 1.2197423676
+ 0.0083982759 -0.0143388489 -0.0618281712 0.1535533825
+ 0.0613117494 -0.0938097722 -0.0262954669 0.1809161144
+ -0.1182343544 -0.7619446561 0.5949061311 0.9738851710
+ -0.1458008411 0.0574592875 0.1636242427 0.2265664312
+ -0.2680402121 -0.1111101158 0.5714457284 0.6559123558
+ -0.1630883591 -0.2669096387 3.3679510266 3.3853230969
+ -0.6383325092 -0.6548783764 2.3345166573 2.5111315952
+ 0.0274365592 0.0580202893 6.7840576090 6.7857966773
+ 0.2268176806 -0.1984675096 6.1102538196 6.1192742329
+ -0.1849019690 -0.2966372399 9.6386204680 9.6459663436
+ -0.1468270345 0.7480774698 10.9211651245 10.9588624736
+ -0.0041426521 0.2284397826 11.1371480988 11.1403657685
+ -0.0271887007 0.1067016442 3.0696058649 3.2120704253
+ -0.3348621699 0.0254219873 2.7377217740 2.8020600318
+ 0.2474702119 -0.0717134448 0.7921330295 0.8445938937
+ -0.0120867789 -0.2521130103 0.2865576135 0.3818668957
+ 0.1091019451 -0.2104094790 0.3399961895 0.4144548132
+ 0.0340184432 0.1320421419 0.0514899758 0.1457518416
+ 0.6135930141 0.8937962796 0.4662534848 1.1801527395
+ 0.0368112000 0.6434021832 0.6341470437 1.3039385306
+ -0.1522087245 0.1442942087 -0.1156828694 0.2772194539
+ 0.7879368308 1.1240806020 0.1563957485 1.6708240674
+ 0.4606761494 0.5314601126 0.2408973797 0.7564282506
+ -0.5920719378 0.0604711208 0.5583672734 0.8279249561
+ -0.6474928874 -0.6703616379 19.4889211831 19.5116929156
+ -0.0478520576 0.2350259357 412.2824708696 412.2825406361
+ 0.0788380057 0.1776706681 385.2613040814 385.2613531160
+ -0.2964233868 -0.0254668328 974.2100070225 974.2100624496
+ -0.0852523310 0.0773462890 65.9798970457 65.9801450768
+ 0.4409343342 0.3117100979 933.3545773441 933.3547439828
+ 0.1073993289 -0.1328245249 175.2940498079 175.2941885939
+ -0.6293620655 -0.4818051760 126.6400829780 126.6426402493
+ 0.2167947516 0.0817237799 109.8111896095 109.8115227195
+ -0.1180107168 -0.0472207866 2.8662901789 2.8724998706
+ 0.1850697253 0.2411865730 3.6587042026 3.6739648873
+ 0.0934140245 -0.4062675746 1.7987426855 1.8516842484
+ -0.1513943519 0.0578420144 0.4485903519 0.4969698554
+ 0.4440681710 0.3096166890 3.8728514427 3.9129933704
+ 0.3728657612 0.1979906872 -0.0492209489 0.4473607882
+ -0.1552187472 -0.1080082267 -17.1017877168 17.1034026302
+ 0.0498557590 0.0123088693 -3.7247487643 3.7251027452
+ 0.1750868784 0.3270039615 -46.0428202437 46.0443143395
+ -1.0532051166 0.3027144018 -173.7614219882 173.7648774879
+ -0.0899923848 0.2418175494 -30.7830451748 30.7841265078
+ -0.0115458851 0.0398428159 -4.7958709859 4.7960504095
+ 0.0323371416 0.0212456978 -8.5915803861 8.5916675099
+ 0.2022442611 0.0346197511 -11.7742272909 11.7760150121
+ -0.2370913767 -0.2248721240 -133.7537431868 133.7550531279
+ 0.2023546551 0.0181372237 -196.9018849706 196.9020392508
+ 0.2040566843 -0.1974873361 -125.9760498977 125.9773369665
+ -0.1681111823 -0.1788885259 -24.7525603703 24.7541711060
+ 0.1934901133 0.2544818011 -101.7165589969 101.7171571239
+ 0.4431634221 -0.8048983472 -3.4464391011 3.5668189814
+ 0.5239966650 -0.6821225560 -3.2543208416 3.3660760281
+ -0.0580010022 -0.1766229554 -1.8728430707 1.8820470111
+ -0.0327618734 -0.0629395750 -2.1664999530 2.1676615918
+ -0.0127584669 0.0096437241 -0.3558998427 0.3562590040
+ -0.0192497129 -0.1497355481 -0.5145898226 0.5362778863
+ 0.0672581358 -0.0552225762 -0.1369944864 0.1622981178
+ -0.0193951643 -0.0472293832 -0.3902059210 0.3935320163
+ 0.1980909280 -0.2636747290 -2.4542451812 2.4763044619
+ 0.0050794673 0.0139014216 -0.0495400322 0.0517036295
+ 0.1636916316 -0.3521738423 -5.6301432367 5.6435214389
+ 0.1599063552 -0.2376317754 -2.8619667973 2.8762636966
+ -0.0224755734 0.0120320984 -0.6123148647 0.6128453446
+ 0.1692305961 0.0622473954 -1.9883333474 1.9964927331
+ -0.1013839586 0.1265374641 -6.7744120413 6.7763521855
+ -0.0128024845 0.0231933722 -0.1821114059 0.1840282595
+ -0.0216433426 0.0285919252 0.0786113553 0.0864041530
+ 0.0545751693 -0.0185899990 -0.0250181285 0.0628485793
+ -0.1423437673 0.3345611322 0.1760116533 0.4039467803
+ -0.0844514265 -0.0228228490 0.6665368701 0.6722531704
+ -0.3037044020 0.0529864744 -0.0134818101 0.3085865997
+ -0.0271790976 -0.0103959124 0.0437842271 0.0525722064
+ 0.0950867531 0.0392774979 -0.0696607725 0.1242450629
+ -0.0280429602 -0.0193411285 0.0151170851 0.0372694665
+ -0.1508107793 0.0676924340 0.1211147168 0.2049266488
+ 0.0065719502 0.0821609560 0.0514224499 0.0971487600
+ 0.3805017428 -0.1369645127 0.3552801363 0.5382980859
+ 0.0661718044 -0.0720033691 0.0313062800 0.1026804559
+ -0.1513072139 -0.0639385966 2.3572036956 2.3629200748
+ -0.8838879674 -0.4346420971 19.6561054667 19.6807686285
+ -0.2779044034 0.1211170347 5.8586924744 5.8665302951
+ -0.1343317569 -0.0345749808 2.4292301943 2.4331871665
+ -0.7455485397 -0.5204308906 22.5996745090 22.6374099543
+ -0.2480076375 -0.1993699238 5.0334263565 5.0454055165
+ -0.0246675830 -0.0080580270 0.1623808065 0.1644413202
+ 0.0995700893 0.1215190286 0.4044664781 0.4339057604
+ -0.0468402196 0.5962391038 0.9068834038 1.1949092066
+ -0.0702712395 -0.0234918490 0.3841131004 0.3911940541
+ 0.0437038875 -0.1067430091 0.5967806301 0.6078249915
+ -0.2370575603 0.2063068478 940.1573030915 940.1573556140
+ -0.0615978617 0.0296470614 86.9643150880 86.9643419568
+ -0.3231725544 -0.5223856757 179.4678455043 179.4688967405
+ 0.0049750786 0.0026916162 0.5170926580 0.5171235957
+ -0.1749963829 0.2233065660 2.9392507299 2.9529111753
+ 0.0151677692 0.0740437515 1.1436933832 1.1461880706
+ -0.0805072621 -0.0063345819 1.6103232025 1.6123468493
+ -0.1148525386 -0.0384120338 0.6812536392 0.6919343256
+ -0.1424136704 -0.0479389019 -0.2696774262 0.3087162225
+ -0.0305664054 0.0590206841 -0.1768966179 0.1889713199
+ 0.4746987215 0.2164568022 -3.0048827891 3.0498381924
+ 0.0991807664 0.0801456524 -1.1629700215 1.1699399219
+ 0.0952798243 -0.0479218531 -1.4793221784 1.4831617769
+ 0.1024359657 0.0790097780 -1.1669209573 1.1740699266
+ 0.0995366917 -0.0405691920 -0.5682548317 0.5783311907
+ 0.0901591062 0.0917672139 -0.9004189009 0.9095625778
+ -0.1019200353 0.4499532578 -10.2429764583 10.2543109051
+ -0.0106130842 0.2691275418 -17.6247297227 17.6273401242
+ 0.0434971876 0.2857760563 -6.2137669961 6.2204871386
+ 0.1297485746 0.1540029648 -3.7710577065 3.7764305675
+ -0.3852392116 0.7685264631 -181.7900181124 181.7920507819
+ -0.0526601807 0.0398120413 -9.9723768875 9.9725953933
+ 0.0612640533 -0.0731883131 0.1410934528 0.1703442862
+ -0.0049150314 0.0312590731 -0.0070712766 0.0324236047
+ -0.0553722816 -0.1733983055 0.1090969179 0.2122149839
+ -0.0016237695 -0.1482247201 -0.0268711003 0.1506494617
+ 0.1014096975 -0.1593307325 0.1407920095 0.2355686716
+ -0.0166242150 0.0058894077 0.0623495601 0.0647959667
+ 0.0463266376 -0.0170960604 -0.2371025418 0.2421901071
+ -0.0757088802 -0.0959765289 -1.1019265373 1.1086863498
+ 0.0306894230 -0.1885989198 -2.9802004337 2.9863198118
+ -0.0323073059 -0.4311671345 -10.1014237872 10.1106731422
+#SUBSTART
+ -0.2142622169 0.0132640633 -4052.3894773558 4052.3895919643
+ -0.1841169489 0.3410823540 5.4810937741 5.4965539176
+ -0.8010173997 0.1515839082 7.4863371212 7.5318875346
+ -0.0244780853 -0.3729051304 0.8373221513 0.9274942495
+ -1.2690867166 0.7869083518 -0.0409538738 1.5732526905
+ 0.2654372432 0.1206053163 -2.4895099164 2.5104067362
+ -0.8244243628 0.9384208203 -17.5886237149 17.6334759232
+ 0.0380115412 -0.0966053111 -3.3781296849 3.3826051227
+ -0.0821663003 0.2806009503 -153.2040649188 153.2044074941
+ 0.1555363725 0.5610747953 -179.8805043996 179.8838936930
+ 0.3146196330 -0.6417709607 -36.9821936676 36.9893631161
+ 0.1164330153 0.2746600055 -127.7132381147 127.7136627941
+ 0.7372036343 -0.9010700684 -41.9826939987 42.0093125681
+ 0.7772580311 0.1887906058 -33.2915879777 33.3144105848
+ -0.5695048024 0.1928050554 187.3823155685 187.3839303096
+ 0.0734573508 0.4179464513 22.6073235101 22.6117365829
+ 0.3028687216 0.3416629543 0.7787232019 0.9134290596
+ 1.5113505593 -0.8319323071 4.3801223220 4.7096967225
+ 0.4194522363 0.3437806609 -0.1491879678 1.0939529076
+ 0.3345456002 -0.9500052286 -2.0978704344 2.5091515788
+ -0.6172043868 0.2847387002 -0.5154442234 0.8643956934
+ -0.8303424704 0.3742602810 -0.7734765596 1.2030316493
+ -0.3334019759 0.2243061588 -0.1255667925 0.4435278285
+ 0.1542546701 -0.2325117203 -150.9195177596 150.9205828837
+ -0.1984983628 -0.0696492444 567.8250587967 567.8251149164
+ -0.9787689728 -1.0768889568 2809.0842232381 2809.0846036394
+ 0.0751778353 0.0156020723 -766.4294671890 766.4294710348
+ 0.0002771890 -0.0398063977 -73.8241060446 73.8241167771
+ -0.2345572194 -0.7000360590 31.3789857004 31.3915506486
+ -0.3991794306 0.0554905345 25.2952496033 25.2988449478
+ -0.7810930341 -0.1422369735 46.7683150621 46.7752617440
+ 0.6595146577 -0.6449841753 29.0325613258 29.0475482802
+ 0.7786390580 0.2869091319 43.8005611855 43.8086433890
+ 0.2748563098 -0.6668204914 10.3376283300 10.3636979324
+ 0.6986057413 -0.3500814092 33.0472913153 33.0568230482
+ 0.4251002412 -0.0302754031 5.8322071401 5.8494227685
+ 0.1062065675 -0.7580672647 4.7481906731 4.8115216165
+ 0.2952296778 -0.4778352981 4.0688798498 4.1074651997
+ -0.5263913334 0.2164774596 2.8845559743 2.9434831884
+ -0.0769586966 -0.0567339403 2.7654375052 2.7706074715
+ 0.1379027186 -0.1141707228 0.5065561166 0.5550954854
+ -0.8726849001 0.2137649406 2.6927923968 2.8813271659
+ -0.0918375192 -0.1729541914 1.5346804728 1.5534063283
+ -0.2203864170 -0.0817215438 2.9499468440 2.9625858217
+ -0.3551147278 0.3708696564 2.9889505888 3.0359440343
+ -1.0459156336 0.0040836953 2.6311543444 2.8348561089
+ -1.5283196276 0.7886132457 3.5044160488 3.9061596695
+ 0.1151987804 0.3441067308 6.1560094671 6.1682746814
+ -0.8178740981 0.8177424866 0.0176158427 1.1650797902
+ -0.0636272772 0.2193219190 0.0865768814 0.2442254920
+ -0.3471227420 0.5552574145 0.1029821892 0.6628803253
+ -0.0068387142 -0.1470876131 0.3060198320 0.3671640729
+ -0.0470609980 -0.0458981367 0.0811723593 0.1743276034
+ -0.1917391855 0.0990101391 -0.4748117059 0.5399007908
+ -0.4672032006 0.1536159150 -0.7743450150 0.9278828952
+ -0.0811736973 -0.1042054678 -0.4389334731 0.4583781654
+ -0.1017957626 -0.1055507787 -1.2583733674 1.2668886597
+ -0.0724376051 0.5138857828 -1.7119926685 1.7889227768
+ -0.0127717754 0.0411112357 -0.3423721493 0.3450680231
+ -0.2620316128 -0.0353048502 -0.6591978746 0.7238291383
+ -0.7342559869 0.5751432716 -1.1501172577 1.4873369250
+ 0.1816369233 -0.1777653324 -2.1507934724 2.1702499467
+ 0.0140842898 -0.0434922026 -0.0256150391 0.0524029497
+ -0.1630247878 -0.0488821470 -0.2199504020 0.2781091963
+ 0.2159666297 1.3728867402 -18.5819665179 18.6404018256
+ -0.4416353882 -0.2335946613 -17.7741681190 17.7880381595
+ -0.3401619610 -0.4440599956 -22.2200284321 22.2325483002
+ 0.5674328646 0.2606919689 -151.4983984006 151.4997496305
+ -0.0256828270 0.4543719973 -100.3340467302 100.3394779664
+ -0.0130984943 0.1238780061 -5.4761588003 5.4793532759
+ 0.0822611120 -0.3674394559 -5.3511531949 5.3661996743
+ -0.0504505120 -0.1856302933 -16.9289668270 16.9306349992
+ -0.0279085727 -0.1164727332 -2.2210426981 2.2286442600
+ 1.6550133296 -0.8691234076 -22.0829678949 22.1623869529
+ 0.3692557119 -0.0516618026 -4.5427017861 4.6535479833
+ -0.1410738018 -0.5215517757 -1.1836264478 1.3085753418
+ -0.0183550294 0.1334025852 -2.6645425280 2.8285529560
+ 0.0941597940 -0.0594795524 -0.1378777335 0.2255968489
+ 0.0473134594 -0.2092443407 -4.7923816861 4.8225081589
+ 0.8271538542 -0.4794459277 -7.8663026118 7.9254178730
+ 0.0308049354 -0.0262407001 203.8191809648 203.8191849818
+ 0.0796073783 -0.3185386069 632.0585518261 632.0586371063
+ -0.2305720301 -0.1609910715 1989.7929685798 1989.7932096682
+ -0.0433529407 -0.1098849443 131.1606952020 131.1608226562
+ -0.0631824116 -0.0915330261 3.8096788654 3.8138567297
+ 0.2140283746 -0.2389081709 27.4985053886 27.5164219267
+ 0.0355894741 0.0040200710 1.1278710227 1.1370380822
+ -0.1227579543 -0.2076378359 1.6487059451 1.6662575670
+ -0.0092478346 0.0196532264 0.0816583254 0.0844976560
+ 0.2082376013 -0.0030777195 0.6964310486 0.7401813030
+ 0.5884444653 0.1092300346 1.9713629418 2.0602111391
+ 0.1577740998 0.0516424744 0.8295784672 0.8460260310
+ 0.2926759906 -0.0564000436 2.0072887188 2.0340914399
+ 0.3493031772 0.7075012839 2.7635907752 2.8774093442
+ 0.2606424676 0.0934350716 0.5974011019 0.6730768678
+ -0.0324068858 -0.0716933180 0.2777851439 0.3206782018
+ 0.3028338049 -0.0324254342 -0.3105516234 0.4568170507
+ 0.9128661166 0.0777442689 -0.6865071179 1.1533171836
+ 0.5395256615 0.1282431076 -0.4480876633 0.7264960929
+ -0.1416095402 -0.1082945956 0.0023745992 0.5286417018
+ -0.8665977122 -0.5992301787 0.9870215181 1.5270741004
+ 0.1442774215 0.4169936783 0.2644565053 0.5330260127
+ -0.3742246649 -0.0199635701 0.2598724784 0.4769236143
+ -0.2527720173 0.1338598592 0.6529703801 0.7264036459
+ -0.4653704392 -0.4352536942 0.7776039675 1.0149695262
+ 0.1473823526 0.2192189738 0.0956411119 0.3136965469
+ 0.0795304379 -0.1216527421 -0.3353824838 0.3912616459
+ 0.1889208086 0.1134976468 -0.0547504575 0.2270911719
+ 0.1246812128 -0.0232633555 0.0173914436 0.1280197283
+ 0.1845456359 0.2767539105 -0.3017758669 0.4703172094
+ 0.0848930096 0.1624232976 -0.5064470382 0.5563780532
+ 0.5367276448 -0.1215767550 0.4429753584 0.7201141751
+ 0.1623548882 -0.0439059281 -0.4077965430 0.4411177402
+ 0.1297490429 0.0827963403 -0.4738791101 0.4982483909
+ -0.3478478681 -0.1094824218 -1.4229653124 1.4689502443
+ 0.3275759604 -0.0619942141 -6.6893387693 6.6990956291
+ -0.0022597869 -0.2273794071 -9.2593559368 9.2631991585
+ 0.1366049792 0.2523606889 -87.8565752950 87.8584534626
+ 0.4645161392 0.0934104213 -239.7622402709 239.7627084441
+ 0.0971414403 0.0826337496 -80.7544289236 80.7545296289
+ 0.0939573204 -0.1400171278 -139.8865610077 139.8866626356
+ -0.3259000090 -0.1677619538 -69.2592741428 69.2602440776
+ -0.2392295351 -0.1814690010 4.6364764567 4.6461893744
+ -0.0893186801 -0.2082737363 3.7969960523 3.8037527255
+ 0.0125904231 0.0087514016 0.2866231406 0.2870329781
+ -0.2559969967 -0.0542262326 11.0324076825 11.0355106008
+ 0.0009644919 0.1277702098 1.6587126177 1.6636266723
+ 0.0408683800 0.0689104745 3.3270573964 3.3280219045
+ 0.2633995307 0.0088436740 8.8404968536 8.8444243534
+ 0.5974361325 0.1783885440 16.9062108944 16.9177043127
+ -0.0270295059 -0.0418911001 1.4944879746 1.4953192852
+ 0.0249488222 -0.0273078852 0.1045874078 0.1109355227
+ -0.0773693609 -0.0736025356 0.1688530029 0.1997866058
+ -0.4770703865 -0.1029293424 1.0127160514 1.1241816597
+ -0.4337886522 -0.0028358280 2.2835984518 2.3244359586
+ -0.6219854735 -0.0202729755 4.2545215494 4.2997942435
+ -0.0038173430 -0.0162062591 0.1086233990 0.1098920277
+ -0.1932892211 0.2021088512 0.7365727582 0.7878757128
+ -0.0990586410 -0.0492853145 0.0839710917 0.1388985270
+ -0.6139530339 0.0362616713 0.5076970436 0.7975020532
+ -0.0628880433 0.1994148176 -0.1116331282 0.2370298099
+ -0.1619390098 0.1216449145 -0.1662816995 0.2620521545
+ -0.0382634389 0.2413640998 0.1251453102 0.2745579504
+ 0.0160740541 0.0376006803 -0.0296206312 0.0504932488
+ -0.0422933803 -0.0071904348 -0.0944327308 0.1037206489
+ 0.0600840858 0.1135342853 -0.2021810457 0.2395356060
+ 0.0271600890 -0.0055895242 -0.8427997340 0.8432557766
+ -0.0068810289 0.0093717095 -0.0011661760 0.0116849247
+ 0.0111172517 -0.0286059541 -11.6071491255 11.6071896993
+ -0.0118095396 0.0793317356 -5.7654622000 5.7660200632
+ 0.0064438112 0.0213396245 -1.4014557173 1.4016329868
+ 0.2120185137 -0.1867552518 -13.8803223296 13.8831976629
+ 0.2262978941 -0.2073692738 -2.7580412610 2.7750683505
+ 0.0395248568 -0.1501422983 -1.0809556671 1.0920485695
+ 0.0222802075 -0.0540982659 -0.0189633228 0.0615031514
+ 0.0185755522 0.0599987725 -0.1262324391 0.1409947961
+ -0.0048896778 0.0138864255 -0.0670563512 0.0686534486
+ 0.4535600814 -0.0091389501 -2.4343897781 2.4762984189
+ -0.0153727074 0.1055314174 4.5523233379 4.5557107851
+ 0.0851240322 -0.1094761844 2.2283632008 2.2326741120
+ 0.3804294898 -0.4211046710 5.6845440184 5.7128011026
+ 0.0039404872 0.0354900433 0.1713398336 0.1750211678
+ -0.0611617349 0.3471286594 0.5075539402 0.6179401801
+ 0.3571252576 -0.1056606841 -0.0045633337 0.3724559757
+ 0.0084261000 -0.0429391382 0.0086908299 0.0446127704
+ 0.0012857421 -0.0714624218 -0.0158866379 0.0732182773
+ 0.3341160423 -0.4300538334 -0.2733248635 0.6093326763
+ -0.2184034297 0.0135086664 -0.0493195402 0.2243099624
+ -0.0507886455 -0.0075605129 0.0573712055 0.0769941756
+ -0.0225136518 0.0962688089 0.0199552211 0.1721991400
+ -0.0516983653 -0.3739032857 0.1051091453 0.4159376219
+ -0.0054563615 -0.0077923311 -0.0639071514 0.0646112707
+ 0.3311188890 -0.2832191460 -0.6048696012 0.7454663224
+ 0.0447253877 0.0381528752 0.0752386264 0.0954822135
+ 0.3740579866 0.4357205843 0.2128131282 0.6124224298
+ -0.0196772643 0.0669149995 -0.1741041969 0.1875555471
+ -0.2169439031 0.0280849857 -0.5426696465 0.5851015029
+ -0.1276083777 -0.0348945017 -0.0960563367 0.1634880550
+ -0.0559296581 0.0836116204 -0.0802221741 0.1286647851
+ 0.1816977651 0.1657535405 -0.8403280867 0.8755795836
+ 0.1175327548 0.1368908195 -1.1620661147 1.1759892431
+ 0.0718481941 -0.1126042017 -0.6923306873 0.7050983263
+ 0.0282183295 0.0290090132 -0.5314909197 0.5330294501
+ 0.0344280690 0.1367449449 -21.8542400785 21.8546950077
+ 0.0668483309 0.1737489540 -12.9298244750 12.9311646170
+ -0.0474111991 0.0906996749 -16.6008405636 16.6011560342
+ 0.0457603527 -0.0144310197 -13.2939866196 13.2940732098
+ 0.0118344508 -0.0114579596 0.0098860163 0.0192112567
+ 0.0129232019 -0.0779379675 1.0831326396 1.0860099681
+ 0.0045451702 -0.0331871098 0.3288454797 0.3305471106
+ 0.1423345922 -0.1084272932 0.3982023751 0.4365555469
+ 0.1664433983 -0.1877712394 2.2912968601 2.3049951723
+ -0.0166366521 0.0061388556 0.0911397073 0.0928488556
+ 0.1562239676 0.0747468229 1.1616312901 1.1827341436
+ -0.2041257654 0.3799263403 2.4355919046 2.4774178216
+ 0.0085726273 0.2510258181 -90.1610473121 90.1615051985
+ 0.1779302075 0.4225690632 -55.5105256193 55.5125945897
+ 0.4039338021 -0.0390360447 29.9089157976 29.9263810227
+ 0.1066803599 -0.1067447791 4.4508974248 4.4556416842
+ -0.0562812811 0.0003622653 -2.9429701741 2.9468153903
+ -0.3736738183 -0.2112368471 -29.9858391721 29.9892361318
+ 0.1562463932 0.0052486027 -0.0188005144 0.1574609239
+ 0.1766624141 -0.0470864773 0.1178388124 0.2175148974
+ -0.0152206210 0.0990728214 -0.1031065999 0.1437986863
+ 0.0899580254 0.0142203191 -0.1026570936 0.1372338977
+ 0.0220188071 -0.0692366043 0.1510330259 0.1675992546
+ 0.1270289206 0.0246454779 0.4175375584 0.4371285382
+ 0.0461778066 -0.0572841603 0.0351547472 0.0815458220
+ 0.0672773548 0.0361242286 -0.0613810249 0.0979736320
+ -0.1356212796 -0.0879092012 -6.1407699502 6.1428964455
+ -0.0961168149 0.0208643146 -7.7482046363 7.7488288694
+ -0.0385117139 0.2647368197 -12.0006091307 12.0035906396
+ -0.0182642243 0.0420581511 -0.6645290926 0.6661091388
+#SUBSTART
+ -0.0799108353 -0.9455238996 2779.1584552750 2779.1587756510
+ 0.9206109935 -0.6259202699 -21.1638605615 21.1988663756
+ 0.0989462328 0.2293728293 -3.9692727930 3.9795739147
+ 1.8800296894 -0.6806842246 -23.8433067634 23.9274026974
+ 0.2719983479 -1.1647432499 -19.1545774821 19.1923924575
+ -0.1719675040 0.3950528715 -1.6234428973 1.6854335405
+ -0.6788119863 -2.4288268935 -28.5094443726 28.6211090632
+ -0.2642169144 -0.5302064976 -1.7526611869 1.8553249120
+ -0.1472174349 -0.7488612564 -1.0147150121 1.2773380505
+ 0.4125205041 0.5734020899 -1.3131016937 1.7616894658
+ -0.2614297700 0.1008168208 -0.1159766478 0.9872952566
+ 0.7368048413 0.0719889144 0.2141070921 0.7831892554
+ 0.1587919404 -0.9503792531 -0.7634560552 1.2372471613
+ -0.1221600489 0.3701228916 -0.1011386671 0.4261723212
+ -0.2983325165 0.0202834878 9.8486424101 9.8541692099
+ 0.5570105785 0.5883216753 288.5057910349 288.5084542859
+ -1.1001086686 0.0317730097 -333.3195640414 333.3214102052
+ -0.6670238582 -0.0570738974 -420.9775906017 420.9781460442
+ -0.2228359817 0.6395519502 -215.2271361404 215.2282469695
+ -0.0393600161 0.5494134211 -333.6672634838 333.6680832295
+ 0.2304138583 -0.0928085944 118.1788339942 118.1791774721
+ 0.1666920003 -0.2384955829 93.1262763521 93.1268355167
+ -0.5069387845 -0.0452023916 69.8677671670 69.8713643780
+ 0.3883285872 0.1209483080 23.5356182185 23.5443070289
+ 0.6115610613 -0.0391639572 0.8891500823 1.0888564648
+ -1.5049917253 -0.7867003230 1.7726374751 2.6280204913
+ 0.6449101219 -0.7816797148 0.9125459630 1.6553014738
+ 0.1385533279 -0.1256206822 0.1682968578 0.2877172183
+ 0.1227710073 0.0840671586 -0.2434915720 0.3176600981
+ -0.1803515573 -1.0866665437 1.4729945366 1.8446039009
+ 0.0661100132 -0.1664739812 11.2443419105 11.2466345591
+ 1.7636245714 -0.7094415418 44.4700462106 44.5108769706
+ 0.1989259961 -0.4427521816 70.2892545898 70.2910690744
+ -0.4541332506 0.6216566067 44.7101802665 44.7170257642
+ 0.3128294777 -0.0321348846 0.4516536975 0.5677726484
+ 0.4413222625 0.6003184411 -20.3002008110 20.3143491237
+ 0.2412124939 -0.2402749072 -81.2277963088 81.2286297340
+ -0.1422386869 -0.0991655084 -151.2852458679 151.2854096161
+ 0.7369303548 0.6728819731 -2866.2023657756 2866.2026934964
+ 0.3880992057 0.0406014380 -10.8638992844 10.8718009969
+ -0.1495814528 -0.3184974964 -27.9643678341 27.9669298174
+ 0.2525252797 -0.2992691960 -4.6880938371 4.7064885721
+ -0.0402013889 0.0003581829 -1.3603103458 1.3680425073
+ -0.1461553154 -0.8807085459 -9.8486305494 9.8899955714
+ 0.1103672695 0.1888951222 -2.8344956547 2.8463498912
+ -0.0077301276 0.0070167693 -0.0160419832 0.0191398838
+ -0.4959795548 -0.1957474697 -3.4842598391 3.5248233171
+ -1.2019346657 -0.9174859801 -11.2544119828 11.3942339425
+ -0.4266884666 -0.3193275713 -6.1626244067 6.1872007005
+ -0.5499778730 -1.3540484181 -12.9981909229 13.1137043066
+ -0.0635058872 0.0105776156 -0.3076033124 0.3438669312
+ -0.3642963845 -0.1779341167 -1.8549966664 1.9039077769
+ -0.0277460430 0.0434793027 -0.1937959329 0.2005421559
+ -0.3187950271 0.3387944074 -0.7079097763 0.8470821514
+ 0.2880289865 -0.0661064257 -0.0344827102 0.5763339083
+ 0.6643163420 0.1408241044 0.2010347024 0.7218326448
+ 0.4747983722 0.3482570767 0.2531617925 0.6559627763
+ -0.2794264151 0.0733491864 -0.2427439299 0.4023227871
+ 0.3238565663 0.3861667927 0.1042259359 0.5332454388
+ 0.3747555465 0.0803009658 0.0502173854 0.4109641535
+ 0.2902554824 0.6463922375 1.2210180813 1.4186035773
+ -0.5110313129 0.2632622922 -0.8084714962 1.0017814045
+ -0.0116068776 0.3964015392 -0.1808842256 0.4358761326
+ -0.0286978438 0.0088087966 -0.0008588793 0.0300316302
+ -0.5092992279 -0.5508714441 -0.5713926760 0.9533175895
+ -0.1321754785 0.1342725956 5.9677137505 5.9723183672
+ 0.1465787494 -0.0444265728 65.1656470939 65.1659765522
+ 0.1356401684 -0.0529533204 19.6396925445 19.6407282283
+ 0.6284830891 1.5371217325 317.9857341237 317.9914545880
+ 0.1852583370 -0.0795923850 -11.2846444135 11.2864456380
+ 0.4262631396 -0.1796548485 -85.8724997781 85.8738590844
+ -1.0928848583 0.4646397112 -75.5030259832 75.5124936668
+ -0.2150613753 0.0248481537 -33.2981866669 33.2991829316
+ 0.2658471799 0.4482778332 -67.6668890024 67.6688960675
+ 0.0233390639 -0.0045920856 -4.4716017027 4.4716649681
+ 0.7134918384 0.1737064953 -132.6093495593 132.6114561977
+ -0.1149350539 0.1887568768 -330.2631191304 330.2632225616
+ 0.0688286058 -0.1418063151 251.8699828150 251.8705158024
+ -0.0364345314 -0.2282604204 336.3064911921 336.3065995904
+ -0.1220050853 -0.2144828032 49.2263628202 49.2294558733
+ 0.2823307230 -0.1144488812 52.0267488879 52.0278280232
+ -0.2189554070 0.1809468045 0.8768051643 0.9321750358
+ 0.0930259137 -0.1570687620 1.3891064494 1.4079847049
+ -0.6570073663 0.1990448690 13.0254507554 13.0772319515
+ -0.1680191081 -0.0809235097 0.9039187975 0.9334495233
+ -0.0767064702 0.1705495426 1.8810198357 1.8954383230
+ -0.2949964308 -0.3913331538 0.4297666345 0.6665910864
+ -0.0553091196 0.0731885402 0.3993957218 0.4329115252
+ -0.2015971165 -0.2296847072 1.1696262190 1.2169230622
+ 0.4002530472 -0.6474377991 0.4407174080 0.8905559074
+ -0.1440235733 -0.8704552900 0.4647400615 1.0069251766
+ -0.0854034983 -0.1712295631 0.3257331481 0.4027346390
+ 0.3127265734 -0.5791176120 0.6646066838 0.9457044714
+ 0.0731159930 -0.0860281270 0.0906140103 0.2010907030
+ -0.0680747921 0.1832607360 0.2968064692 0.3818278928
+ 0.0848716533 -0.1495416066 5.6217148731 5.6243438732
+ 0.4273409205 -0.6492938636 6.3515674934 6.3989540088
+ -0.0564082277 0.5178513292 3.0930877546 3.1397489597
+ 0.3858638780 0.0818409207 4.3403522358 4.3604731606
+ 0.1362416054 0.0721612747 1.7915199739 1.7981414965
+ 0.1677065325 -0.0598861856 1.8433317541 1.8519135488
+ 0.1606888923 -0.2716750238 36.0513707817 36.0530226647
+ 0.2206733591 0.0829757962 66.0367585106 66.0373268394
+ 0.0736080783 0.0449905902 6.5713328280 6.5718990740
+ 0.8382525396 0.4653913276 45.9488278966 45.9588298533
+ -1.0644723654 0.3192295631 102.1551941260 102.1613340537
+ 0.4213528730 -0.6006837482 44.7254184478 44.7316542766
+ -0.0368627276 0.1157488682 29.8168302320 29.8174043393
+ -0.1439645912 -0.0798302692 21.4231433668 21.4237758201
+ -0.4640050805 -0.0856268113 87.9686619861 87.9699273860
+ -0.6053471397 0.2432703678 34.6275273661 34.6339538156
+ -0.2338232311 -0.0609424090 8.6780302195 8.6825155085
+ 0.0942800261 0.7037099875 18.9028191092 18.9166631976
+ -0.8227535215 -0.1059587418 40.2949115459 40.3143998950
+ -0.7489089332 0.1100931653 29.4015316832 29.4154158796
+ -0.7271755111 -0.2309875392 15.3448359927 15.3644268001
+ 0.1193783781 0.0134494735 0.5693574096 0.5983976356
+ -0.3904781613 -0.2296288581 0.6488968677 0.8035854259
+ -0.2776178911 -0.0283060508 0.3227889573 0.4489381047
+ 0.2218796029 -0.0455508355 -0.0296894448 0.2677063406
+ -0.1134476473 0.2661843714 -0.0886696369 0.3332665264
+ -0.1108571409 0.1143393419 -0.0060437214 0.1593716328
+ 0.0324535745 0.0888906491 0.0233734656 0.0974735908
+ -0.8159829411 0.1671532106 -0.3659836481 0.9097870007
+ -0.1077221596 0.3317448940 -0.2065456203 0.4053638262
+ 0.0054873597 0.0630309091 -0.0198947794 0.0663235167
+ 0.2371322143 0.3260399460 -0.4446520137 0.6002075864
+ -0.0353798222 0.3723894946 -0.6000737409 0.7207592850
+ -0.3279717163 0.0506917039 -0.4186434679 0.5521568922
+ -0.0365174917 -0.1609858339 -0.2292479789 0.2824970827
+ -0.1585435001 -0.1482394811 -0.1727435157 0.2774009867
+ 0.0770765184 0.3138724596 -0.4334561709 0.5406856413
+ 0.0740953736 0.3099059312 -0.6942321252 0.7638652069
+ -0.6434029687 0.4412526157 -1.4654223405 1.6601608016
+ -0.5038128901 0.0022414855 -1.8709649161 1.9376124922
+ 0.1713137528 0.4417987748 -0.6664273937 0.8177163508
+ 0.1327035161 0.6070688632 -1.1005528513 1.2638668468
+ 0.2221577460 0.1015578121 -15.2335032940 15.2354616162
+ -0.1104588418 -0.0004082762 -34.4037375258 34.4041979539
+ 0.5070705066 -0.0572918686 -47.7853747099 47.7883031589
+ 0.2523656975 0.2498832584 -122.2020341498 122.2061621696
+ 0.3752695801 0.2230778764 -200.1358290802 200.1385106980
+ 0.0412018538 -0.2130877438 -89.4451508143 89.4455230180
+ -0.4046127874 0.1168170630 -3.7425999970 3.7688051497
+ 0.0173224392 -0.0781860199 -2.6694834421 2.6743288417
+ -0.0039970851 -0.1184762703 -1.6976667817 1.7018005479
+ 0.2153864448 -0.3052401230 -4.9590799203 4.9731314591
+ 0.0340432783 -0.0145367706 -0.9573335118 0.9580489107
+ 0.0248734174 -0.2348326471 -2.2676924767 2.2799548741
+ 0.0429530787 -0.1000636099 -2.5905802710 2.5928678782
+ 0.2631993921 -0.1558223389 -4.8749697336 4.8845557039
+ -0.0048911180 -0.0186228310 -1.0456701768 1.0458474322
+ 0.2406553761 0.0871500153 -6.6811927915 6.6860935720
+ -0.3499602329 -0.7175420980 -5.4171899247 5.4756995450
+ -0.1016750115 -0.0862186957 -0.9512210787 0.9605170545
+ -0.1301707423 -0.4549447088 -1.6743581572 1.7399409038
+ -0.1411654775 -0.2017079647 -1.0895526349 1.1170222644
+ 0.4457023104 1.5874126373 1.4438650717 2.2474321358
+ 0.0092373177 0.0563992149 0.2939289063 0.2994334675
+ -0.0852576752 0.0697392184 0.1388864120 0.1772621369
+ 0.4026282448 1.3468360272 0.8739855515 1.6611463863
+ 0.3564036213 0.0633905346 0.2359817474 0.4541024897
+ 0.0089254977 0.0631119586 0.0682260786 0.0933679904
+ 0.2013344182 0.3613057148 0.0833209565 0.4219238666
+ 0.1330416143 0.3451070868 -0.5880604058 0.8545697410
+ 0.0172731545 0.3584073418 -0.0297852795 0.3600574223
+ -0.0035898507 -0.0067907924 0.0152830765 0.0171048039
+ 0.0557006260 0.0871143528 -0.8691871914 0.8753158538
+ 0.0633957964 -0.0292576360 -0.2431137281 0.2529413392
+ 0.0025349339 0.0448095923 -0.0889181418 0.0996030190
+ -0.0261714137 0.1762920434 -0.0093697504 0.1784702208
+ 0.3543394371 0.1667147710 2.4879143839 2.5185448642
+ 0.1965890554 0.1876294963 2.2457706121 2.2621533384
+ -0.0909742670 0.1833930937 19.0328598254 19.0339607669
+ -0.0280687453 0.0832697482 21.3364989993 21.3366799492
+ 0.0821457670 -0.0305187131 4.4965119234 4.4973657619
+ -0.0289164112 0.0405384991 5.1769241553 5.1771636287
+ 0.0267417808 0.2807673724 -43.6815706084 43.6824811138
+ 0.1097720716 0.1703091814 -42.6622752050 42.6627563665
+ 0.0040856809 0.1371818239 -10.5501208037 10.5510134356
+ -0.0419821364 0.0746048048 -19.2261285348 19.2263191176
+ -0.1571306479 -0.6331822160 -232.2231121386 232.2240285180
+ 0.0245948174 -0.0726385924 -33.9904999742 33.9905864875
+ 0.0835080533 -0.0411652288 -77.9257446910 77.9258003091
+ 0.0925292911 0.0999769912 -105.4975726390 105.4976605892
+ -0.0428097952 -0.2354149965 -391.2767293430 391.2771190009
+ -0.0723368913 -0.0545505226 83.8887718639 83.8888207881
+ -0.0138969202 -0.2226353690 132.1371650631 132.1373533508
+ -0.2138015673 -0.1509608617 2.3268186182 2.5229698688
+ 0.3622205292 0.4128540894 1.2262726042 1.3436505166
+ 0.0075634036 0.0578611248 0.0748489629 0.0949077557
+ 0.0240375957 -0.1985177758 0.3501757996 0.4032495554
+ -0.0047318279 -0.0857233793 0.3634152196 0.3734190273
+ -0.0039338748 -0.0336301753 0.1449557498 0.1488586361
+ -0.2613091544 -0.1916906165 0.0840059529 0.3347906312
+ -0.0021070413 -0.0123330385 0.0457025608 0.0473842540
+ -0.2635863447 0.2562528666 2.1336111161 2.1695436092
+ -0.2129196626 -0.1481752280 2.2503469389 2.2695444061
+ 0.0026227545 -0.1581032268 0.0193982628 0.1593103944
+ 0.0547292786 -0.0316933816 0.0758740410 0.0987756775
+ -0.0083738512 -0.1402749299 0.0395162228 0.1459750294
+ 0.1644861172 -0.6735558540 0.4329699238 0.8174326431
+ 0.0086328734 0.0281334747 0.3542626270 0.3554828094
+ 0.1935499165 0.0611291808 0.6060826855 0.6391670897
+ 0.1652150214 -0.0973653132 10.3685982044 10.3703714847
+ 0.1644037048 -0.0753690236 19.7503813147 19.7512093590
+ -0.0131488860 -0.0035294431 0.0514945953 0.0532639045
+ 0.0115789246 0.0888776940 4.8605690306 4.8613953365
+ -0.1493534648 0.1615105664 17.0778843606 17.0793011085
+ -0.0144510465 0.1360450618 6.7497157594 6.7511021266
+ -0.0405016547 0.0832403075 5.9354938856 5.9362157137
+ -0.2191942739 0.0330186113 16.4311650853 16.4326602356
+ 0.0380413109 0.0558848526 0.6765287670 0.6798981031
+ 0.0935757232 -0.0233103885 3.0678403600 3.0693556758
+ -0.0914750333 0.6898058757 9.7089054984 9.7789261372
+ -0.0639123368 0.0275961699 0.8607485362 0.8747652044
+ 0.0410981851 -0.0095704130 0.4310256363 0.4330863109
+ -0.7075040229 0.0546515489 0.7821227770 1.0560609700
+ -0.0939281609 0.1255094994 0.0280497288 0.1592542657
+ 0.0327700087 0.1612413466 -0.0022568297 0.1645531483
+ -0.1497038515 0.2423153700 -0.2029323316 0.3497277697
+ -0.0683450386 0.0641843072 0.0095354096 0.0942422073
+ -0.3130310851 0.3835024487 -17.6822710529 17.6891993086
+ -0.1867396630 0.4353485971 -16.7091717222 16.7158852516
+ 0.0290550015 0.3418836569 -48.2399611685 48.2411813928
+ -0.0477831894 0.0553136116 -7.2413867307 7.2417556305
+ -0.0892831778 0.1584026457 -3.2532855841 3.2583630823
+ -0.0155788244 -0.0190807147 -1.3260187944 1.3262475699
+ -0.0333814551 -0.0827739741 -4.9503152751 4.9511197900
+ 0.0036968710 0.0520286306 -2.6113932687 2.6119141351
+ 0.0579793025 0.0762842827 -4.5846119603 4.5856131235
+ 0.0312644996 -0.0438184656 -1.0107953343 1.0122276102
+ -0.1467479272 -0.0512067586 0.5495087533 0.5710665077
+ 0.0124921620 -0.0524702446 0.0993536796 0.1130501408
+ 0.1880413720 -0.3179714008 1.0837835413 1.1534868523
+ 0.0935552445 -0.0133970296 1.6702850763 1.6787686217
+ 0.2678279762 0.8570988359 -0.0111913703 0.8980398021
+ 0.1940917722 0.3772493212 -0.0627191283 0.4288616973
+ 0.1870214831 0.2998829157 0.0484846952 0.3567317815
+ 0.1826713842 0.1297990004 0.0947431530 0.2432958695
+ -0.2459194989 0.2206222223 702.9726837095 702.9727613445
+ -0.0325734456 0.0890530233 360.7484548306 360.7484672929
+ -0.0583974132 -0.0800890923 204.5949041748 204.5949281845
+ 0.0488220524 -0.0115910783 41.6286833172 41.6287135601
+#SUBSTART
+ 0.3427342115 0.2873884881 2762.8243896279 2762.8244293587
+ 1.0465573566 -0.4282709796 1372.3460670936 1372.3468537204
+ -0.4049533038 -0.2280589205 117.9630390915 117.9640371874
+ 0.1406675994 0.7590017056 9.5514344989 9.6285286381
+ -0.2947323301 0.5278422044 34.5648395732 34.5704078519
+ -0.0072282568 -0.6129783650 28.7257555942 28.7476541820
+ -0.3835839675 0.1330811641 29.3149578793 29.3219242834
+ -0.6737165377 0.2501334482 0.5026629304 0.8880374550
+ 0.0867214777 -0.7347657130 1.9891858624 2.1269088950
+ 0.0950660433 -0.6542487503 -0.2752857329 0.7296170224
+ -0.3646744434 -0.1687797384 -0.2261958697 0.6754847010
+ 0.4131002042 -0.0021718445 173.8803304556 173.8808771994
+ -0.0114398907 -0.1086356575 -4.5226852397 4.5261566631
+ -0.1713059709 0.0458797677 -0.7004706274 1.1852854397
+ 0.5511135102 -0.6288120983 0.4331458441 0.9519589610
+ -0.7412514169 0.3715097812 -0.6026648909 1.0344843818
+ -0.0055642603 0.0639107617 -3.7544941414 3.7576351059
+ -0.0076013747 0.5501336846 -6.5333900406 6.5580004619
+ -0.1292389870 0.3074533973 -82.3183330486 82.3191269754
+ -0.5647502607 0.6666143574 -3630.1680758661 3630.1683025924
+ 0.0135314117 -0.1293240441 4.7737003294 4.7775100656
+ 0.0399682861 -0.8301912176 195.8459402520 195.8477536452
+ 0.0751585002 -0.0331918544 67.9440444530 67.9442374813
+ 0.0601631722 -0.1563285828 21.4217371095 21.4228466551
+ 0.0036633105 0.0002991783 0.0077965673 0.0086195019
+ 0.1343139684 0.2113779413 11.7166121311 11.7192884045
+ 0.5462683293 -0.7672930528 224.1963710439 224.1983495412
+ 0.2376151702 -0.2169606531 86.6660072011 86.6666045088
+ -0.0665840117 -0.5116262837 31.0658373513 31.0704349021
+ -0.0064568486 -0.2779312608 4.2928681454 4.3041240892
+ -0.0374937103 -0.1482495408 3.5187978215 3.5248832035
+ 0.2149157902 -0.0323557191 11.5483142507 11.5512024269
+ -0.0725197457 -0.3839567041 5.0402294422 5.0572793554
+ -0.0414612402 -0.0386137258 1.1294620361 1.1394622987
+ -0.6074297295 0.3728556960 13.5657629626 13.6168376504
+ -0.1392136894 0.1499072624 1.9494595406 1.9651272030
+ 0.2359151935 0.0180823702 2.7768447582 2.8302810323
+ 0.2891581607 0.4921904312 1.5835325456 1.6890586048
+ -0.5096402479 0.2400293043 2.5433040239 2.6520592067
+ 0.0533709949 0.1155201600 0.5910193115 0.6204651335
+ -0.8577368601 -0.9297966826 32.6544510480 32.6792424548
+ -0.3927584470 -0.1691945428 25.8210899445 25.8250082613
+ -0.3476691479 -0.5482953623 24.2035252187 24.2304545240
+ 0.0860945911 -0.2593578041 9.6511684431 9.6560453008
+ 0.0361075568 0.1417067236 2.0100517089 2.0153640921
+ 0.1465597713 0.0717938683 2.8626581563 2.8673063746
+ 0.1252003006 0.6900336264 -0.3883436150 0.8016434895
+ 0.0299439992 0.6179076553 -0.4586229502 0.7700918932
+ -0.4770738066 0.9051244713 -4.8239310311 4.9332180272
+ 0.1203637682 0.6497040176 -32.4559226333 32.4629480564
+ 0.1408993573 -0.1673386530 -7.0308075960 7.0355945087
+ -0.5401134941 -0.4292467222 -29.6165226010 29.6248859254
+ 0.2585860397 -0.1157496748 -10.7260011637 10.7306498161
+ 0.1838214949 0.2133291042 -44.2075345523 44.2086517621
+ -0.5207070431 0.6081982910 -61.9552474730 61.9605778718
+ 0.1216784498 0.5142957916 -161.9051122605 161.9060349761
+ 0.2256764769 0.0193052124 -61.1283016153 61.1288805780
+ 0.4364724401 0.4316447473 -175.8258707616 175.8269977399
+ -0.5882204236 0.4931288276 -320.7240592466 320.7250081280
+ -0.1428541720 1.4820730802 212.8157499015 212.8209584464
+ -0.0815200037 0.6768592211 111.1660382357 111.1681287103
+ 0.1628578095 0.1792924676 75.7420813072 75.7440769312
+ -0.2835980228 2.8900214398 519.7906022510 519.7989520148
+ 0.2472015518 0.0089663126 1.5132484796 1.5396719611
+ 0.2657238644 0.1711112786 13.3785032891 13.3829637331
+ 0.1428619587 -0.4320135728 1.7257279610 1.8517081902
+ 0.3817806870 -0.1416244033 0.1578497596 0.4584869639
+ 0.0480934351 -0.2527893561 -1.4577980112 1.4868995472
+ 0.4918018433 -0.3951184888 -0.7161098638 0.9645106506
+ -0.1104938824 0.1069748430 -1.0200889624 1.0410157498
+ 0.5654201214 0.5509289637 -5.7554153195 5.8109816659
+ 0.1305022814 0.1181095347 -1.3848426156 1.4029431786
+ -0.2272103374 0.0341552564 -5.6427970274 5.7250974835
+ 0.0515448338 0.0099387214 -0.3586079392 0.3624297202
+ 0.9811697586 0.8393341779 -8.0927383541 8.1950954860
+ -0.1593149826 -0.0361199851 0.1224563730 0.2041604278
+ -0.0438614263 0.0444819997 -0.0122131777 0.0636524526
+ -0.2668638836 -0.1822766879 -0.2104829599 0.4101511729
+ 0.0771582264 0.4775604939 0.1794423975 0.5345061049
+ 0.1403523728 -0.6434188758 1.6553018928 1.7869501334
+ 0.0300196911 -0.0503811116 0.8014616892 0.8156347604
+ 0.2174349022 0.2344617884 0.9796916563 1.0399643231
+ 0.3148802613 -0.6046272522 0.9073756026 1.1434745131
+ 0.1003237111 0.1924448242 1.0528942689 1.0840507293
+ -0.0807484241 -0.2164112780 0.4533342857 0.5275849777
+ 0.0725321981 -0.3184870228 2.1707370469 2.1996076958
+ 0.4812598898 0.0212726595 1.1488614687 1.2535653420
+ 0.0811839514 -0.2410980898 0.6376188082 0.7005402575
+ 0.2318856645 -0.0148910504 1.6584630061 1.6804678016
+ 0.5384749661 -0.2799051100 -0.2720583012 0.6650698301
+ 0.0119727992 -0.0193939310 -0.0439995497 0.0495523244
+ 0.3047328089 -0.1252600471 0.4576335660 0.5809134444
+ 0.1285182994 -0.0496845313 -0.1056782644 0.1736473481
+ 0.1058940959 0.0818613694 -0.1293171045 0.1861122158
+ 0.1922488996 -0.0931589461 -1.0417465688 1.0725455362
+ 0.2369662934 -0.0107733493 -2.6218928897 2.6362987690
+ -0.0545904104 -0.3278539586 -1.1594864781 1.2142310360
+ -0.3647731938 -0.1909646722 -7.7591338001 7.7713038868
+ 0.3931371315 0.0125474283 -8.2510921943 8.2616412671
+ -0.4145396482 -0.2454427565 -6.8849141765 6.9031592962
+ 0.3446552950 -0.0876780193 -66.4679284674 66.4690263901
+ 0.2608514254 0.2922587610 -162.2666308947 162.2671637774
+ -0.6254716219 -0.1058668316 -1077.0937460814 1077.0939328908
+ -0.2075903843 0.0304796577 -434.3625551762 434.3626058513
+ -0.0824102021 0.0022395463 13.1874797046 13.1877373881
+ 0.2074576996 -0.1332647366 21.6038392085 21.6056970848
+ -0.0213761632 -0.3170262685 29.8895436326 29.8915583560
+ -0.2092413002 0.3556256842 27.5733176639 27.5767579372
+ 0.3029471678 0.2985969581 40.2698706199 40.2751419343
+ -0.1339462321 0.0455984883 45.3205277032 45.3207485829
+ -0.1761968469 -0.0889598286 50.3563529119 50.3567397452
+ 0.0436770341 0.0221419026 5.6511523214 5.6513644818
+ -0.0947974411 -0.0093641351 8.9655865321 8.9660925774
+ -0.0890158372 0.0194841588 6.4086548962 6.4093026946
+ -0.3272842509 0.1673654757 13.1167291415 13.1218790405
+ -0.0501883010 -0.0885686251 3.0052793106 3.0102403204
+ -0.2475447530 -0.3097018602 5.0392358485 5.0567352481
+ 0.0066214608 0.0291068650 0.5052564152 0.5250284595
+ -0.6938998983 0.0725432815 2.7361080483 2.8271056990
+ -0.0628685198 -0.5174622376 6.2236129485 6.2652017669
+ -0.7006467615 -0.1821782765 30.8319504413 30.8404484861
+ -0.0800648665 -0.0673931008 5.5141975970 5.5151905998
+ -0.0128072372 0.0080912000 1.6543627836 1.6544321420
+ -0.0025915817 0.4904418360 16.6370961923 16.6443236457
+ 0.0091144927 -0.0148645155 -0.0760029034 0.0779773629
+ -0.3412189236 -0.0355960977 -2.3030656386 2.3284777799
+ 0.0047467969 0.0154538321 -0.2452425122 0.2457747806
+ 0.2845936248 -0.1741846432 -12.5476440857 12.5520797449
+ 0.0550366518 -0.0441084759 -1.1070785442 1.1093229889
+ 0.1820670968 -0.1210783993 -9.6827846751 9.6852530928
+ 0.0975800613 -0.2681382807 -5.4022090284 5.4097395864
+ 0.1038570456 -0.1042221137 -4.5627087742 4.5650804914
+ 0.0422596223 0.0146128360 -11.8087477701 11.8088324278
+ -0.0784397008 -0.0652366207 -19.0159417908 19.0162154698
+ -0.1712985220 -0.1714715574 -39.1960108407 39.1967602169
+ 0.0155100131 0.0080834741 -5.2325022558 5.2325314868
+ -0.1147190137 -0.0360883320 -185.8909256974 185.8909645988
+ -0.1390297075 -0.0587886196 -89.3382468582 89.3383743811
+ 0.1362506460 -0.1939444686 30.3942750815 30.3951992332
+ 0.2098800095 -0.1142238662 42.8698202849 42.8704862110
+ -0.1388015284 -0.0948561030 1.2602362705 1.2714004098
+ -0.2248510597 -0.4056508198 4.0250631725 4.0516964508
+ 0.0202840276 0.0946512183 0.2940661778 0.3095887786
+ 0.0583348137 -0.0291710259 0.1006695875 0.1199510945
+ -0.0589899313 0.2391889050 2.9471694973 2.9607395993
+ -0.2697911233 -0.0689611315 1.7951036416 1.8219274840
+ 0.0733009520 0.0841871611 -0.0039237243 0.1116955830
+ 0.0362333111 -0.0455633696 0.0382431592 0.0696520833
+ 0.1166956992 0.1791022221 0.2512425902 0.3581872642
+ -0.4251776354 -0.1226755490 -0.0640302909 0.4684068478
+ 0.0720900098 0.1404923506 0.0908089744 0.1821574591
+ 0.0800513601 -0.0096068133 0.0158023017 0.0821597459
+ -0.0373019302 0.0916613970 -0.1485613773 0.1785041414
+ 0.0159376039 0.0551413597 -0.4304732849 0.4342831171
+ 0.2066508512 -0.2607917259 -2.6981813421 2.7186208734
+ 0.2364492994 -0.5970589968 -5.2317123587 5.2709773213
+ -0.1827887545 0.2479164978 -1.8725420573 1.8977060033
+ -0.0537564085 -0.0086480478 -0.3482564110 0.3524869756
+ 0.0507230632 -0.3823314884 -1.7225905288 1.7652388864
+ -0.0483935838 -0.3133642977 -1.0821785803 1.1276744219
+ 0.1131097588 0.0096459835 -2.1215891342 2.1246240413
+ 0.0086919002 0.0326179450 -0.1180909900 0.1228208508
+ -0.0439283255 0.0220218133 -0.7374281948 0.7390635971
+ 0.0851148553 0.0533067654 -0.6830113680 0.6903554727
+ -0.0842071091 0.0711040218 -2.1416604532 2.1444943730
+ -0.0835172712 -0.0129094788 -0.5581162232 0.5644780845
+ -0.2208879358 -0.0670857942 -2.4172156039 2.4282140061
+ -0.1180377049 0.0552859175 -1.0069895168 1.0153902301
+ 0.1894842872 0.1628532498 -0.4709752189 0.7293274723
+ 0.0785562627 0.0253139280 -0.0001404834 0.0825342419
+ 0.0458788235 0.0219675309 0.1522494246 0.1605220426
+ -0.1480473798 -0.1666027673 1.4340161584 1.4512328728
+ 0.0136466306 -0.0249319988 0.0532024320 0.0603186029
+ 0.4157891803 0.0936957899 -0.2568511504 0.4976264231
+ 0.1418266638 -0.0063315000 -0.0135554893 0.1426136099
+ -0.0768947985 -0.0490942044 -0.1424559040 0.1691648176
+ -0.1721282834 -0.2010473298 -0.1179303654 0.2897511792
+ -0.0494563696 -0.0116687747 0.0278507586 0.0579461608
+ 0.0308970720 -0.1586086937 -0.0024388011 0.1616084605
+ 0.0152581226 -0.0065457632 -0.0532151055 0.0557449977
+ -0.0675980383 -0.0769179437 0.0443643123 0.1115977466
+ -0.0245777935 0.0627860972 -0.3272350135 0.3341091378
+ -0.0116127410 0.1533383779 -2.5413722056 2.5460204637
+ -0.4364987732 -0.2620297104 -1.8384191061 1.9076099072
+ -0.1477212750 -0.0334517068 -0.7969918973 0.8112562333
+ 0.2555346523 0.1467234791 -2.2179506139 2.2374384156
+ 0.0189246958 0.0865547516 -0.5433150685 0.5504917190
+ 0.0061125039 0.1482128240 -1.0065901670 1.0174616298
+ 0.1248818754 0.2111566166 -2.7734620258 2.7842906113
+ -0.1137481023 -0.0841268217 -4.7668489513 4.7689479843
+ -0.0333541496 -0.0105385165 -6.3510020684 6.3510983958
+ 0.1344632671 -0.5925017327 -119.4295122208 119.4310576357
+ -0.0200196144 -0.0166389467 -6.5099358614 6.5099879078
+ -0.2741378513 -0.0863519961 23.4493082217 23.4514849016
+ 0.0798598960 0.7685933964 75.8384504232 75.8425154896
+ 0.1287150171 0.1050110676 9.0119864887 9.0135173685
+ 0.1527709096 -0.0231235240 6.6634423898 6.6652335391
+ -0.0994405619 -0.0826650556 8.4563471291 8.4573357924
+ -0.0129514207 -0.2067113393 17.0224417157 17.0237016915
+ 0.5854429357 0.3174027102 45.1473895113 45.1523008007
+ 0.1657956342 0.1233707429 10.0405523070 10.0426788838
+ 0.0927732778 -0.4370027253 19.7725632122 19.7776094168
+ -0.0169854937 -0.1484712213 9.9546088997 9.9557305385
+ -0.0329998175 -0.0109685452 0.5130544509 0.5142316273
+ -0.0180198979 -0.3352944341 8.4573842745 8.4640472495
+ 0.0437357113 -0.0158949013 1.3931397333 1.3939167037
+ 0.0594454805 -0.3656573142 13.2904491123 13.2956111798
+ -0.0645067407 -0.0552828763 3.6764747038 3.6774561267
+ -0.0155775810 -0.0752306551 0.8029314467 0.8065985499
+ 0.0020224904 -0.2202271194 4.6949328940 4.7000956324
+ 0.0210268069 -0.0032647372 0.1136161000 0.1155915365
+ -0.1276892243 0.0937364327 1.0290871968 1.0412067592
+ 0.0230400538 0.0079552397 0.0455686626 0.0516781668
+ -0.4990637786 -0.1258269654 5.8157914437 5.8385209769
+ -0.0599863419 -0.0479550568 0.5119618738 0.5176900703
+ -0.1078217834 -0.0623841040 -0.0802077441 0.1481573340
+ 0.0329858889 0.0117336586 -0.0445429971 0.0566553281
+ -0.0042120079 -0.0089249911 0.0043292746 0.0107767850
+ 0.4437854217 -0.2434170862 -0.4643758283 0.6869077727
+ 0.2447013372 0.1179531108 0.1646735685 0.3469709640
+ -0.1132821072 -0.1006947007 0.1712834942 0.2679367068
+ 0.1788045206 0.1699117647 0.2930191933 0.4076531576
+ 0.0270992065 -0.2055747302 0.3842812565 0.4584181559
+ 0.0602935964 0.0890158741 0.0768323141 0.1321451781
+ 0.0696528691 0.1329862982 -0.0533073905 0.1593064831
+ 0.0000162854 -0.0528588383 -0.1152939303 0.1268335422
+ 0.0792675213 -0.1091156129 -0.0211254001 0.1365131475
+ 0.0130367070 -0.0499796049 2.1010759148 2.1017107119
+ -0.1864807060 -0.2650042297 24.2045509852 24.2067199490
+ -0.1637107915 0.0068238561 8.1876677980 8.1893071599
+ -0.1285508721 -0.0069016616 2.6288597266 2.6320099586
+#SUBSTART
+ 0.3260484276 0.1443906029 -5.3057550225 5.3195556550
+ 0.6186205464 0.0817203591 -78.2905977775 78.2987219675
+ -0.7599072451 0.1771096580 -112.2761167005 112.2827482688
+ -0.1481631330 -0.1312790778 -23.0508470474 23.0521195533
+ -0.4115615697 -1.4964719725 -4264.5040212802 4264.5044069243
+ 0.0799199797 -0.6449725729 -7.4395924556 7.4692297135
+ 0.1809378368 0.5772113412 -0.6019470198 0.8647146539
+ 0.1143057461 0.4126118414 -0.7061900854 0.8375551068
+ 0.2300522007 -0.7189853996 -0.7309861528 1.0600398862
+ -0.8135268220 0.7136722019 0.8593053895 1.3888986425
+ 0.3713206376 0.1767281088 27.2788590524 27.2823155693
+ -0.0649795335 -0.0922985236 59.5260993687 59.5336210825
+ 0.2885954493 0.1321377466 498.5660647671 498.5670511344
+ -0.1180311282 -0.3784124160 6371.5109047637 6371.5109863707
+ 0.6447903198 0.1881748686 -7.1780720931 7.2703971759
+ -0.1688090965 -0.0064836175 -2.0030408608 2.0149915691
+ -0.0367754010 0.4402268934 -23.1101199445 23.1334300911
+ 0.0525853584 -0.2685749932 -5.2178610390 5.2268969144
+ 0.0992850750 0.7343014068 -34.8307262390 34.8386071252
+ -0.1078980360 0.0350607788 -1.4595757168 1.4639783187
+ 0.1263015890 -0.0208764748 -21.2737723659 21.2746153521
+ 0.0741519408 -0.2469562953 -350.8098144236 350.8102564390
+ -0.3457575266 -0.3410945582 -245.4946260645 245.4951461844
+ -0.1095519112 0.2058945417 -253.6943227764 253.6944683728
+ 0.3119249131 -0.0329662807 -170.3851771059 170.3855229799
+ -0.1898485684 -0.0490881718 -455.4940270109 455.4940692202
+ -0.0804239535 -0.1364898695 -357.5292387848 357.5292738834
+ -0.0249828328 -0.0420969565 -1.1098413295 1.1109203717
+ -0.2559603105 -0.0942381352 -15.5886735709 15.5910596242
+ 0.0106798019 -0.2147223863 8.1767793526 8.1807958126
+ 0.6211567452 0.0372860639 8.2574279937 8.2820180397
+ 0.0979146570 -0.0444712584 0.1035664237 0.1493016309
+ 0.0896228367 -0.2514480446 0.3191995074 0.4161089972
+ -0.1833855654 0.2457970667 6.0898356967 6.0991495359
+ -0.0246679673 0.0355772294 0.8170795222 0.8182256373
+ -0.1552690778 0.0204118768 11.1379499768 11.1390508939
+ -0.0465042889 0.4377709350 -29.0518015758 29.0551369097
+ 0.0276395102 0.6150983044 -32.9136010567 32.9193597202
+ 0.1289215085 0.2235404990 -107.7590174033 107.7593263845
+ -0.0201653670 0.1503110582 -79.1321813715 79.1323266981
+ -0.1062699170 -0.0088279903 -84.4314358392 84.4315031792
+ 0.0091966434 0.0664581205 -73.8381696934 73.8382001740
+ 0.0170196905 0.0237950815 -0.1426263995 0.1455958983
+ 0.0215493265 -0.0724665431 -0.0279170376 0.0805923963
+ 0.0311894191 -0.0536085031 -0.0334187139 0.0704518411
+ -0.1413094252 -0.1588116842 -0.0980622592 0.2341061968
+ 0.0931851403 -0.0866718545 -0.1258853139 0.1790044497
+ -0.0091060247 -0.0885536137 -0.2477525838 0.2632603369
+ -0.2640467467 -0.2196076421 4.3273364787 4.3409433538
+ -0.0951499618 -0.0153574019 2.0366267046 2.0389060054
+ -0.0056522988 0.2119613037 -104.4483306571 104.4486391313
+ 0.0207884091 -0.1714156509 -48.6718922252 48.6723986264
+#SUBSTART
+ 1.0771468473 -0.0914845056 4435.4974162760 4435.4976475248
+ 0.0503660002 0.1691112931 33.5941786821 33.6077783924
+ -0.2722776120 0.6360577835 82.7171944775 82.7254238951
+ 0.2658122648 -0.1668253108 6.6373624589 6.7106942896
+ 0.1484980589 0.0093941585 0.7420205304 0.9035349197
+ 0.5375719370 0.2039938870 -13.9265427360 13.9699513337
+ 0.1200994880 0.1743946927 -26.6741802827 26.6753858629
+ -0.2423848976 0.0532717458 4.3786597022 4.3879071196
+ -0.2509099134 1.0283670552 2.5371427474 2.7526473967
+ -0.1848163288 -0.0145086192 0.7810500949 0.8147923730
+ 0.0798989858 0.0177152149 0.6381423480 0.8109033809
+ 0.1405868712 -0.3484884657 0.0634771676 0.4058546720
+ -0.2544897258 -0.6531346083 3.9089237932 4.0806109409
+ -0.1399340867 -0.5392663281 -3.3629465752 3.4116387812
+ 0.1283099893 -0.1545093473 -2173.2916461948 2173.2918580134
+ -0.0505030378 0.6710773020 69.5708873693 69.5742822057
+ 0.0695297561 -0.1868442055 62.0716087657 62.0720858333
+ 0.0105390795 0.0046327660 1.1091409568 1.1092007017
+ -0.1472491691 -0.4232072930 28.6622786755 28.6657810918
+ 0.1119293360 -0.0270607863 2.5389630384 2.5890605889
+ 0.2021383655 -0.0490517077 5.7384925580 5.7439570517
+ -0.2262464120 -0.1108540837 0.6650809227 0.7247678839
+ 0.2940671618 -0.1807426302 5.7489603243 5.7610040782
+ -0.0304905555 -0.0429412202 -0.0567276926 0.0774057716
+ 0.4064139024 1.2153648022 -0.2896012180 1.3138313164
+ 0.1511861687 -0.3500025958 0.3964520787 0.5674619902
+ -0.1617250450 -0.0820865837 -0.0898413518 0.2458545318
+ 0.1703061199 0.4107291443 -0.3343744192 0.5735753146
+ 0.9714761942 0.7950819239 -2.8416202637 3.2451621804
+ -0.1076899006 -0.3782352011 -2.5618637547 2.7569179648
+ 0.0914930775 0.0458068883 -0.1770382742 0.2475713830
+ 0.4807530770 -0.2024581356 -1.6510914821 1.7371516010
+ 0.3160080474 -1.0763148458 -21.2371977921 21.2668024112
+ -0.1060751673 -0.6656464170 -8.1563494257 8.1841537772
+ -0.2575020112 -0.0795074146 -5.5962276243 5.6027129444
+ -0.1373116590 -0.1209981957 -2.4551141960 2.4619262317
+ 0.1620598954 -0.3310185734 -3.4983044811 3.5176655537
+ 0.1224823433 -0.0751824814 -1.6375227736 1.6438172538
+ 0.0532496592 -0.1741710120 -7.3278969329 7.3314885468
+ 0.0157392840 -0.2773076980 -13.5284358356 13.5320066224
+ 0.0031280872 -0.3010747616 -5.9638996985 5.9731260823
+ -0.5405945489 -0.7468889036 -62.9290306281 62.9377201863
+ -0.1541591036 0.0093634802 -4.5057751508 4.5105811375
+ -0.2829997380 0.0758951723 -31.0696783980 31.0713733921
+ -0.3757359322 0.0293756986 -29.3391550013 29.3419075112
+ -0.2442064796 0.0028403697 -6.5114008469 6.5174738700
+ -0.0373338230 -0.0310361303 118.0851090994 118.0851190798
+ 0.1042333815 -0.2316634279 553.3265834705 553.3266417838
+ 0.2438147877 -0.4021690426 594.2740754097 594.2744664972
+ 0.1302023361 0.0993079539 15.0798299772 15.0813648800
+ 0.0717679507 0.1375753764 108.7994828772 108.7996830499
+ 0.0402844719 -0.3564924308 191.5011529587 191.5015398737
+ 0.2049100941 0.1616435511 61.9239488936 61.9246561811
+ 0.0601128582 0.6010591067 17.2364494499 17.2726045236
+ 0.0861610587 -0.1699287642 4.1860476585 4.1927048903
+ -0.0396801121 -0.4716916997 9.8545053274 9.9103831112
+ -0.2745340389 -0.3055512572 3.6613114515 3.6869244418
+ 0.5651868859 -0.0937961993 14.1793806926 14.1916366411
+ 0.4919594264 0.4471448173 6.9400499062 6.9732155459
+ -0.0196293499 0.4114498934 2.1295114649 2.1734707705
+ 0.0384893623 0.3742906823 1.4934704969 1.5401393025
+ 0.0316174284 0.0507004465 0.1046608291 0.1205159168
+ 0.0826441927 0.1179370030 0.1956369187 0.2429259213
+ -0.0488151020 0.1517909400 0.2069873395 0.2612798545
+ -0.1867558882 0.0776545101 0.2301632461 0.3366940592
+ 0.1537000072 -0.0337410647 0.0339417857 0.2130586337
+ 0.1848337279 -0.2857156151 1.3101156071 1.3607643472
+ 0.3945810023 -0.4822627261 1.2128136595 1.3706451992
+ -0.1624327888 0.1112322768 3.1328896148 3.1390690290
+ -0.0003963869 -0.0114712661 1.2514092178 1.2514618562
+ 0.6376400482 -0.4358936368 4.9846112159 5.1308604397
+ -0.7556059715 1.9498705418 2.5458407683 3.3313483293
+ -0.3474383870 1.3692257678 1.7556163845 2.3067991862
+ -0.3304737366 -0.1250918604 15.1329469052 15.1451174924
+ -0.5307605838 -0.4264573928 9.0108285578 9.0375928094
+ -0.1948113411 0.1333171507 0.2199687870 0.3515550788
+ 0.1419488547 0.1879520209 -0.2236372431 0.3535093222
+ -0.0134597648 0.0243286069 0.8831575938 0.8945502595
+ 0.3487155182 0.0954617226 -0.5282402950 0.6551587954
+ -0.1535767230 0.0708291354 -0.6449338310 0.6811916085
+ -0.1019534073 0.5576148937 -3.1877358687 3.2407512432
+ -0.3790742723 -0.1197657943 -2.7669045097 2.7988000107
+ 0.2359232552 0.5831934149 -25.3233344084 25.3359562847
+ -0.3087529998 0.3671051215 -7.5633091477 7.5797902104
+ -0.1347249257 0.3254560678 -14.1338327412 14.1389101489
+ 0.2277815435 0.2373422179 -1200.6657242553 1200.6657774322
+ -0.3313679436 0.5802113875 -1461.5048879359 1461.5050473365
+ -0.4593798832 -0.0244222439 -396.7822830972 396.7825743224
+ -0.1371016559 0.0390527205 -126.6262776264 126.6263578703
+ -0.6218000806 0.4732004739 -815.4439552875 815.4443296565
+ -0.1215358997 -0.0236258916 17.7261813186 17.7266137008
+ -0.0885561224 -0.1328205126 40.2348612352 40.2351779180
+ -0.0044039537 0.0849650394 2.3610365196 2.3625689195
+ -0.0566994721 0.2224867548 15.8857595328 15.8874186425
+ -0.1901658448 -0.0398369347 11.1977366999 11.2387654578
+ 0.0762295067 0.1177236700 1.0091883352 1.0188870871
+ -0.0470706360 0.0529480456 0.2777459969 0.2866391095
+ -0.0089000760 -0.2774171007 -0.0776237013 0.5751002756
+ -0.0193045541 0.0537465510 0.0585780140 0.0818091760
+ -0.2403039019 0.3139063152 0.0310875531 0.3965470665
+ -0.0117586322 -0.3081899759 0.0218862536 0.3091898038
+ 0.0210653084 0.0027721451 -0.0131185410 0.0249705451
+ 0.0557023812 -0.0567698358 -0.0264301192 0.0838100276
+ 0.0466082191 -0.0151853147 -0.2108178155 0.2164418425
+ -0.1051469392 0.0810289501 -2.1972845831 2.2012907824
+ -0.0243084395 -0.0504282100 -0.7587364203 0.7607988303
+ 0.1183557971 -0.3939313038 -12.9396981453 12.9462341265
+ 0.0960099924 -0.2451780329 -5.5543137107 5.5605513201
+ 0.5542228616 -0.1157019972 -19.8537428612 19.8840249275
+ 0.0319194968 -0.0281070208 -1.8587021857 1.8591887140
+ -0.0026680923 -0.6073155258 -30.6238018915 30.6298234006
+ -0.0286164827 0.0044098764 -1.7752407331 1.7754768403
+ 0.0640835686 0.1988070149 -5.6854897549 5.6893255036
+ -0.0813932719 -0.2380353101 -30.9891428038 30.9901638813
+ -0.0230503150 0.0090018826 -7.4058791935 7.4059205356
+ -0.0129558868 -0.0167651718 4.6286048220 4.6286533165
+ 0.0138691739 0.2045852641 91.4849875243 91.4852173294
+ -0.7538509939 -0.0598284626 199.1123948239 199.1144528122
+ -0.0217432632 0.0228584553 19.1431998726 19.1432258682
+ -0.1282079198 -0.1639526288 63.8990959120 63.8994348654
+ -0.0386389018 -0.1293673397 13.5620330807 13.5627051193
+ -0.1406133130 -0.2054677620 12.9702962263 12.9726856627
+ -0.4005395763 -0.1376992529 1.4422810152 1.5031858046
+ -0.0366367525 0.0287954072 0.1442117853 0.1515535091
+ -0.3056855592 0.4155662790 -0.2354509299 0.5670768323
+ -0.0907587808 0.1480175054 -0.0004059892 0.1736274835
+ 0.0895779851 -0.1957882823 0.4670865475 0.5143219903
+ 0.5114868344 -1.2957924318 3.9163460051 4.1567370424
+ 0.1018406600 -0.1255248871 0.5336859185 0.5576277225
+ -0.0445553806 -0.0492210526 0.2059530844 0.2163898495
+ 0.3203606756 -0.0012133885 0.0470607827 0.3238010995
+ 0.2566454328 -0.1058735256 0.1091560781 0.2983138129
+ 0.0270407464 -0.0304360629 -0.2327492008 0.2362831910
+ 0.0650159863 0.1327133516 -0.4985052263 0.5199493944
+ -0.3850739325 -0.1443443678 -32.0717911630 32.0744275964
+ -0.0423766449 -0.0590868435 -3.3877729438 3.3885531653
+ -0.1126229237 0.0097070348 -57.4153970724 57.4155083503
+ -0.0872303331 0.1169515992 -141.5576325999 141.5577077876
+ 0.0183159154 -0.0350624937 0.5577936308 0.5591945867
+ -0.0719434326 0.0221833740 0.2308702752 0.2428354248
+ -0.0383288724 0.0132575968 -0.1513156919 0.1566566467
+ 0.0447038879 -0.0424941908 -1.2341788741 1.2357190972
+ -0.0503591042 -0.0209595736 -9.0089343440 9.0090994753
+ 0.0678564659 -0.1414441379 -22.2401568041 22.2407100969
+ 0.0466962257 0.0607855409 -27.0438685163 27.0439771437
+ -0.0080696724 0.0293332386 -95.6030272265 95.6030320671
+ 0.0868873593 -0.2582409762 0.5114096200 0.5794632123
+ 0.0850637181 -0.1239740616 0.1313306481 0.1996325205
+ 0.0352693072 0.0433247772 0.2372331124 0.2437221983
+ 0.0691086716 0.0537454953 0.0406942121 0.0965432838
+#SUBSTART
+ -0.9160929986 -0.8593324597 808.1925580139 808.1935461185
+ -0.1820239912 0.3298017368 396.1325541511 396.1338475212
+ -1.5990206826 0.1584100921 622.6316124735 622.6343948129
+ 0.1055245089 0.1471147192 19.2226947910 19.2298833629
+ 0.5248003931 0.1034141144 7.3645570558 7.4433299774
+ 5.1483309745 -0.2533852231 16.0863307613 16.9181070171
+ 0.4713950046 0.2419539131 0.2984857871 0.6239619351
+ 0.3599340057 -0.5490224393 0.2395568581 0.7126327248
+ -0.1485440041 -0.6716947622 1.6448991185 1.8500197958
+ 0.6462144419 -1.2416022506 0.5587049361 1.5135389801
+ -0.7500514218 -0.1698965001 4.1043037962 4.2048058894
+ 0.8230709798 -0.2359957561 0.1143390715 0.8750388808
+ 0.3236288187 -0.0231930836 -0.3278100858 0.4818846010
+ -0.2736985339 -0.9067781163 -3.8645295996 3.9813598494
+ 1.9878191772 -0.5551899200 -28.6785899240 28.7681068676
+ 1.1798904580 0.3500462428 -4.4813940734 4.6734577848
+ 0.3430939274 0.4287598719 -0.7151546499 0.9124003665
+ -0.8385278191 -0.1944607015 -334.9670082249 334.9681432954
+ -0.9404214509 -0.3094211621 -132.6716383259 132.6786589540
+ -1.0275741987 -1.4598872166 -191.5763636866 191.5869793420
+ -0.6583574213 0.5401782703 -81.8841814903 81.8887286821
+ -0.2406475585 -0.0467443099 -22.0854759201 22.0923512523
+ -1.3070579143 -0.3632589858 -19.2953300984 19.3492574030
+ 0.6643164678 1.1600688235 -5.1720452781 5.3438383385
+ -1.7192160427 -0.3323258351 25.3804272395 25.4411420912
+ -1.9014658716 2.8728870249 72.1496791531 72.2379958609
+ -1.2587633670 2.5125630407 50.0287379949 50.1100361661
+ -1.3285293958 0.3841629556 0.8689883289 1.7062687970
+ 0.1250064844 1.2178415334 0.8250014478 1.4828593309
+ 0.3233154022 -0.3500173418 -0.1217884159 0.5112310554
+ 0.0004183932 0.2727684565 -0.8176102220 0.8731374840
+ 0.0502008455 0.6533207844 -1.2433273281 1.4123352300
+ -0.1428602648 0.1211148163 -0.8647419106 0.8957322205
+ 0.0888250660 0.5694877663 -0.1908357272 0.6229801506
+ -0.3190243172 -0.8325093538 297.5807172480 297.5820854923
+ 0.3013286125 -1.0117650517 786.9607146656 786.9614351252
+ 0.0357943665 -0.9788380564 353.0159948910 353.0173813480
+ -0.3516498575 -1.1266821560 653.8470704647 653.8481506476
+ -0.5138444929 0.1347528190 145.2968765163 145.2979146432
+ -0.1496245735 0.2180207113 241.2828284164 241.2830136768
+ 0.4158409641 -0.0047385028 37.5845093167 37.5900509137
+ 0.1476298466 -0.2992292692 9.1868287323 9.1939455442
+ 0.6604875671 0.1776485313 7.6645866642 7.7108580923
+ 1.2350057198 0.1381950703 5.8813039651 6.0127824774
+ 0.5244846497 -0.1072902209 0.6397855894 0.9693100121
+ -0.1221872573 0.1559011494 0.4519908651 0.5128454166
+ 2.2154306075 -0.5758393400 -0.0468775783 2.3429888302
+ 0.1803608494 -0.6802345051 0.6665347898 0.9792841410
+ 0.0598774393 0.0648375463 0.0735630836 0.1807775631
+ 0.2045674706 -0.0498441078 -0.1561320764 0.2621249900
+ 0.1193378466 0.0653075031 -0.1644290780 0.2134092624
+ 0.5870529985 -0.0005140908 0.6917537221 0.9179512429
+ 0.2821822387 -0.0520004009 0.1681799157 0.3606870201
+ -0.0976479443 -0.0886710225 -0.0353197419 0.1952560891
+ 0.0374635474 0.5115862598 0.2660108404 0.5778285090
+ -0.0580857276 -0.2812266542 0.2152624673 0.3850715486
+ -0.0551200600 -0.0002022818 0.0963922446 0.1110393027
+ 0.1506421544 -0.5766872453 0.6617313589 0.9014596019
+ 0.2509288278 -0.1255296283 -0.1395275510 0.3430316117
+ -0.3392452737 -0.7777483289 -2.1592183846 2.3199577261
+ 0.0708184239 0.0317148907 -0.0559089394 0.0956393902
+ 0.0754429978 0.4726913464 -0.8581685018 0.9925027543
+ 0.6308101599 0.1043023891 -4.1756298956 4.2266020934
+ -0.0275845360 -0.0675721948 -1.0338858463 1.0364588034
+ 0.1456837930 -0.7373499178 -10.1623874326 10.1901436202
+ 1.0232294437 0.0649693174 -22.3397670406 22.3632826511
+ 0.2383928233 0.0741203121 -1.9704802387 1.9862319426
+ -0.4451542591 -0.3702257807 -9.1721818454 9.1914976491
+ -0.4004818487 0.1819224374 -15.0785417549 15.0856018350
+ 0.0386465451 0.0046703094 -0.2536359308 0.2566058312
+ 0.9628998761 -0.5164117335 -5.5021959891 5.6096361693
+ 0.1874128681 -1.2713052891 -9.5969299063 9.7280623010
+ -0.1105512451 -0.4834122663 -2.3868625297 2.4418234001
+ 0.1001244311 -0.0523783197 -3.9149834502 3.9475948077
+ 0.1451030698 -0.1195798702 -0.3598515016 0.4293333604
+ -0.0271129964 -0.1922514792 -0.2096642005 0.2857530802
+ 0.1260769659 -0.3112669969 -0.4142931827 0.5333117155
+ -1.0484760998 0.3491928752 -1.8483171657 2.1534888300
+ -0.2170290413 0.0643473877 -0.2729922590 0.3546363836
+ 0.0673804992 -0.3215755962 -0.7154534308 0.7995651270
+ 0.1031424771 0.1396210835 -3.4599308892 3.4670930130
+ 0.0801899546 -0.1509620604 -1.9773865501 1.9896626161
+ 0.1918741445 0.3545487656 -29.6650492952 29.6681167246
+ 0.0948731378 -0.0136586076 -3.0856449146 3.0902866847
+ 0.1891687776 0.0174242315 -5.2894562569 5.2947063855
+ -0.0794865368 0.1740913604 -6.1597576399 6.1643101706
+ -0.1417341526 -0.0544743161 -263.0922747313 263.0923555695
+ 0.2233015126 0.4243264017 -152.1384927885 152.1393124219
+ 0.4333456864 0.7726580645 -1342.5346944091 1342.5353145566
+ -0.0065379299 0.0160103066 -7.1939885430 7.1940093294
+ -0.5200765801 0.1903869312 -669.1589633670 669.1591925553
+ -0.3780231062 -0.5320154202 -108.6430485442 108.6450984566
+ -0.4434109388 -0.0294936396 -150.6883378193 150.6890577237
+ -0.0615224420 -0.0149986540 -13.7925212516 13.7933727649
+ 0.2818528745 0.1763468096 -56.9642429134 56.9653841357
+ 0.0939081984 0.1047381232 -29.3515772375 29.3522461651
+ -0.0152274033 -0.1026223575 -3.8748586328 3.8787591355
+ 0.1810935785 0.0814976423 -10.2759762035 10.2788425160
+ 0.0844834525 0.1359568739 -3.1337519639 3.1409398086
+ 0.0423023974 0.1132253427 -1.0154225100 1.0320717658
+ -0.0736588467 0.2915777480 -2.9634639709 2.9819526657
+ 0.2180520014 0.3035250702 -3.5095408017 3.5321424897
+ 0.4750040757 0.5204530042 -2.5774690389 2.6756918045
+ 0.2275846759 0.2223647368 -1.2661068244 1.3129155101
+ 0.9350969290 0.0924826053 595.5548050764 595.5555627216
+ 0.2647410792 0.0101987658 128.0071703652 128.0075206250
+ 0.2407944013 0.4246235058 150.9583220768 150.9620352377
+ -0.0921005301 -0.1045909923 34.5310374215 34.5316007010
+ 0.0746048493 0.1871274537 26.1815250487 26.1826720605
+ -0.6973866499 0.2001327777 11.5814685421 11.6050116176
+ -0.0632148266 0.0969586774 1.5930281131 1.5972274943
+ -0.6331840869 0.5344662720 15.7640715086 15.7858331048
+ -1.5584286758 0.9664893800 27.6186424767 27.6794547257
+ -0.4285849648 0.3310010134 7.4630129491 7.4826338292
+ -0.2988658862 -0.3338727057 6.5540743031 6.5708569880
+ -0.5070487998 0.3156172897 3.6254416068 3.6769578986
+ -1.1180359673 1.4770265181 37.8872310632 37.9327479782
+ -0.5366614069 0.3180903613 9.0653392933 9.0878514089
+ -1.2698931024 1.0843627368 38.2243333402 38.2723257997
+ -0.0904064618 0.1749567974 2.4591167266 2.4709346549
+ 0.0837860248 0.0472543972 0.3265153135 0.3678927981
+ -0.1878472685 0.1038797250 6.3514301439 6.3565888849
+ -1.2831499175 0.4019775352 18.3762113329 18.4258699221
+ -0.3519711789 0.5581438827 13.5509141311 13.5676881553
+ -0.7278418332 0.2674441033 1.3305719418 1.8040214964
+ -0.7348221999 0.1697763052 0.9981063481 1.2587627761
+ -0.1284170527 0.0964210067 0.2255991229 0.3101011111
+ -0.0082098926 0.2004043101 0.8405222872 0.9951622808
+ -1.0014616113 -0.2870242720 0.5663682527 1.5120951962
+ -0.7029231334 -0.0277654948 -2.5208882861 2.6209214773
+ -0.0199106159 0.1735364742 -1.7886900236 1.8648321024
+ -0.5859035988 -0.2877806272 -5.2579947860 5.3001971351
+ -0.0177297024 -0.0006033095 -0.1332445561 0.1344203038
+ -0.2459724857 0.5210865123 -9.1080252828 9.1262346106
+ -0.0268551066 -0.1880583072 -2.8306021884 2.8404006157
+ 0.1001514353 -0.2346401003 -3.3454216061 3.3580368959
+ 0.0092531402 -0.0447227304 -15.8764219146 15.8771010684
+ 0.1556517610 -0.0596471686 -11.9521312001 11.9541083007
+ -0.3393177470 -0.2248187303 -330.1018247325 330.1020756852
+ -0.1024423681 -0.0053285871 -123.5905619413 123.5906045126
+ 0.4704592967 1.1024207707 -1532.6686797360 1532.6691547712
+ 0.3973352851 -0.0832020621 -2.0775358246 2.1214223528
+ -0.1233336548 -0.3673182633 -1.5668702113 1.6200913372
+ -0.0051118974 -0.1849970869 -3.7170127469 3.7242332901
+ 0.1290741696 0.1302735192 -0.1553778095 0.5526744283
+ -1.0204913202 0.8343745132 -0.4503655011 1.3929868798
+ 0.2376989817 0.3253412822 -0.6094710731 0.8817276817
+ -0.2755252911 0.4303773900 -0.6575078282 0.8443549093
+ -0.2526317998 -0.2409440117 -0.6962818611 0.7913059194
+ 0.2161961557 -0.1380763983 -1.3265334555 1.3511094989
+ 0.3091216497 -0.0375068382 -1.3451254097 1.3806974053
+ 0.1408844604 0.0562712774 -1.0490151890 1.0690778921
+ 0.0232313577 0.0889454794 -0.2662471444 0.3143538151
+ -0.0379420920 -0.3515208834 -4.3708087647 4.3873061868
+ -0.0114340145 -0.7365270185 1.0169430550 1.2634301515
+ -0.1373396840 0.0588818616 0.2476646213 0.3211647739
+ 0.1343035450 0.3878698744 0.7968961274 0.9071955161
+ -0.1924482837 -0.5089226180 0.8000341258 0.9775341224
+ 0.1498486738 -0.0129221189 0.4753291850 0.5177250479
+ 0.2869755107 -0.5190747279 -0.1628970078 0.6307208075
+ 0.1251006426 0.2291355089 0.1085084047 0.2827142128
+ -0.0312717913 0.1313830423 0.0635898527 0.1492752428
+ 0.2661284782 -0.1486373221 0.1020660724 0.3504492666
+ -0.2121960488 0.0623226437 0.2344162247 0.3512008348
+ 0.1521372576 -0.0038333932 0.1957065802 0.2845018286
+ -0.1195248030 -0.2342655933 95.2651181499 95.2654811706
+ -0.2430101558 -0.3343397977 218.0713559934 218.0717476929
+ -0.1050851816 -0.0365918264 73.4609231037 73.4610073788
+ -0.6257880440 -0.5068499640 397.5965908852 397.5974064190
+ -0.0643346499 -0.0119085625 3.1284224364 3.1291065341
+ 0.0094880725 0.0773760046 1.4412931501 1.4433998109
+ 0.1734194625 0.1414983231 0.9708781602 1.0060717034
+ 0.5793914586 -0.0468766042 1.0293626719 1.1903609425
+ 1.1551568125 -0.4938230200 4.0354325438 4.2264600142
+ 0.5226835310 -0.1303719277 1.6609923145 1.7461644773
+ 0.0108719332 0.0283992157 0.0435158804 0.0530880988
+ 0.1568985471 -0.1182123729 0.0946076928 0.2180411308
+ 0.0863556608 -0.0927934083 0.1577845381 0.2023953489
+ 0.3457705661 -0.2087024704 0.9251106808 1.0094274502
+ 0.3200655234 -0.0990142979 0.4396458492 0.5527515203
+ 0.0292589235 0.0056164274 -0.0030969307 0.0299536281
+ 0.0561136393 -0.1161126599 0.2726448829 0.5819291635
+ 0.1830373170 0.1363983922 0.0699767156 0.2387549404
+ 0.2803160748 0.0629586982 0.1910279492 0.3450109808
+ -0.1925587902 -0.4139068085 0.4118208481 0.6148122842
+ -0.2541230743 -0.2705441390 0.3773411729 0.5293005090
+ -0.2971085631 -0.2737476462 0.2638228256 0.4825077775
+ 0.0124683508 -0.0193266616 0.0329520843 0.0401848165
+ 0.0083356713 -0.0498084390 0.0769259452 0.0920215467
+ -0.1951596802 -0.5019433973 0.3388928253 0.6363040326
+ 1.0576644472 -0.4361482231 0.8624145177 1.4394853041
+ 0.5835441613 -0.4432892784 0.4302565739 0.9827465858
+ 0.5795512140 -0.3306100874 -0.1306051242 0.6940606047
+ 1.0390785862 0.0137884659 -0.4071851957 1.1247906466
+ -0.0446338828 0.0158569990 -0.0581359348 0.0749894315
+ -0.1170391713 -0.1967825164 -0.3858228232 0.4486432628
+ -0.1486877369 0.1457493431 -2.0751745489 2.0855935180
+ -0.0498718461 -0.0152065151 -1.1334153116 1.1346139025
+ -0.0294656729 0.1282803391 -0.8774608041 0.8872775970
+ 0.0817112243 0.0537674645 -0.4644263239 0.4746150806
+ -0.0954210383 0.0799174480 -0.2332662670 0.2643957722
+ -0.0162070976 -0.0315561312 -0.2390765141 0.2416941021
+ 0.0987398752 0.0218152968 -0.2870186071 0.3043109445
+ -0.0437824522 0.0117001262 -0.0789530203 0.0910350234
+ -0.1867582147 0.1207588058 -0.3911324007 0.4499398569
+ -0.0818467966 0.1743585115 -0.2212292175 0.2933294314
+ 0.1381981255 -0.1292420413 -0.7024230874 0.7274616284
+ 0.0865296860 -0.0614139376 -0.9944146076 1.0000597333
+ 0.4330847455 0.0414050434 -13.7285386128 13.7354304344
+ 0.1014774144 0.0518960334 -5.7653121573 5.7664386873
+ 0.0126643700 0.0734082008 -22.1739459729 22.1740711003
+ -0.0285097671 0.0066525684 -1.0432509951 1.0436616800
+ 0.1367194237 -0.0518809254 -43.9790938968 43.9793370097
+ 0.0044610447 0.0135661283 -36.5809212947 36.5809240822
+ 0.5170179503 -0.2658672862 -232.9083991744 232.9091247654
+ 0.0675308851 -0.0739396454 -26.0963755852 26.0965677087
+ -0.2046938943 -0.0175109789 -16.2011785088 16.2024810229
+ -0.1616142276 0.0728504557 -22.8639633829 22.8646506188
+ 0.1905354783 -0.0503217219 -48.8748768436 48.8752741427
+ 0.6277664114 -0.3000173960 -126.3795248389 126.3814400915
+ 0.1411929519 0.1507547967 -2.9561415468 2.9633486638
+ -0.1811459027 -0.0110827853 -0.3870952065 0.4275270344
+ 0.0415463955 0.0487505152 -0.2626300719 0.2703280791
+ 0.0792432747 0.1514394156 -2.3523568070 2.3585580215
+ 0.6909879629 0.6978462537 -3.2329122867 3.3787831556
+ 0.6335451380 0.4694940882 -2.6425156161 2.7576607699
+ 0.6006624335 0.4551516201 426.3519460284 426.3526120954
+ -0.0020049669 -0.0063473021 3.7754772217 3.7754830896
+ -0.0001410271 -0.0893401335 2.9822415803 2.9835794816
+ -0.1637281749 -0.3281701646 21.8893212488 21.8923933663
+ -0.1500255806 0.3499772212 3.7535721149 3.7728365128
+ 0.0266728154 0.1033445138 0.8808125913 0.8872555148
+ -0.7095793866 0.2389862067 3.7780090274 3.9641291751
+ -0.2769067714 0.0204084991 1.0464807059 1.0916480750
+ -0.0565482149 -0.0533723631 0.1281470431 0.1498932100
+ 0.0386222300 -0.2753440586 0.4514621369 0.5302113620
+ -0.4061006890 0.3504375338 2.6499771260 2.8623233199
+ -0.2290133098 -0.0761639560 0.2975183873 0.3830995106
+ 0.0037076414 -0.0348275511 0.1011420100 0.1070346257
+ -0.0086100812 0.0572198971 -0.0415666286 0.0712462964
+ -0.1209625303 0.1353113711 0.0861372346 0.2008997861
+ -0.2216179583 -0.2055976876 -0.7916893054 0.8474413755
+ -0.7593152568 -0.5562404599 -1.9298104593 2.1471216820
+ -0.4672799970 0.0727415360 -2.1088948605 2.2178266137
+ -0.2573779086 -0.1812145073 -2.9190386501 2.9359612951
+ -0.0254221801 0.0240316187 -0.2579553826 0.2603167020
+ -0.1792901741 -0.0609474027 -6.2564983935 6.2791167475
+ 0.0725396880 0.0895862026 -27.0994480970 27.1000526686
+ 0.3537033894 -0.0972092380 -41.0786629193 41.0805377612
+ 0.0824725367 -0.1793617356 -159.6008989202 159.6010210133
+ 0.0837949230 -0.0211946582 -122.4873886703 122.4874191666
+ -0.0269764358 0.1372816598 -0.8013993865 0.8135201036
+ -0.1214776761 0.0511540418 -1.0462779452 1.0545478180
+ -0.6090058394 0.2303102829 -0.1568808156 0.6697331776
+ -0.1758738084 0.1479238712 -0.0777833448 0.2426176351
+ -0.1201299763 0.1715182228 0.1555995983 0.2608849305
+ 0.0105934808 0.1488610011 0.0487950690 0.1570120322
+ -0.0544086631 -0.2666112458 -0.6140086478 0.6716014283
+ -0.0051104481 -0.0709598544 -0.4220633936 0.4280174363
+ 0.1046467368 -0.0240135539 -2.1864716241 2.1891061540
+ 0.7382837561 -0.3776964629 -11.5765687528 11.6062337393
+ 0.1564820369 0.0441414487 0.0517947799 0.1706393699
+ 0.0756005778 0.0986866357 -0.0486195068 0.1334854145
+ 0.0830195150 0.0117799923 0.0575185431 0.1016827954
+ 0.0991012474 0.1792530737 0.0271238689 0.2066117759
+ -0.1309015640 0.1613494152 0.0632279432 0.2171787882
+ -0.0280918912 0.1803705313 0.1508212491 0.2367904814
+ -0.0743735195 -0.1319507848 0.1101898804 0.1873078743
+ -0.1963913377 -0.3653379029 0.0595905259 0.4190374346
+ -0.0363457894 0.1596006699 0.0888314152 0.1862375111
+ 0.0751595009 0.1828832507 0.0154134366 0.1983250059
+ 0.1385580065 -0.2548575683 -0.1499928987 0.3551455418
+ -0.1035654655 0.0802813752 -0.2111152710 0.2849918374
+ -0.0238627338 -0.2119094429 0.5504537006 0.6065922052
+ 0.0193085302 -0.1400868029 0.0532373678 0.1511004600
+ 0.1078275432 -0.1923345662 -0.0643742614 0.2297028732
+ 0.1476376290 -0.4699072934 -9.0357727650 9.0502640282
+ 0.2878577188 -0.0478873442 -4.6136682129 4.6249939922
+ -0.2096391921 0.4164719269 -42.6333625197 42.6361405028
+ -0.1068220736 -0.0557027463 -9.3352834474 9.3371039718
+ 0.0016259012 0.0603195701 0.1585756763 0.1696683211
+ -0.0032269333 -0.0017073530 0.0003878311 0.0037065706
+ -0.0388953263 -0.0106198749 -0.0051909442 0.0406550631
+ 0.0985686399 -0.1356917921 -0.9410245378 0.9558531373
+ -0.0271230460 -0.0467161724 -0.1213144744 0.1327978241
+ -0.0352499569 0.0517163458 -0.5429766010 0.5465717968
+ -0.0889778757 0.1316248127 -0.3732828311 0.4056873497
+ -0.1763358381 -0.4445779679 -5.8210435552 5.8406585219
+ -0.1309088945 -0.1219032916 -1.8921700531 1.9006064983
+ 0.0273699534 -0.0840844306 -1.9193721294 1.9214079934
+ -0.0404898390 -0.1496633565 -1.2796966231 1.2890546903
+ -0.0172699863 -0.1110232561 -0.8100484525 0.8178037119
+ -0.1294444021 -0.0372141473 -1.2031839523 1.2106991241
+ -0.0071212673 0.0553384454 -13.2448627466 13.2449802655
+ 0.1157095328 0.0047368626 -12.5582498696 12.5587838154
+ -0.4628718244 0.0584273021 0.2267836666 0.5371914852
+ -0.1258320681 -0.0627182761 -0.1341280765 0.2392434269
+ 0.4070766543 0.0808023539 -0.8660543425 0.9704485210
+ -0.0714439069 -0.0303139209 -0.4319774302 0.4605512466
+ 0.0883177610 -0.3338188293 0.3503300926 0.6968552013
+ 0.5151386200 -0.1146329874 0.1185009374 0.5585971506
+ 0.1295086171 0.0840545387 -0.2716849270 0.3124905550
+ 0.1896913883 0.1903583102 -0.9242964429 0.9625710485
+ -0.0085812394 -0.0101931988 -0.0076672232 0.0153728749
+ 0.0383401401 -0.0282233347 -1.1749374596 1.1759015932
+ 0.0552427534 -0.1171088621 -1.9492539933 1.9535499425
+ -0.0158083133 -0.0005514152 -1.9024005826 1.9024663423
+ -0.2507955734 0.0323665932 -16.6153636232 16.6172878156
+ 0.0130717178 0.0020096704 -2.7941111481 2.7941424474
+#SUBSTART
+ -0.0441574913 -0.4353151355 26.3302758397 26.3342809800
+ -0.1684435563 0.1045960517 2.1588214814 2.1723958063
+ -0.5770713716 0.6955379143 21.6256560361 21.6449824009
+ -1.1752739411 1.9760072781 15.0098856394 15.1855859384
+ -0.2977845080 0.4997607724 0.7631390766 0.9696893719
+ -0.1559719273 0.1740967375 0.2642535067 0.6067188739
+ 0.1894062750 0.6689908942 1.0641104711 1.3635965709
+ 0.1142440269 -0.7609789157 -1.2619305118 1.4846174623
+ -0.1867624688 -0.0614329778 -319.2977516980 319.2981937541
+ 0.3794219007 0.2688305247 -2310.2901974809 2310.2904353347
+ 0.1687844551 0.2209632920 -0.8584253276 0.9130645085
+ -0.1323813331 0.0254848837 -8.9692736459 8.9713724600
+ -0.0223050015 -0.0425046041 -1.1277844865 1.1374013308
+ 0.6656247724 0.2834455504 -97.7296591444 97.7368531619
+ 0.6041385277 -0.1127183082 -566.7768012498 566.7771516245
+ 0.4104547203 0.1001098401 96.2280145055 96.2289419599
+ 0.3766676493 -0.0195173659 102.2050215120 102.2057174610
+ -0.1773963067 -0.2794459257 119.7176053133 119.7190804441
+ 0.5536628050 -0.7413673360 237.5619261760 237.5642409485
+ 0.2418487329 -0.0275705849 110.0760391877 110.0763968069
+ 0.1211127339 0.0918177206 6.2905195544 6.2923552866
+ 0.0626006554 0.0004161362 0.8074401104 0.8098632892
+ -0.3992946356 -1.0545597894 22.7106418672 22.7580222858
+ 0.0417121474 -0.1698509705 10.0664788775 10.0689654896
+ -0.6489843464 -0.3907697600 8.0447041982 8.1345865240
+ -0.1824174605 0.0632137159 1.1463805001 1.1708715299
+ -0.5100905812 1.1119282245 4.6061208904 4.7678513210
+ 0.1208982619 -0.5000497215 3.8441317114 3.8784036314
+ -0.1250474671 -0.3562271953 0.2671491042 0.4830974151
+ -0.2684525449 0.0041035590 -29.8272971657 29.8325892403
+ -0.2305167299 -0.2303331981 -26.8578775370 26.8643894049
+ 0.0589302654 -0.3635337077 -11.6035518010 11.6102335771
+ -0.2861255379 0.0875245097 -2252.3303127851 2252.3303867461
+ 0.2147074214 -0.0493440718 -573.3428739030 573.3429332165
+ -0.3512128176 0.1705015166 606.9691836771 606.9693252831
+ -0.0545189033 -0.2629197804 1644.3988288383 1644.3991191848
+ 0.3137805501 -0.1180062662 381.4548160342 381.4549888770
+ 0.1665185635 0.7459044142 64.4046507722 64.4093364560
+ -0.1196832236 -0.0259750317 6.9744536686 6.9755288511
+ 0.6087701295 -0.1727241416 49.5844134280 49.5884511726
+ -0.2601855433 -0.0984776474 9.2202601360 9.2255119709
+ -0.3175727586 -0.3101474438 2.4354490248 2.4795031017
+ -0.2753963133 -0.0613132671 0.3999933953 0.5089960189
+ 0.5380862512 0.4584969419 -0.1195298158 0.7304268760
+ -0.0444677217 -0.2161922889 -0.2568845486 0.3663139914
+ 0.1071005022 -0.6555412682 -0.9970223527 1.2061252955
+ 0.1167686814 0.3995658137 -0.0721905295 0.4449483362
+ 0.3221480794 -0.2510238116 -0.3823126307 0.5765718269
+ -0.0583993075 -0.1985441190 -1.1216535017 1.1405861757
+ -0.0133384962 0.0430703450 -0.2929447656 0.3276116462
+ 0.0809192565 0.0400875874 -0.5604104264 0.5845464667
+ 0.0304681422 -0.0529570261 0.0182684183 0.0637690317
+ 0.0836528556 0.0741664295 -0.0240281384 0.1143495123
+ 0.4555510747 -0.1080987016 -1.5110088644 1.5818849197
+ 0.3014766486 -0.0215103119 -0.6941443755 0.7570913269
+ -0.1641431394 -0.4411654516 -0.3939015239 0.7876352560
+ -0.4039252069 -0.0300264155 -0.0958914049 0.4390126477
+ 0.3044251967 -0.1331948462 -0.6076952890 0.7065330259
+ -0.1684239142 0.2200289693 0.0371401625 0.3124716607
+ 0.1063768869 -0.1459702191 -1.6222150849 1.6381956274
+ 0.2847598858 0.2966021366 -6.5535874438 6.5849988886
+ 0.0762948828 0.0318769792 -0.3637472649 0.3730269744
+ 0.1951369681 -0.0220355622 -2.5052655163 2.5168232148
+ -0.1162784899 0.0635417278 -0.7469535935 0.7713479721
+ -0.1681952710 0.1129415876 -5.5851454865 5.5905612725
+ -0.0679858088 -0.2102760193 -4.2058024713 4.2139165021
+ 0.4418295219 -0.6620495459 -19.0063203706 19.0234911818
+ 0.1797843649 0.0617713446 -74.4445372832 74.4506925422
+ -0.0012876290 -0.1708940437 -22.0694526118 22.0705556070
+ 0.0103934528 0.0073255347 -0.4425131277 0.4426957821
+ -0.0043701656 -0.4457805170 -19.2152582403 19.2204289392
+ -0.1516577445 -0.1765477077 -27.6010756776 27.6020569474
+ -0.0056566917 0.1288076918 -128.5924082012 128.5924728372
+ -0.2517680174 -0.2266360806 -101.7909522301 101.7916115735
+ -0.1224778176 0.3530082700 -281.1956821029 281.1959649937
+ 0.2360062692 -0.0235467030 45.4448973379 45.4455162526
+ 0.0922372110 0.0516915546 11.1658408560 11.1663414663
+ -0.3341427239 0.4372861673 4.3995142369 4.4338015374
+ -0.0681940751 0.2196341586 2.1322401165 2.1446066096
+ -0.2009116521 0.0971726250 0.7308198704 0.7641372219
+ -0.1012844178 -0.0398178954 0.4990775716 0.5108056583
+ 0.0368925678 0.0866300133 1.3739185159 1.3771412088
+ 0.0092764250 -0.0017291697 0.0032248545 0.0099720497
+ -0.0203948597 0.3124584627 -3.1550078059 3.1735784663
+ 0.1059659827 0.0377553505 -0.4675965736 0.5007799882
+ 0.1329985369 0.0032114371 -20.7486076587 20.7550016653
+ 0.3660545253 0.0948605500 -27.6704560743 27.6730398366
+ 0.0098726085 0.0434149374 -3.1737995066 3.1741117866
+ -0.0692111607 0.3256648076 -19.6754088046 19.6782255140
+ 0.0384004058 0.0367002910 -2.3623408103 2.3629379184
+ -0.4900785611 -0.0533828943 1745.8520098218 1745.8520794230
+ -0.3283022857 -0.1470635917 1180.7336963526 1180.7337511533
+ -0.1814264620 -0.0205444397 98.7126005837 98.7127694457
+ 0.0248419023 -0.0015164888 16.4086144224 16.4086332972
+ -0.2004067191 -0.0837420647 149.5881746804 149.5883323652
+ -0.1902605094 -0.2250958392 157.4793950631 157.4796708679
+ -0.1399714066 -0.0837296753 8.1257531901 8.1273899599
+ -0.0703123333 0.0538362498 4.3994458722 4.4003370494
+ -0.0159653752 0.2473043122 1.8918974504 1.9080592965
+ 0.0281207896 0.0677898195 0.2312495090 0.2426161039
+ -0.0061386499 -0.0106536272 0.1539491891 0.1544394238
+ 0.3359626138 0.0994753088 10.3451825219 10.3511143181
+ 0.0248790269 -0.1188617045 0.0553437980 0.1334541373
+ 0.1384447312 -0.2292058176 -0.0582864518 0.2740429909
+ -0.0750893528 0.3970147019 -0.1959203554 0.4490477370
+ -0.0117513933 0.4664320235 -0.0952875283 0.4762107106
+ 0.0366213698 -0.1908535617 0.0191893482 0.1952804082
+ -0.0495444757 -0.0164300420 -0.0072712417 0.0527017297
+ -0.1684665489 -0.1655211251 -0.5420967721 0.7728664569
+ -0.0077705280 -0.0271283750 -0.1601233579 0.1625909578
+ 0.2985503418 -0.1943537073 -3.7866140559 3.8033342844
+ 0.1145357018 -0.1888176563 -1.3010430382 1.3270129263
+ -0.0851260915 0.0143078920 -3.3326217524 3.3366598113
+ 0.1861249539 -0.0696085274 -2.1990679462 2.2080280065
+ -0.0081718728 0.0218629486 -0.1191747050 0.1214387843
+ 0.0046440483 -0.0454064059 -0.1986982662 0.2038732692
+ -0.1283936654 0.0380983822 -0.9348199605 0.9443647487
+ 0.0784758412 0.0424801626 -0.2723256920 0.2865733840
+ 0.1054935584 -0.0933034714 -0.2892197068 0.3216869090
+ 0.0408590818 0.0604494054 -0.3080921201 0.3166138810
+ -0.0925244680 0.1541730864 -1.2354152505 1.2484313993
+ 0.0235092171 -0.0552276523 -0.2346041984 0.2421609109
+ 0.1755806147 -0.2245895151 -0.3861217080 0.4799572648
+ 0.0091047332 0.1407710305 -0.1461590576 0.2031301290
+ 0.0513514751 -0.0113435399 -0.0285874370 0.0598572589
+#SUBSTART
+ 0.6770465813 0.3513046130 2932.9940154332 2932.9942651096
+ -0.0417695140 -0.5205562118 1516.1967568014 1516.1971378585
+ 0.1989410460 -0.0630978173 419.9030998168 419.9031748802
+ 0.3409520965 -0.5293872884 42.0667056283 42.0716496163
+ -0.6058117347 -0.1169407679 161.7578620065 161.7590989209
+ 0.0958752265 0.1769517299 9.8588970004 9.8619386442
+ 0.1214223914 0.5787434124 1.8523222605 1.9494268071
+ -0.0670547128 0.4943335812 -0.2118289105 0.7330583001
+ -0.0793677873 -0.1567128659 -10.5786349883 10.5810139481
+ -0.0970001025 -0.1445801537 -42.5880261212 42.5886106973
+ 0.3703284929 -0.0399450286 19.7629004476 19.7669029614
+ 1.4533321999 -1.0896521454 20.1424410483 20.2246613680
+ 0.3658343274 0.0812914858 14.4660505640 14.4715770311
+ -0.0636455908 -0.5605851203 2.3507291229 2.4215106096
+ 0.6259190599 0.1805421839 -0.0486041130 0.6679912383
+ -1.5519749330 0.2472025221 -29.1064459553 29.1530199532
+ 0.0078035256 0.0943980126 -17.4994129577 17.5002258708
+ -0.0548797488 -0.1370298829 1036.1884577516 1036.1888942459
+ -0.0074291856 0.2193125768 163.6958091162 163.6960156974
+ 0.1914978876 0.4070487660 21.6381360319 21.6432615578
+ -0.1914590767 0.0584780254 14.3092278420 14.3113087269
+ 0.2424123730 -0.4283519468 107.3841227396 107.3853413902
+ -0.0983276759 0.3947591799 4.8693594443 4.8883171260
+ -0.1305690829 -0.4243713087 -0.1823121874 0.4799760689
+ -0.0516891775 -0.0503703697 -0.0805988110 0.1081901731
+ 0.1558854862 0.1136100551 -0.0874555358 0.2536449981
+ -0.3318060246 0.2212104011 -0.3580826634 0.5538341433
+ 0.0629356885 -0.2583798210 -3.0019798320 3.0169659808
+ -0.8300974841 0.2595456596 -20.5476369139 20.5720559001
+ 0.1285761168 0.1189190669 -54.8915143717 54.8998343838
+ -0.0401510367 0.2671418516 -15.6302665438 15.6332238803
+ 0.0281649730 -0.4122759243 -345.8271122625 345.8286355008
+ -0.1171088176 -0.1605515566 -125.4965441409 125.4967790916
+ -0.2106370242 0.0707698693 -55.0953331303 55.0959580083
+ -0.5943466424 -0.3725778643 -496.6313627019 496.6318581015
+ -0.1180301614 -0.0275032674 -118.6069850561 118.6070469729
+ 0.1195709980 0.0808099878 -53.7127092521 53.7130844624
+ 0.9185150775 0.1541735037 -1036.2673654079 1036.2677933472
+ -0.3500272122 -0.1878301027 -209.7307631119 209.7311857462
+ -0.0669895037 -0.0961947512 3.8427504240 3.8470705257
+ -0.2156780993 0.5291157459 27.6308975327 27.6368047896
+ -0.2476374439 -0.0328806378 5.6531153731 5.6586322430
+ -0.1847852304 0.2316177367 11.4768421686 11.4806662925
+ -0.3482255085 -0.0892652067 4.1697229078 4.1851903672
+ 0.5202508248 -0.0281775607 6.3044339099 6.3274656541
+ 0.7373289987 -0.1469192235 12.7951337768 12.8179626876
+ 0.0285710570 -0.0274444948 0.1010480309 0.1085366764
+ -0.1039300181 -0.0446321493 0.0699664568 0.1329991823
+ 0.0993723549 0.0924859310 0.1007479290 0.2192223585
+ 0.1166573587 0.3266489934 1.1041078499 1.1656939707
+ 0.0927905044 0.1368028453 -0.0347829812 0.1689229172
+ 0.0112333828 -0.0296147398 0.0115929564 0.0337285982
+ 0.1933425277 -0.0683296207 -0.5457777002 0.5995025880
+ -0.0014862833 0.0659779399 -0.5650813922 0.5689220310
+ 0.1863289901 0.1478342929 -1.1113546809 1.1365221940
+ -0.1922446050 0.2980532455 -1.9635354135 2.0001861989
+ 0.0193414916 -0.0172419473 -4.6419787550 4.6441487836
+ -0.2848295282 -0.3678209575 -7.6933700519 7.7086861824
+ -0.3199278853 -0.1879575979 -15.9473171225 15.9592683503
+ -1.0710663773 0.0993198611 -20.7698796254 20.7977149532
+ -0.2757647673 0.0956668425 -5.6181856450 5.6257629077
+ -1.2490018212 -0.0340281411 -30.8603844919 30.8859834591
+ -0.1755305964 -0.1438557882 -9.2787433684 9.2825677352
+ -0.2124698815 0.1667916916 -6.1884785586 6.1959429931
+ -0.2942176899 0.3773570206 -12.4429150611 12.4528943372
+ 0.0105092060 0.0295422923 -74.5308462655 74.5309835439
+ 0.2584863896 -0.2976687228 -69.3044867189 69.3057485425
+ -0.0957526249 -0.1699727518 -1297.4184902276 1297.4185124020
+ 0.0931045661 0.3914495124 -946.2909476485 946.2914983520
+ 0.0360247711 -0.1163619267 -151.5313599468 151.5314731830
+ -0.0993581510 0.1349565774 -94.0391405685 94.0393934688
+ 0.4844616733 -0.2826907523 -463.1607123897 463.1610730603
+ -0.0504836604 0.0175103698 72.2699052144 72.2699249682
+ -0.0368006360 0.0999886945 34.0537581371 34.0539248147
+ 0.0665640621 0.0755456437 7.7538575753 7.7545112816
+ 0.2243516825 0.3690620147 61.4164633694 61.4179820024
+ 0.0816957699 0.0122835959 2.1208602398 2.1224686669
+ 0.0144029480 -0.0503652427 5.6926704167 5.6929114323
+ -0.2698450161 -0.0968807088 9.7057973269 9.7100310996
+ 0.0164336168 -0.0012397869 0.4695489357 0.4698380613
+ -0.0364556163 -0.0412882489 0.1074929780 0.1207827462
+ -0.2667218077 -0.0649448564 1.3716987678 1.3988980902
+ 0.2077097027 -0.3570804421 0.8988831489 0.9892626941
+ 0.0105377329 -0.1484745719 0.2294513114 0.2735025532
+ -0.0685732436 -0.0943891826 0.1346473855 0.1781615165
+ 0.0382369999 0.0045851390 0.1130244698 0.1194052864
+ 0.3963831653 0.2132704216 -0.3553422031 0.7593071820
+ 0.1155666656 -0.2135039761 -0.0183771432 0.2434693439
+ -0.0123682547 0.0083868054 0.0173299548 0.0228831721
+ 0.0360405259 0.2439023514 -1.1590296582 1.1849628792
+ -0.0483124564 0.0437451936 -0.1841727802 0.1953646549
+ -0.0063232509 0.0013555547 -0.4512860805 0.4513324135
+ 0.6117940259 0.1041841635 -96.7891346761 96.7911242709
+ 0.0097392890 0.1586587724 -185.8987315955 185.8987995558
+ 0.0126099215 0.0006886785 -1.6055595426 1.6056092081
+ 0.4457959513 0.0817576972 80.5457340205 80.5485466205
+ -0.1093643200 -0.1927084619 32.1425410810 32.1433048122
+ 0.0241356187 0.0044118008 2.7467931024 2.7469026811
+ 0.0418870354 -0.0110886184 1.4748848722 1.4755212189
+ -0.0354473722 -0.1887979921 11.5772747910 11.5788683724
+ 0.0058024512 -0.0191965884 0.3125636871 0.3132063792
+ 0.1173078971 0.0564554543 13.2352476762 13.2358879344
+ 0.1147181205 0.0120976749 7.4073100080 7.4095227876
+ -0.0368528419 -0.0130518397 13.4686664620 13.4694463336
+ 0.0430173588 0.0002779173 1.7903229774 1.7908397287
+ 0.0883578294 -0.2186442978 4.7990642286 4.8048548267
+ -0.0436287774 -0.0282100033 0.0500925733 0.0721702183
+ 0.1031194345 -0.0886409722 0.1536924624 0.2052126037
+ 0.0052358810 0.0010948603 0.0851676243 0.0853354405
+ 0.1037891731 -0.0282878168 -0.0050733888 0.1076946252
+ 0.3521574111 0.0590490219 0.1443117687 0.3851331144
+ 0.0778011855 -0.0502172090 0.0209264974 0.0949352982
+ 0.1394697699 0.0437755024 0.1665841772 0.2216267119
+ 0.0266028806 0.1043947157 0.0590615466 0.1228586025
+ -0.1405800619 0.2371123332 -0.1130999690 0.2979540491
+ -0.1042086095 0.0399933128 -0.0988254999 0.1490817856
+ 0.0215861152 0.0406496160 -6.0570440969 6.0572189612
+ -0.0417127537 -0.0642268819 -3.5705903932 3.5714115980
+ 0.0847143653 0.0659101892 -1.6230128539 1.6265581455
+ -0.0237875762 0.0298896874 -0.1356170689 0.1408943986
+ -0.1639741056 0.1207618984 -2.2816665346 2.2907363704
+ -0.3666022085 0.1156586340 -6.1317843092 6.1438223374
+ -0.3087523084 -0.2453129151 -8.4834676739 8.4926279907
+ -0.1014408362 -0.1500275563 -2.6075048230 2.6137865087
+ 0.1497063932 -0.1088154929 -3.2823730421 3.2875865925
+ -0.0283050773 -0.0320002559 -1.0595448941 1.0604058546
+ 0.2560825105 0.1528555769 -27.8668949809 27.8684907907
+ -0.0103388253 0.0220503079 -5.1574342009 5.1574917008
+ -0.0090402010 -0.0032600392 -23.7519850444 23.7519869885
+ 0.3526365706 0.3108738458 -768.8035926136 768.8037363402
+ 0.1176747849 0.1309046292 17.8041267255 17.8055438451
+ 0.0162468238 -0.2410911776 40.7001501790 40.7011067822
+ -0.1282368223 -0.0693513557 9.8597886117 9.8608663798
+ -0.0024939333 0.0055438178 0.0197330279 0.0206481478
+#END
Index: tags/siscone-3.0.2/examples/events/Pythia-Zp2jets-lhc-pileup-1ev.dat
===================================================================
--- tags/siscone-3.0.2/examples/events/Pythia-Zp2jets-lhc-pileup-1ev.dat (revision 0)
+++ tags/siscone-3.0.2/examples/events/Pythia-Zp2jets-lhc-pileup-1ev.dat (revision 398)
@@ -0,0 +1,3134 @@
+# ./gen-events -Zp2jets -lhc -pileup -out pippo -nev 1
+# Random generator sequence: 19780503
+# Stamped by ./gen-events on 17/08/2006 at 20:17:31
+#SUBSTART
+ 0.3515853712 -0.1092071110 -1676.2965175959 1676.2968206118
+ 0.1466634216 -0.1046232856 -303.1831159247 303.1832015758
+ -14.0924756697 2.5182102569 62.5061263924 64.1264277107
+ -0.9749853807 1.1917666034 3.3182684903 3.6607771973
+ -0.9466630591 2.0674278766 3.6400326786 4.2941526124
+ 0.8375485052 -0.2459935704 31.7895978995 31.8054111105
+ 0.1585775315 0.1217446482 3.5105806654 3.5190375085
+ 0.3262353048 0.7137303833 13.7657492848 13.7888061010
+ 1.6195907396 0.1416594826 -2.5405391788 3.0563248930
+ -0.3238428759 0.3059439955 0.4361247278 0.6388744006
+ -0.4845844265 -0.5120481394 0.4294059305 0.8371885102
+ -1.7806020841 -0.6091067626 1.4328100421 2.4162244115
+ -8.2637745456 -3.0695529034 6.7981652093 11.1431959482
+ -0.0015908101 -0.7000227870 114.6747013356 114.6769228774
+ 0.1413501723 -0.2018082025 7.0598817042 7.0655584269
+ -0.3122697664 -0.2779251984 33.0076103530 33.0139476131
+ 1.9671153122 2.9728949905 10.5786745193 11.1640262292
+ 0.7288749620 0.8615507415 14.0896990825 14.1355094854
+ 0.3209507646 0.1150008748 113.9642582459 113.9686305205
+ -0.3850462182 0.0191844745 142.0971546663 142.0977461914
+ -0.2274655535 -0.1116996565 76.2717077052 76.2779155814
+ -0.6612088423 -0.3368270510 56.1746890123 56.1874246234
+ -0.7729405036 -0.5253417222 56.6335166887 56.6433780281
+ -0.4620498474 -1.2141526376 17.9381817666 17.9919332685
+ -0.7152390404 -0.4158213543 1.3559443410 1.6633401034
+ 0.0522654437 -0.0135021255 0.2708283502 0.3094216608
+ -0.1801693573 -0.1327597119 -1.7938024237 1.8130893686
+ -0.1126482278 -0.2012968701 -4.0658938715 4.1022364616
+ 0.1337959299 0.8271012662 -46.2751046095 46.2828994798
+ -0.5461487070 -0.8956062132 -201.1160732929 201.1194146934
+ 0.5014702494 -0.1013143659 -62.6129139513 62.6151595883
+ -1.0590161800 0.7751369815 -44.5046726413 44.5242374365
+ 0.4931293267 -0.7321686955 -33.4202402311 33.4321878497
+ 0.0163810192 -0.3589771676 -8.8094301179 8.8178609499
+ -0.0897896029 -0.6848213273 -17.6441443172 17.6582091644
+ -0.3170064274 0.7967655693 -46.4826790137 46.4932082965
+ 0.1231385922 0.2628590975 -1179.8555699840 1179.8556139461
+ -0.0871648801 0.0606849513 -656.8540574883 656.8547362011
+ -7.4935013978 1.8611668033 34.0738740211 34.9380147641
+ -7.0359080438 1.9282667646 36.0222133791 36.7569006701
+ -8.1212724014 1.9347081221 37.0229806470 37.9558550470
+ -2.7840470666 0.7233283168 12.9961413759 13.3199657663
+ -3.1260155223 0.7674059159 12.9838941368 13.3861894231
+ -7.9368148087 1.8229589371 35.0705933501 36.0039193187
+ -0.2132419868 0.1799204923 1.1174211666 1.1601523077
+ -1.2038365106 0.6276815280 3.1003747744 3.3846019244
+ -2.0100646377 0.8841011644 5.2463076165 5.6873313886
+ -0.3014917286 0.1240077983 1.1331147177 1.1790776734
+ -0.6990869536 0.4080319750 2.2251131888 2.3677713919
+ -0.1534370861 0.4703968732 0.7983636180 0.9495685384
+ -1.1706251446 0.9523349264 4.3474023619 4.6039865468
+ -0.3148410789 0.3982898030 0.4798234732 0.6985629804
+ -0.1843570882 0.4109866920 0.3444271284 0.5670340764
+ -0.7636277064 0.6335076414 1.7899515238 2.2519274962
+ -0.1423362377 0.4426232076 1.0664611793 1.1717483264
+ 0.0122698368 0.0214105668 -0.0506123158 0.0563077950
+ 0.0561694259 0.0613830928 0.0862491426 0.1198407405
+ -1.0359304558 1.4251587378 2.5632700837 3.2492113881
+ -0.6062323505 1.0347139493 2.1036899630 2.4255188857
+ 0.1054851961 -0.1309947447 0.8882523021 0.9040347902
+ 0.3562764759 -0.5670236757 5.2093110913 5.2521777218
+ -0.1276731623 -0.0729027960 0.5084631488 0.5473845199
+ -0.7837620728 0.8649405903 5.4323194748 5.5580554039
+ 0.1573262723 0.0551661253 0.4438081565 0.4740891658
+ 0.1176338764 -0.1128240438 3.1596118078 3.1668902024
+ 0.5563964558 0.4776015279 5.6256912087 5.6749944138
+ 0.6713248427 -0.2906125196 16.9641390452 16.9870770642
+ 0.2176100512 -0.3127684255 11.7437536230 11.7507619823
+ 0.6312997798 -0.4490253361 18.6127941160 18.6355558918
+ 0.4820892565 -0.3478689312 4.9245539554 4.9622710818
+ 3.1601414430 -1.5278886677 80.4889150414 80.5654167883
+ 0.5479817327 -0.2881397513 13.0374786477 13.0521706235
+ 0.2470787607 0.2766078761 20.9797059412 20.9888850738
+ 0.9195189151 0.2939422487 18.1836962731 18.2093033154
+ 0.3128489528 0.1293074016 7.9537404389 7.9609410148
+ 0.0523734586 -0.5341613778 11.9414908252 11.9543613075
+ -0.1314624601 0.1925155996 2.5486766621 2.5631186370
+ -0.0182940737 0.0477021634 0.0271967153 0.1510947244
+ 0.4311257386 0.1997008905 0.1026520636 0.5057341982
+ 0.0025064869 -0.2012962012 0.0960431982 0.2631169396
+ 0.4812006412 -0.2446503776 -0.5703570342 0.7976182017
+ 0.1214646803 0.0262357275 -0.2706504793 0.3288973225
+ 1.3137494947 0.1207572495 -1.6645648228 2.1239811905
+ 4.5778881844 0.3971781843 -5.4023815926 7.0922871918
+ 0.2332805298 0.1658000231 -0.2330171001 0.3945709151
+ 0.4203477036 -0.0372774362 -0.4669925235 0.6447042741
+ -0.3419062697 0.0788154621 -0.0354685545 0.3792750685
+ 0.1867328684 -0.3769271241 -0.8116902253 0.9142123620
+ 0.1937157302 0.1104861910 -0.0952567875 0.2425012126
+ -0.3410306736 0.5457459602 0.2850037546 0.7175287440
+ -0.1426737605 -0.1552315464 0.0017471896 0.2108451745
+ -0.0604945349 -0.0407910150 0.0017778282 0.0729839457
+ -1.3137911949 -0.4376407593 0.4945691970 1.4704337552
+ -0.3336423671 -0.1251595621 0.2695999269 0.4681303778
+ -1.9114743609 -0.5044264515 1.3887921393 2.4200007580
+ -4.3277822256 -1.4029432632 2.8266137535 5.3787856495
+ -6.2592080673 -2.0145940829 5.1598332293 8.3582386843
+ -2.7274233000 -0.9061990844 2.1481428832 3.5881126633
+ -2.4999142672 -0.4450198386 1.8518400674 3.1458552765
+ -4.1695719193 -1.3614467602 2.9200578589 5.2711559411
+ -1.7875626875 -0.6144179808 1.2903120474 2.2928747853
+ 0.0326791624 0.1646134860 1767.5392073978 1767.5392842862
+ -0.2553300911 0.0553935706 302.2235235876 302.2236687478
+ -0.3098944914 -0.1185372774 498.8741688877 498.8751615582
+ 0.0043967553 -0.1787479567 57.3360193560 57.3362981519
+ 0.1343556308 -0.1739706487 53.5438649848 53.5443161758
+ -0.1261067901 0.8391469715 92.0761769165 92.0814319043
+ -0.1302172554 0.2355432584 22.8205760188 22.8275002563
+ -0.6039068644 0.2935254917 40.5432890588 40.5490891169
+ -0.3431145419 0.3334779348 55.2310448921 55.2332937166
+ -0.3108676438 0.2225671354 12.5276660793 12.5342758865
+ -0.2865508969 0.0188634953 4.5693417228 4.6048878366
+ 0.1202957526 -0.2227875922 5.5670312707 5.5745333736
+ -0.2592165461 -0.3141413161 2.5720455830 2.6078297971
+ 0.0412359257 0.1347440521 4.5207033533 4.5250519284
+ 0.4810132545 0.6435843266 20.1861608393 20.2026271498
+ -0.4620752411 0.6315879191 106.7567721222 106.7637633346
+ 0.7634110242 0.6679952680 139.0725258769 139.0762253868
+ 0.1871017531 0.0840972022 27.6147976233 27.6155595124
+ -0.0837787010 0.3304513728 417.2694506633 417.2695899221
+ 0.0194824510 0.0300402329 17.9440243477 17.9440600693
+ 0.1036201070 -0.0486769379 35.5135157524 35.5139745375
+ 0.5735809036 0.1541129194 321.9169159205 321.9178422246
+ 0.4785998571 0.0447910314 542.2543234895 542.2545545101
+ 0.0612126930 0.3147281852 118.9222564134 118.9227705322
+ 0.0951400289 0.0772001113 0.8966159291 0.9049483999
+ 0.0922622073 0.0038549402 1.9444498526 1.9466413138
+ -0.2002396336 -0.4043215425 1.2939390106 1.3703466655
+ -0.4912885250 -0.8671100984 2.3233289467 2.5280628418
+ -0.1455980325 -0.5540589965 2.8519182578 2.9088860252
+ -0.0631401109 -0.6306203007 3.7111810684 3.7649081741
+ -0.7978120696 -0.7268089914 1.6413943260 2.0254806101
+ -0.0505122343 -0.8294720595 0.8854780881 1.2223447193
+ -0.6986603016 -0.5815088191 1.8742819406 2.0877479018
+ -0.0152510577 -0.2335362258 -0.0206440685 0.2732722562
+ -0.0055795277 0.1524327372 -0.0119807350 0.2070994771
+ 0.2107703751 0.4829223315 0.3593873117 0.6528990382
+ -0.2437315424 0.0588794701 -0.4403460757 0.5256009019
+ -0.4251102202 -0.1296392941 -0.7487212990 0.8706943375
+ -0.0070605215 -0.0130439240 -0.1057711501 0.1068060443
+ -0.0446581715 -0.0427262553 -0.1497989801 0.2138677267
+ 0.0294353980 0.1878897241 -0.3531397791 0.4246839761
+ 0.3409975272 -0.0719363688 -0.4037366830 0.5513050415
+ 0.5236407218 0.5166073816 -0.3232291286 0.8154996301
+ -0.2906102810 0.1511871550 -7.5488844664 7.5720941316
+ 0.3948221703 0.4272692138 -12.5500331823 12.5642849453
+ -0.0828405419 0.5774552874 -7.7111353436 7.7344298586
+ 0.0818451237 -0.0413462415 -2.7550819208 2.7601384587
+ 0.3168564613 0.0550100938 -4.8610553970 4.8716818144
+ -0.0054068804 0.0067263444 -0.0233580557 0.0249013420
+ -0.0967362794 -0.0205451449 -28.3141151877 28.3146318828
+ -0.1121207441 -0.3758721613 -153.1974687964 153.1980345056
+ 0.1768460984 0.1599719923 -12.9305956634 12.9335474474
+ 0.0555737375 -0.4221554907 -36.2672783966 36.2700463990
+ -0.0538455946 0.2957351455 -112.0407720576 112.0412622281
+ -0.0242930210 0.0386363084 -33.6635284738 33.6638487403
+ -0.1041243996 0.2471052916 -44.7736011047 44.7746215906
+ 0.2334477208 -0.5400596161 -57.2076177407 57.2108133973
+ 0.1775468530 -0.2058132835 -127.9325890502 127.9329539363
+ -0.1854676694 -0.0343022915 -73.2010351228 73.2014111731
+ -0.0396039225 -0.0693253501 -31.6554273945 31.6555280797
+ -0.0210514956 -0.2792990603 -51.4724714421 51.4732335053
+ 0.0205424331 -0.0338641360 -30.5133696655 30.5133953718
+ 0.4246504173 0.0181259964 -33.3704952265 33.3732019469
+ 0.3403798299 0.1381443942 -28.3715638860 28.3739419123
+ -0.2674078764 0.2881448484 -22.2372774940 22.2411898188
+ -0.1043514730 -0.0153535513 -4.5405445777 4.5689545251
+ -0.2777617386 -0.4924160521 -7.2715030125 7.3101314743
+ -0.3511687179 0.0391918963 -8.6627527035 8.6839956722
+ 0.2052851045 0.0674891863 -1.9404314267 1.9574091732
+ -0.1329115540 0.4328228520 -19.2387829950 19.2446161826
+ -0.1409477410 0.0104181294 -7.4833078369 7.4859435457
+ 0.2998595252 0.3142952832 -121.6109341045 121.6153394223
+ 0.0341607389 0.2232087248 -74.4220966972 74.4225701362
+ 0.2441731232 0.1356017044 -10.4795575798 10.4842078952
+ 0.2038012227 -0.3912221329 -29.9816514382 29.9852212338
+ -0.7560348639 1.0554709660 -123.7015867605 123.7083997744
+ -0.0749871065 0.1456273021 -20.1007763948 20.1014437802
+ -5.8501416123 1.1519664785 27.2507654291 27.8998759057
+ -1.4347509262 0.4343584022 5.9644752379 6.1515544450
+ -2.2289591881 0.3308835619 10.6075976253 10.8451994062
+ 0.0074598356 0.0249023853 0.0656386357 0.0705989267
+ -0.3117890038 0.0757397706 1.0893095457 1.1355809888
+ -2.5808051654 0.1359041522 10.2285748753 10.5617443942
+ -2.0648196372 0.9258685578 7.0320388131 7.3884885040
+ -0.8618982808 0.2548744232 3.6072009628 3.7201086260
+ -2.1483091195 1.0848880738 7.6785761259 8.0481193649
+ -0.5094889009 0.1261695665 2.1312090309 2.1993247641
+ -5.5055622682 1.9823078371 17.2343392479 18.2011727465
+ -5.4408479377 2.0561231283 18.4174929462 19.3146057378
+ 0.8130663657 -0.5366749582 10.8344933799 10.8782049863
+ 0.1025867971 -0.1292634401 2.0662316709 2.0728112326
+ 0.0510762899 -0.1299531754 0.4865460539 0.5061854184
+ 0.0430814510 0.0302187509 0.1654898674 0.1736550619
+ -0.0915927954 -0.0484901644 0.4631333644 0.4745872411
+ 0.0155000762 -0.1373125200 0.5795165499 0.5957637217
+ -0.0126267458 -0.0027450363 0.1982312065 0.1986519095
+ 0.2905769988 -0.3411373091 10.7501390685 10.7594748779
+ -0.1579808278 -0.0897752177 0.5178308653 0.5487862396
+ -0.3491396416 -0.0379711511 1.4358899400 1.4782152135
+ 0.0360265956 -0.0521766385 -0.0789625776 0.1012689778
+ -0.0022665233 0.0485273874 0.0164782216 0.0512988913
+ 0.5089858321 -0.0679858235 -0.6130097609 0.7996684416
+ 3.6288455577 -0.1723076501 -4.0599974968 5.4480996395
+ 1.0621403714 0.1450772587 -1.0010707923 1.4667420737
+ 0.1635674706 -0.0290104965 -0.1377094966 0.2157772736
+ -0.0996666784 0.0416646349 -0.0451171741 0.1170681340
+ -0.0231080204 -0.0667932677 -0.0737246493 0.1021305299
+ 0.1806810630 0.1411494122 -0.0226978775 0.2303996457
+ 0.2919495251 0.0974725766 -0.1517074175 0.3431480277
+ 0.0743210507 -0.0280230926 -0.0028536687 0.0794799077
+ -0.0193794061 -0.1203299923 -0.0718911241 0.1415033645
+ -0.1774191781 0.0340426705 -0.0158251493 0.2288376901
+ -0.0098062419 -0.1098099895 -0.2814901263 0.3329727801
+ -4.0355894808 -1.1788301157 2.3885013634 4.8353450407
+ -0.0786528176 -0.0157250768 0.0266224841 0.0845121318
+ -5.4609674555 -1.5963798192 4.1511675046 7.0429245153
+ -0.2226862053 -0.0481175591 0.1402839742 0.2675519369
+ -13.2513076340 -3.6729946175 10.5601978090 17.3385495651
+ -6.4491953353 -1.8877197843 4.8351032523 8.2796926092
+ -0.2521483917 -0.0343969655 0.2717373352 0.3722944292
+ -0.5288423224 -0.2011792337 0.3982722961 0.6919307104
+ -1.7269006642 -0.4032821595 1.0834773051 2.0808434613
+ -10.2166517717 -3.5005689851 7.7967977058 13.3200604769
+ -9.8053519522 -2.7012907383 6.9445416027 12.3161697137
+ -4.8735501752 -1.6910515221 3.3876743675 6.1730838295
+ -5.1334115832 -1.6295119732 4.2008239525 6.8303840033
+ -3.3155236737 -1.0052972796 2.1687446421 4.0873919770
+ -7.9244060107 -2.5533811961 5.6590053325 10.0677597951
+ -1.7963174279 -0.6209580933 1.3058749022 2.3060040147
+ -1.9477672245 -0.7730006690 1.3131639994 2.4729995722
+ -0.0156218144 -0.1322973005 47.8885849825 47.8887702728
+ -0.1574937357 -0.1291107618 102.1732978665 102.1735008247
+ 0.0390106947 0.0158037597 4.6413418252 4.6415326706
+ 0.2581892444 -0.2451551674 31.9230937694 31.9250791472
+ 0.0250615297 0.0095988782 1.5289616700 1.5291971773
+ 0.1976717780 0.5413168494 16.5152172762 16.5252685226
+ 0.2091417338 0.2669040323 2.0089449242 2.0373604825
+ 0.0507601962 0.0020323585 0.5433944123 0.5457638824
+ 0.0639509121 -0.0880416119 3.7251952154 3.7267841951
+ -0.0420599485 -0.0606762197 6.4042204729 6.4046460096
+ 0.0250092302 0.1056163571 259.5938319827 259.5938546725
+ 0.0921031898 0.2014274202 232.2315446471 232.2316502658
+ -0.0470796168 -0.2999783786 1.1883633686 1.2265443382
+ -0.0509327620 -0.0453094091 0.1346597841 0.1509315946
+ -0.1754935469 -0.3777076648 1.8424931133 1.8889790728
+ 0.0232906175 -0.0354550165 0.1390775618 0.1454031611
+ -0.0158227793 0.1250411973 0.0322400404 0.1300964318
+ -0.2343197697 0.2807017982 -0.0101912019 0.3657910805
+ -0.0186375335 -0.0667458852 -0.0292603026 0.0752232421
+ 0.0197834751 -0.3406179776 0.1336657937 0.3664403593
+ 0.1084839559 0.1936565524 -0.0449893888 0.2264854832
+ 0.1181317556 0.4076266284 -0.2577804790 0.4965534767
+ -0.1967163525 0.7538579046 -21.5418108004 21.5558950551
+ 0.0197822508 0.1204070754 -2.9354157599 2.9379507968
+ -0.0272625844 -0.0261807630 -1.2504004461 1.2509716050
+ -0.5331086975 -0.0782313848 -36.1995163293 36.2035261751
+ 0.2039348012 0.2591402378 -14.2618556179 14.2656674829
+ 0.1970852621 0.0916363309 -7.7291757699 7.7322311075
+ 0.0793395211 -0.5009379458 -84.3514750422 84.3529998007
+ -0.0023377875 -1.4179549977 -232.5690086011 232.5733311528
+ 0.0560235323 0.0667882445 -33.9913030116 33.9914147945
+ -0.0207085596 -0.0347862251 -5.5662964416 5.5664436583
+ 0.1409440776 -0.0540501123 -13.4189838513 13.4198328696
+ -0.0014368128 0.0055585717 -10.1116489344 10.1116505643
+ -0.1598536646 -0.4774457411 -42.5353654825 42.5385743078
+ -0.3855776527 -0.1873519218 -138.8257458712 138.8264779044
+ 0.5974547588 0.0769469474 -38.7917583159 38.7964352262
+ -0.0074358913 -0.0006172467 -0.6079667528 0.6080125377
+ 0.1252656041 -0.2402478309 -3.3847025430 3.3955296783
+ 0.1248647331 -0.2033145426 -5.0203593757 5.0260258919
+ -0.1052461177 0.0185647119 -6.1692544402 6.1701800413
+ -0.1093340904 -0.1111621930 -14.4286030754 14.4294455085
+ 0.1171182407 0.1159223666 -34.8142258784 34.8146158702
+ 0.1158342892 0.2915700572 -43.2642950928 43.2654326288
+ 0.0299853482 -0.7774917424 -61.2690435179 61.2739837625
+ 0.1201097464 -0.5754785211 -51.6346104035 51.6379569058
+ 22.6406284854 1.7532021511 -29.7886765653 37.4603879914
+ 24.4048965876 1.4158108072 -32.3786564483 40.5709301209
+ 20.4395987245 1.7079904788 -26.8898402688 33.8197784878
+ 12.6291794710 0.9576387322 -16.2209096533 20.5858891346
+ 12.7041645655 1.5075174175 -15.7908881736 20.3233864100
+ 4.0768267151 -0.2619864019 -4.8947026900 6.3770484668
+ 2.1249225947 0.1512351235 -2.5023584093 3.2892925515
+ -0.1198055268 -0.1279411912 0.1936840047 0.2612198429
+ -0.1570950393 -0.0685993877 0.0521210288 0.1791684375
+ -9.1052969319 -2.5454777710 7.7266383706 12.2200847285
+ -1.5232975332 -0.5348432000 1.1400853089 1.9764329320
+ -1.8581287297 -0.5084877931 1.4311016459 2.3998446060
+ -1.1289602375 -0.5849941481 0.7981855005 1.5012892674
+ -2.1831324590 -0.9297726314 1.5420706460 2.8299339846
+ 10.6344378496 0.7788514150 -13.9928142066 17.5925190727
+ 70.3551275596 5.2342707822 -92.0254585533 115.9565719849
+ 4.3416613047 0.1498283939 -5.5029842602 7.0110845951
+ 5.9903884006 0.3390025477 -7.4596707845 9.5732107535
+ -5.2901653076 -1.5377502137 4.0813205116 6.8562162903
+ -1.8177486675 -0.5450526149 1.3104707687 2.3062146923
+ 0.0691898478 0.1150125225 19.0602028093 19.0606753880
+ -0.0395827659 -0.0078716364 6.5545495196 6.5546737648
+ 0.2224916142 -0.2740624339 46.1218019952 46.1231528846
+ 0.1181642581 -0.0269374811 15.8771742790 15.8776368363
+ -0.1698735255 -0.1296597140 -40.6199969225 40.6205590636
+ -0.2530201568 -0.2411228773 -41.2274578320 41.2289393355
+ 0.0648183836 -0.0156028744 -10.0372234046 10.0374448216
+ -0.0428130498 0.0445304881 -4.0344227510 4.0348956437
+ 4.5715885091 0.2681235761 -5.6878120031 7.3022268611
+ 8.0990135780 0.5073959751 -10.3631924806 13.1623413572
+ 1.2620488289 0.0899943293 -1.5962763168 2.0369006617
+ 0.5825438336 0.1340829343 -0.7638237083 0.9699289710
+#SUBSTART
+ -0.3082973996 0.3526296841 -6.9327362519 6.9499429281
+ 0.6690626009 0.5368384672 -5528.5689501827 5528.5690963499
+ -0.1057286013 0.1031242003 -0.3795574451 0.4305308082
+ 0.6981029839 -0.4200467388 -5.0429588383 5.1102544622
+ -0.4565637547 0.1198090169 -1.3089610038 1.3984503413
+ -0.2337909081 0.4233406440 1.9576068831 2.0212817674
+ 0.5803392891 -0.4845220564 7.5182551239 7.6142016006
+ -0.2522963456 -0.2000469578 4.1146718431 4.1566618299
+ -0.1114806505 -0.0852365488 5.2549817372 5.2799779566
+ -0.6270325704 1.5125723404 288.1518631002 288.1580427537
+ 0.2192386923 1.2762123441 205.2950727443 205.3013065434
+ -0.1043600655 0.1127191698 44.5362980162 44.5367816238
+ 0.0691975897 0.2154904509 38.3579748570 38.3588964825
+ 0.4301912137 0.0409499394 -65.8095338258 65.8176592985
+ -0.2251192764 0.5787625765 -223.1587243218 223.1596320249
+ -0.0467102949 -0.0938859832 -1.2851318119 1.2894030415
+ -0.0530640360 -0.2519961916 -1.4631891483 1.4856784162
+ 0.0391549169 0.2568981383 -9.9324855063 9.9368645899
+ 0.0601824974 -0.0592446810 -2.5401174735 2.5453503549
+ -0.2654691833 -0.1313668848 -9.5084312417 9.5140672484
+ 0.6250171281 0.1947763547 -31.1108753922 31.1180756425
+ -0.5434222111 -0.0254941262 -7.2539901743 7.2757000270
+ 0.2199768777 -0.1950006866 -223.6420863011 223.6423230517
+ -0.5177768955 -0.0788433627 -297.3497185495 297.3502125616
+ -0.0155568684 -0.1006867147 -0.8466043566 0.8527125936
+ -0.1708519507 -0.1313605845 -0.7602234276 0.7901807718
+ -0.3592890410 -0.4493149483 -2.7570327912 2.8164165796
+ 0.2532844913 -0.0846784072 -0.7942733959 1.2589620640
+ 0.1090043844 -0.1232071638 -0.1312863680 0.9628550547
+ -0.0968391125 -0.1210455236 0.0383235859 0.2120809153
+ -0.2014686680 -0.0388301343 0.0839693573 0.2216940605
+ -0.0011245018 -0.0102083206 0.0694524232 0.0702076449
+ -0.2974479753 0.5842563351 4.1757961444 4.3298331141
+ -0.1219527927 0.0512516401 1.0656763161 1.0828873486
+ 0.2590296065 -0.0501118637 6.0454434249 6.0528070781
+ -0.2185263263 -0.0239825996 6.1920421847 6.1975152378
+ 0.1168449117 0.2999040639 46.0804609472 46.0817963633
+ 0.1703183898 0.1997687022 5.7696459986 5.7773013270
+ 0.2092895897 -0.2549820802 40.9570409986 40.9586072168
+ -0.2805553239 0.4751089699 69.9467145897 69.9488907826
+ -0.4488364251 0.8102894037 97.4452607124 97.4496632029
+ -0.0409971592 -0.0543754982 118.6751570360 118.6751765745
+ 0.4969805662 0.0414840377 934.4906642756 934.4912696866
+ -0.1165838445 0.0708762403 656.9344363349 656.9346359409
+ 0.3318956969 0.3196615043 383.5883430911 383.5886452613
+ 0.2078375547 0.0130994046 22.2785615301 22.2799719856
+ 0.1675768325 -0.1586869037 44.4161044264 44.4169233032
+ 0.4620363743 0.0451244754 29.3395967337 29.3474205219
+ -0.1620934259 0.1360067711 21.6539922688 21.6554758221
+ 0.0200065018 0.1719939214 4.0207997428 4.0269458061
+ 0.4545381296 -0.2258403740 12.3537438946 12.3740146257
+ -0.1752335520 0.0546539107 3.7805977152 3.7876236240
+ -0.1284194847 -0.0082911849 0.1856946897 0.2259265933
+ -0.2269144358 0.3109317311 4.2880777847 4.3053199405
+ 0.5642640348 0.2130334138 1.9210013450 2.0134605295
+ 0.1148543578 0.0673343761 0.2633162081 0.2950607855
+ -0.1024104242 -0.2936835368 3.8118398010 3.8270537452
+ 0.6215198375 0.0083984402 1.3183619156 1.4642115174
+ 0.1409958292 -0.0184453525 1.9907074243 2.0006538653
+ -0.1189394310 0.4307549882 0.1278924064 0.4853171135
+ 0.3315739835 0.0316740478 0.3846264796 0.5088045604
+ 0.1165454980 0.0878511312 0.1118713897 0.1838909519
+ -0.0607285582 -0.2522764364 -0.1599392950 0.3048145932
+ -0.0363400324 -0.0627189953 -0.0611131179 0.0948121491
+ -0.1920675146 -0.3269995479 -0.3650187058 0.5263625653
+ -0.1151860158 -0.1208396166 -2.9911564641 2.9958115802
+ -0.0860305998 0.0245133628 -2.3575480100 2.3592445377
+ 0.1697061657 -0.0307822327 -8.2784718611 8.2814445521
+ -0.6266285120 -0.0627166990 -9.5198865310 9.5417145223
+ 0.0103584989 -0.2559490774 -14.2730624965 14.3062476576
+ -0.0457096711 -0.0411404743 -14.6852382140 14.6853669792
+ -0.1486196758 -0.4183913684 -55.8301228644 55.8318883632
+ 0.0180620010 0.1443028929 -62.7338677778 62.7341916001
+ 0.3267598942 -0.3691756277 -292.0349296085 292.0353791134
+ -0.0652039287 -0.1888525369 -4.1076523402 4.1425113168
+ -0.5645121418 0.2577074235 -6.8960482024 6.9253193189
+ -0.1347125028 0.0079428743 -2.4124359454 2.4162073045
+ -0.1579009232 0.1622326954 -3.0882226491 3.0965095316
+ 0.0701633759 -0.0628032962 -3.0245492666 3.0260147752
+ 0.0710614294 -0.1690634449 -2.3966355957 2.4036418938
+ 0.9662639783 -2.4082716494 -22.2528490395 22.4040667865
+ 0.1649238084 -0.1601888647 -0.9295354794 0.9676654005
+ -0.0490984402 -0.2890082703 -0.0622552585 0.2996867604
+ -0.0178295819 -0.0000738384 -0.0370062113 0.0410774770
+ 0.0952392472 0.0649827866 2.1964249720 2.1994490070
+ -0.0212870557 0.1216759892 3.2500111195 3.2523576775
+ -0.0531545566 0.2514461363 4.6565237712 4.6636106396
+ -0.0860404247 0.2324785652 7.4752400008 7.4793490565
+ -0.0251969949 -0.0064395110 0.5862253044 0.5868018945
+ 0.1707525241 -0.0485609847 6.3582490340 6.3607267959
+ 0.7832413655 -0.3590589533 2048.2399955931 2048.2401815748
+ 0.9930276792 -0.2942908563 1215.8356025386 1215.8360516909
+ 0.0782534660 -0.0040238885 81.0043308152 81.0043687132
+ 0.5331570064 -0.1512886647 314.8860360344 314.8865237417
+ -0.0134448022 0.0150325216 2.4007364944 2.4008212042
+ 0.2784410728 0.0246739548 40.1448989340 40.1458721247
+ 0.3808070604 -0.1522780841 5.1773633696 5.1954570423
+ 0.1702927541 -0.3305579025 9.8308817263 9.8389015368
+ -0.0353565912 0.1032102632 0.5266203087 0.5378023768
+ -0.3429014599 0.2443279587 2.3670643373 2.4042194450
+ -0.0726116937 -0.0898767503 0.0967808823 0.1507210254
+ -0.2510714294 -0.0825859679 0.4395198510 0.5128693831
+ 0.1843546062 0.0576364307 -2.4742568232 2.4817847220
+ 0.0000130928 0.0358577392 -1.3250786808 1.3255637623
+ -0.1212668256 0.0537325299 -3.9957268437 3.9979276929
+ 0.0318079311 0.0450874036 -1.2178116826 1.2190610784
+ 0.0622319628 -0.1541876038 -3.2139335791 3.2212568153
+ -0.0507988274 0.1739265681 -1.2870386027 1.3072027852
+ -0.2026498010 0.2651515678 -3.6695723946 3.7181728421
+ -0.1493897792 0.1998000393 -5.4503443048 5.4783328999
+ -0.0177097529 0.0958778668 -3.6533025659 3.6572675078
+ -0.0836458779 0.0841317549 -1.0361534362 1.0522207531
+ -0.1240667919 0.2044164229 -5.3653603089 5.3724993878
+ -0.1295569079 0.0823200645 -1.0202891273 1.0317710447
+ 0.0346954250 0.0141530277 -0.2253493376 0.2284434387
+ -0.1389431161 -0.2356845246 -1.3379067938 1.3655940002
+ -0.1189608788 -0.0082394424 2.6966868747 2.7029279429
+ -0.2254735033 0.2868632385 18.8910665642 18.8951053063
+ 0.0817688880 0.0319555331 9.0337228391 9.0341494144
+ -0.0471989130 -0.0135119861 8.1733428063 8.1734902545
+ 0.0446390280 -0.0215684815 13.3578091091 13.3579011089
+ 0.1565175396 -0.3602369847 54.7087080652 54.7101179544
+ 0.1008993288 -0.0209708345 9.9643914895 9.9649243954
+ -0.0065268827 -0.0602091511 16.0979279382 16.0980418575
+ -0.1369315779 0.1287981995 -1.4358865929 1.4548502761
+ 0.1625749144 -0.0884474407 -0.6493380567 0.6894731680
+ -0.4119387570 0.2340747832 -2.1937807007 2.2443614474
+ -0.3680539780 0.3228902751 -2.7593930876 2.8024939023
+ -1.1964205111 -0.9112428035 -10.2987367960 10.4089021930
+ -0.1612282982 -0.1990282498 -1.0574747833 1.0969683271
+ -0.9921956543 -0.7866778652 -7.7796107116 7.8832186884
+ -0.1335105058 0.1166237637 -0.9970872202 1.0222958804
+ 0.2543787809 -0.4637711505 -5.8702530223 5.9150095705
+#SUBSTART
+ 0.2432137666 0.4778117478 -16.6329281780 16.6421524017
+ -0.4270183858 -0.1602180607 4.8857055918 4.9089320064
+ -1.3370441829 -1.0083227420 40.1047133820 40.1399042990
+ 0.5615519107 -0.2146556328 426.1019728097 426.1034327973
+ 0.3099920210 0.4885953622 1038.0811205127 1038.0817058093
+ -0.1316898739 0.0036269003 204.1134419965 204.1135322285
+ 0.7006371794 -0.1386878413 0.5343847896 0.9028696820
+ 0.3327449099 -0.5738770918 49.2417396315 49.2551699602
+ -0.2602486967 0.2357841258 35.6183089446 35.6324297150
+ 0.1305041103 0.2456233442 7.2708982240 7.2775547349
+ 0.5174040021 -0.1906363414 -1.0287907197 1.1755591205
+ -0.4667792785 -0.1218529366 -6.3849920565 6.4047118889
+ 0.5593003100 -0.0934155514 -10.5108919317 10.5271017990
+ -0.4866546289 0.4843079375 -13.6884267610 13.7063450227
+ -0.6486670998 -0.1373089205 -80.9857245804 80.9885589966
+ 0.1719705071 -0.0266366148 -2009.1329261122 2009.1329384965
+ 0.0764100890 -0.3810504101 -1601.1344839057 1601.1348067486
+ 0.0465810917 0.0238121948 -322.3359211801 322.3359556419
+ -0.3975784519 0.2605802920 -8.0058299180 8.0211447546
+ -0.4870528842 0.5754250793 -4.0260982371 4.0984486496
+ -1.0728667503 -0.2938205053 30.0281355648 30.0490562055
+ -0.0937236046 0.0112006528 0.6910883689 0.6975046253
+ 0.3264712878 0.2447711299 18.5248470779 18.5293404002
+ 0.0241101116 0.1010134275 22.9372455170 22.9379052379
+ 0.0519518188 -0.0731164659 37.9970649906 37.9974271851
+ 0.1164662234 -0.0699010498 0.5254249033 0.5603585030
+ 0.8228839425 1.1649438842 4.0629445247 4.4073282419
+ 0.1196717002 0.5690728294 1.5955565839 1.7039500575
+ 0.8779813479 -0.2641224450 1.3726672602 1.8993733455
+ 0.0875898150 -0.2572473415 0.4243161215 0.5228500036
+ -0.4787375843 0.2609389612 3.7958417908 3.8373393780
+ -0.2288499553 -0.4253435815 1.8489695713 1.9161048314
+ -0.2423463459 0.3190013986 1.5146494479 1.5729387714
+ -0.0881570969 -0.4616967140 6.4843550922 6.5200795586
+ 0.2447710229 0.0785032238 4.9023538565 4.9110720549
+ -0.0175885168 0.2782303101 6.0855783761 6.1122549899
+ -0.0405297482 0.1071305103 0.8441603909 0.8632532404
+ 0.1679323066 -0.0336574681 7.0943136669 7.0977531849
+ -0.0211790743 0.0330018607 14.1872685188 14.1959066868
+ -0.0657846552 0.4677779554 19.4244111784 19.4306555023
+ 0.2212945876 -0.1305113104 47.3144372526 47.3153406076
+ 0.2060671829 0.3063974138 226.4351359641 226.4373809527
+ 0.0234931592 0.0440870733 16.0825656622 16.0832488528
+ 0.1101267941 -0.0410702813 1060.9393851535 1060.9394008446
+ -0.0656379274 -0.4836620114 -0.9296569409 1.0592351445
+ -0.6437117600 -0.7677034102 -1.0547226493 1.4613873572
+ 0.0314183788 0.0262265346 -0.7724932815 0.7735766385
+ -0.0343856307 -0.1121560133 -3.1246889334 3.1268901921
+ 0.3184488979 -0.7785851667 -7.2472117357 7.2972023604
+ 0.0783485285 0.1566969120 -1.0058867509 1.0305243106
+ -0.0120070893 -0.1851019236 -6.9942008646 6.9980520440
+ 0.2288631596 0.0269271019 -59.2779621153 59.2858351257
+ 0.4152052634 -0.1787591642 -209.6155199728 209.6181131379
+ -0.0066410260 -0.1312777253 -393.2743938885 393.2744406215
+ -0.0863550745 -0.1471821359 3.7290900804 3.7329924468
+ -0.2061812997 -0.0843751124 6.3309651466 6.3348835487
+ -0.0212162227 0.1741539176 34.8475697920 34.8480114228
+ 0.0384445385 0.0360090092 3.7440917301 3.7444622463
+ 0.0631612122 0.2546274859 -0.1431420419 0.2988547129
+ 0.0888342784 0.1869223438 0.0032034805 0.2069824966
+ -0.1827699597 0.2928563138 0.7249566199 0.8029519160
+ -0.0311143480 0.0914791663 0.0856464460 0.1291195346
+ -0.0455383818 -0.3103244268 18.1945960664 18.1978345085
+ 0.0292933444 0.0793472647 3.6353947387 3.6390560287
+ -0.0351580022 -0.1242651446 9.8919193467 9.8927623176
+ -0.2726636559 -0.3701340436 53.6092192932 53.6111904168
+ -0.4358230341 -0.5382815800 -0.8545658255 1.0999870574
+ -0.0683583035 -0.1907093284 -0.2951234670 0.3579675493
+ 0.0263954737 0.0749070588 -2.6479045162 2.6490953390
+ 0.1093088813 0.3562850463 -26.6985929862 26.7011938854
+ 0.0470136242 -0.0304234301 -2.7297497771 2.7303241038
+ -0.0745379248 -0.1647695315 -6.4636740705 6.4662034758
+ 0.0206377871 0.0427147851 -23.9421419297 23.9421889277
+ 0.1429057552 -0.0925302424 -78.7947635758 78.7949474958
+ -0.0204485128 -0.0021248565 -31.6529337682 31.6529404447
+ -0.3364749847 0.2996765280 -2066.7973579644 2066.7974070794
+ 0.0036143267 -0.0292699453 75.9090473046 75.9090530338
+ 0.2151848130 0.0909939023 819.9023792080 819.9024124952
+ 0.0850142555 0.0755016666 377.2922105464 377.2922276789
+ 0.5783062354 0.7718218467 2249.2184081187 2249.2186148898
+#SUBSTART
+ -1.5803470634 0.3618074662 0.1918687127 1.6385038515
+ -0.1140294032 0.2406242249 -2.3844980883 2.4033754681
+ -0.8202934467 0.4488533034 -15.5334840696 15.5622285599
+ -3.3702169981 0.4473847253 -45.2888532340 45.4164972531
+ -0.5268680744 0.0379547576 -58.5431956313 58.5531175690
+ 0.5230289499 -0.3293628654 -126.9330737249 126.9346553319
+ 0.7931804407 1.2145665911 -1293.5845641206 1293.5857187021
+ 0.0764071264 -0.0850050989 0.1207770236 0.2170962693
+ 1.3800809824 1.2437800053 0.8168574950 2.0342930397
+ -0.1931482227 0.5658064952 3.1049555102 3.1650705729
+ -0.3734963899 0.2148972364 4.7822300853 4.8036324536
+ -0.3618375739 -0.0529464949 2.4973392902 2.5278277387
+ -1.3145913968 -1.0119969851 163.8650269038 163.8761182187
+ 0.2923010560 -0.1562397288 43.3272805810 43.3287730393
+ -0.2882922986 0.1408430403 20.0125984652 20.0156570296
+ 0.0688188472 0.2994677675 33.9164310685 33.9181101063
+ -0.1909480340 -0.0069830773 490.0353000439 490.0353571722
+ 0.1082536807 -1.9104702363 4.4044462488 4.8929656380
+ 1.1306460205 -1.9674778358 5.9561296717 6.4424499003
+ -0.5558807077 -0.3790110903 3.6657881955 3.7296294249
+ 0.1777938678 0.0279246812 27.9407017798 27.9570305466
+ -0.0077855433 -0.2919464833 1.2703894593 1.3109776989
+ 0.1827081541 0.2318751974 26.1855037202 26.2040177309
+ -0.4038052645 1.9178087844 151.6801701456 151.6936343607
+ -0.2268925679 1.1548032700 156.3559456980 156.3611538935
+ -1.5148269752 0.2414455079 -0.0563646640 1.5413154961
+ -1.6883796132 0.2842269608 0.2076392388 1.7303191966
+ -0.8788879223 0.0371725558 -0.0089262986 0.8907217538
+ -1.1308672008 -0.8290802136 -0.1475120742 1.4168536351
+ -1.1472380985 0.4953874005 -0.3529106725 1.3891547193
+ 0.0621632099 0.1302829778 -0.1501455688 0.2507217495
+ -0.3108117329 -0.4482916664 -0.3616302084 0.6691976868
+ 0.1414528564 -0.0300727140 -0.3896141412 0.4383973570
+ -0.5805536150 -0.8834323254 -3.1134401274 3.2909701282
+ 0.1088244439 0.0811110442 -0.0822330305 0.1586947775
+ 0.1950315976 -0.0328796967 -0.1811876222 0.2682300374
+ -0.3698756381 -0.0374892757 -2.5846446440 2.6112451760
+ -0.5598377140 -0.2004018330 -4.8291580018 4.8656290618
+ 0.1488001953 0.1438482251 -0.6089589737 0.6431678176
+ -0.0213462742 -0.0062600377 -0.1020841478 0.1044797814
+ -0.5459121733 -0.2534454864 -5.4898372591 5.5244952378
+ -0.6582048455 0.0926265311 -10.8914294837 10.9125858199
+ -0.1835957492 -0.0861526121 -3.2389323569 3.2452754096
+ -0.5342071584 -0.0141654536 -8.7404632558 8.7567845625
+ -1.3109495820 -0.2003460134 -10.6076263662 10.6911152010
+ 0.9835157168 0.2766903626 -20.0359633149 20.0839856219
+ 0.8679114871 0.1923576549 -12.3795300329 12.4114074807
+ 0.0456877691 0.2669789884 -3.8655682652 3.8750462146
+ 0.1780505994 0.1133153626 -29.9152959566 29.9160404225
+ 0.0254843574 0.0352839290 -28.1942998769 28.1946789260
+ 2.1906846691 0.7550669096 -358.7597316533 358.7684415217
+ 0.3602212637 0.0855902140 -39.1537209452 39.1557202549
+ 0.0819831719 0.1790956331 -49.5837411975 49.5843288491
+ -0.4435766372 0.4510387584 -966.0270930754 966.0274263150
+ 0.1273559900 -0.1321484041 -247.3111374444 247.3112449254
+ 1.2728598206 0.7059121281 -843.0366096258 843.0380105869
+ 0.0367402892 0.0525868059 -31.4993474765 31.4997220059
+ 3.7247370659 -1.5439560346 4.1385146493 5.7796409693
+ 1.1465204552 -0.2437184064 1.1354012785 1.6378411595
+ 1.6279807422 -0.6886580687 1.7560775048 2.4955679154
+ 0.6207420427 -0.1835569698 0.6323406717 0.9156136493
+ 0.1196631811 0.0623502055 0.1927918921 0.2353200771
+ 0.0475539188 0.0565773175 -0.0046740476 0.0740554843
+ 0.1470755330 -0.0897908164 0.0381231796 0.2250039218
+ 0.2898956592 -0.0297713498 -0.0130106451 0.3233804080
+ 0.5834333898 0.4565747840 -0.5506222321 0.9230600719
+ 1.7214797608 0.6406417494 -0.6253978245 1.9403702886
+ 0.2796145958 0.0754680404 -0.1852922665 0.3438211328
+ 0.2053514251 0.0011021420 -0.2701134872 0.3393106519
+ 0.5047445865 0.1853662972 0.1661542071 0.5798402945
+ 0.8940447273 0.8470292979 -0.8903194962 1.7859994413
+ 0.4176241027 0.5194496050 -0.3111041938 0.7486677418
+ 0.4708375566 0.6912782064 0.0402286912 0.8489120660
+ 1.8334876479 1.9078471306 1.5570843054 3.2107414950
+ -0.1588920957 0.1083428262 0.0899225222 0.2122991429
+ 0.3526360094 0.3009623803 0.8219090688 0.9436445448
+ 0.0686216803 -0.1296191526 1.4675262279 1.7479971059
+ 1.1273043911 0.5350080987 2.8296431959 3.2321388054
+ 0.2324695956 0.1496347133 1.1307326092 1.1723773619
+ -0.0721462279 0.0135969859 0.1812689339 0.1955719372
+ -0.3116846693 -0.2098423944 0.6736250075 0.7713311963
+ -0.2535306570 0.1615541571 3.1945432575 3.2116917580
+ 0.2020368021 0.0674800690 4.5398512779 4.5469882164
+ 0.2028248250 0.0641991975 3.3580347492 3.3676604057
+ 0.3345864677 -0.3008974490 6.8496318293 6.8658155641
+ 0.0715307416 -0.2039722186 4.3208822814 4.3262853584
+ -0.2351821502 0.1261458505 18.3005980821 18.3025439101
+ -0.0277558531 -0.2169735210 9.3126303867 9.3162445438
+ -1.1113614470 -0.6351967627 47.5068648765 47.5243126134
+ -0.6790399571 -0.2308289238 60.8034762730 60.8078661353
+ -0.6982179963 -0.5478939077 53.1897682535 53.1973554113
+ -2.0829349428 -1.6081975609 149.6781507905 149.7042301781
+ -0.1660280035 -0.1121326058 11.0473559984 11.0500539980
+ -0.9662390401 0.0862772566 66.8589067164 66.8660896774
+ -0.4709234800 -0.3829712309 40.8503546969 40.8548640280
+ -0.6645298236 -0.7478945989 71.6970837458 71.7040637890
+ -0.6613911057 -0.8444053240 35.4710778927 35.4875655012
+ 0.0213500253 -0.0132059871 2.7795168781 2.9337169070
+ 0.0393265476 -0.2134194273 0.4357912007 0.5064466258
+ -0.3658768858 0.0171166490 68.0983196892 68.0993047201
+ -0.0415493233 0.0207912185 3.4566076431 3.4569198746
+ -0.1081825334 -0.0137533100 2.3237459315 2.3304865486
+ -0.0140747355 0.4276304639 4.0735285562 4.1260606198
+ -0.0628733981 -0.2859713267 2.0155579544 2.0414911992
+ -0.2780411473 -0.1126471810 2.5345952952 2.5561004211
+ -0.1900210328 -0.1872005663 33.1371851431 33.1382587239
+ 0.3446761241 -0.0475474809 47.6703838809 47.6716536503
+ -0.0685155579 0.1864363190 30.6011303327 30.6020932341
+ -0.1565715568 -0.3437690920 204.9317805762 204.9321762480
+ 0.0759360835 -0.0166011758 5.1853514835 5.1859340427
+ 0.0013951444 -0.0347134399 0.3249857113 0.3268373936
+ -1.8232742728 -0.0873012518 1604.5052129822 1604.5065263904
+ -0.0457552055 -0.1961524512 586.3902763303 586.3903275326
+ -0.8605925319 0.0769501770 1159.0801488138 1159.0804792571
+ 0.0390871276 0.0020051727 1.2343429054 1.2428250148
+ 0.4656548916 -0.0201753841 5.2654840482 5.2879148605
+ 0.3419009253 0.2644209887 22.2949554068 22.2995814104
+ 0.1070575679 -0.0445477287 3.3353565836 3.3402887821
+ -0.0113343470 0.0672016543 87.8677381082 87.8691509333
+ 0.6078508991 0.0840622148 136.0411617013 136.0426172418
+ 0.1971958851 0.0921182441 140.7800134466 140.7802508798
+ -0.2930655621 -0.2597222456 0.3298558185 0.5306860790
+ -0.2522819114 0.4457011858 0.5485413940 0.7633303058
+ 0.5051292238 0.0804680601 0.7299801743 0.9022092225
+ -0.6785122966 -0.3075139232 1.4328251680 1.6209292078
+ 0.8611255773 -0.0634822416 1.0167969891 1.3412394107
+ 0.1090979855 -0.0998911214 0.0764202714 0.2172566440
+ -0.1463331353 -0.1152770137 -0.3546468117 0.6388677221
+ 0.0111082171 -0.2090339707 -1.0067586782 1.0282906347
+ 0.1614640841 -0.2298652823 -1.4534657709 1.4803619307
+ -3.3978366941 0.0389041279 -37.4972747308 37.6509285406
+ -0.6944393590 -0.0329431139 -8.1904290080 8.2198819096
+ -0.0364103128 -0.1217542860 -0.8451499938 0.8546509984
+ -0.0076143624 -0.0160738304 -0.0053634857 0.0185772312
+ 0.1751499942 0.2107686374 -2.3041298992 2.3203696971
+ -0.0053448322 0.0910370147 -0.4952925786 0.5036179541
+ 2.7091969150 0.5749015882 -404.8701265106 404.8806890829
+ 1.5115330580 -0.4890597663 -414.8992534046 414.9025934635
+ 0.2239526698 0.9361908492 -660.2624301858 660.2631466338
+ 0.0685559513 0.1109700820 -242.8515350645 242.8516102011
+ -0.0479774473 -0.0262667073 -101.3567527020 101.3567674606
+ 0.0511257396 -0.1007701751 -79.6020434002 79.6021236021
+ -0.0984885269 -0.0580106351 -308.3700191817 308.3700403660
+ 0.0173398229 0.0364007344 -186.1792048701 186.1792092360
+ 0.0594054688 -0.0369523711 -40.5862099611 40.5862702585
+ -0.0561738620 -0.0904294222 -119.1438441236 119.1438916836
+ 1.8764176029 -0.7471859357 2.2612029601 3.0724492020
+ 0.1675630094 -0.1468804139 0.2206628012 0.3432536596
+ 0.6338999644 0.1993974115 0.7350047922 1.0006499498
+ 0.4317983412 -0.2150700461 0.4662827776 0.6709132290
+ 0.1601258583 -0.0047618980 0.2098395821 0.2639992734
+ 0.8886656959 -0.4874791200 0.1761013168 1.0287731943
+ 0.2797215487 -0.2458093245 0.0571217408 0.3767350025
+ 0.0174095619 -0.2303195109 -0.2543658490 0.3435871870
+ 0.1019808271 -0.1123515586 -0.2467494779 0.2896692367
+ 0.0124052292 0.1138007858 -0.1254582565 0.1698360464
+ 0.0373245677 0.4525771660 -0.1692064691 0.4846132930
+ 0.7810744212 0.6336127996 0.6779277394 1.2129008414
+ 0.3301502430 0.1675847278 0.2210561364 0.4312187836
+ -0.0269344235 0.1017704879 0.0379450612 0.1119040796
+ -0.1119440036 0.1750065312 0.3088853728 0.3722484647
+ -0.0345625916 -0.0069342740 2.0355705081 2.0358757207
+ 0.0357047634 -0.0705524055 0.7811935300 0.7851852032
+ -1.6630429762 -0.9599357860 150.0735616799 150.0858457814
+ -0.2928545484 -0.2089161333 24.6672315931 24.6698545639
+ -0.0682501855 -0.2239782582 18.1270317174 18.1285438806
+ -0.0404989171 0.0086625415 2.5719862081 2.5723196257
+ -0.0794289698 0.0128505454 4.5053710232 4.5060894525
+ 0.0088421723 0.0019602912 11.7156846631 11.7156881638
+ 0.1748613941 -0.3680121771 5.0315564142 5.1344834221
+ 0.0726515345 -0.0783243294 1.5983549450 1.6079898200
+ 0.1070308925 0.0837328318 1.7317537716 1.7370774089
+ -0.0153125309 -0.0284660441 0.7184956394 0.7192223391
+ -0.2487377862 0.2756162390 7.4443381642 7.4535901082
+ -0.0012548461 0.0641138902 2.1625315671 2.1634821340
+ 0.1405565508 -0.2102028894 40.2241636536 40.2249584590
+ 0.0351296826 -0.0351741318 2.5610885599 2.5615709879
+ -0.0223578891 -0.0889632620 215.1455349551 215.1455545101
+ -0.1228515957 -0.1432169452 182.0551216093 182.0552193917
+ 0.1870949873 -0.2098432634 4.9904031699 4.9983159692
+ 0.2970127269 -0.3017105308 5.1053401382 5.1228647973
+ 0.0633159916 0.0227993697 0.8165224795 0.8192909651
+ -0.0061391732 -0.0694728644 2.2595427863 2.2606188912
+ -0.0008816022 -0.0236496602 1.0412774273 1.0415463332
+ 0.0573200170 -0.0631054194 0.3569763113 0.3670149386
+ 0.0701828930 0.0372517282 3.5311292777 3.5320231179
+ -0.0468441667 0.0567776016 1.4373915853 1.4392750402
+ 0.0657746035 -0.0569882175 9.6570422111 9.6574343499
+ 0.0784636826 -0.1131835226 4.8675177278 4.8694656677
+ -0.1131004849 0.1818258451 57.3384280748 57.3388279131
+ -0.0663488598 0.0853358518 12.3120463597 12.3125208606
+ -0.0803858667 0.0765038553 16.7037338632 16.7041024812
+ -0.0351295683 0.0961702568 47.3135885372 47.3136993171
+ -0.4305021916 0.4214763407 88.7200563060 88.7221018990
+ -0.0428792458 0.1291798035 20.3993798138 20.3998338925
+ 0.0033495071 -0.1370995103 -0.1170956564 0.1803299411
+ -0.0329990424 -0.0206688606 0.0275749376 0.0477128472
+ -0.2480591818 0.3016464272 0.2469475350 0.4620681873
+ -0.0066589135 0.1010323879 0.0313222735 0.1059857035
+ -0.0517746070 -0.0246653789 0.1075891770 0.1219197353
+ 0.0846492210 -0.0158047795 0.2170410657 0.2334996914
+ -0.0860224763 -0.0263544891 0.0195252614 0.0920633551
+ -0.4990683828 0.1310934071 -0.0458145465 0.5180286717
+ -1.8810564225 0.3627144778 0.1412675165 1.9209090474
+ -0.1286295578 0.0294094828 -0.0254659617 0.1343837640
+ -0.1742775409 0.0830251695 0.0562867841 0.2010821775
+ -0.1369732812 0.0019423650 -0.0577388919 0.1486581050
+ 0.3176360078 0.0098038859 -43.8847985420 43.8859491389
+ 0.1243511886 0.0023711217 -33.4459578617 33.4461891121
+ 0.3050997170 -0.0320147438 -15.7358814408 15.7394903121
+ 0.5292133958 -0.5838864625 -51.9590873401 51.9652501892
+ 0.0255063739 -0.1783235852 -0.0678304094 0.1924859490
+ 0.0521927220 -0.0015159572 -0.0527890472 0.0742499957
+ 0.0335626829 -0.0206258363 0.0214811464 0.0448700173
+ 0.0505213180 -0.1175169088 -0.1705477701 0.2131881078
+ 0.2259300153 -0.1584064978 -0.0919790401 0.2908558649
+ 0.2182112017 -0.0119352129 -0.0729811800 0.2304014550
+ 0.5331017953 0.2406414927 56.1952952448 56.1985123761
+ 0.1960607193 0.2981766700 68.5121866224 68.5132581673
+#SUBSTART
+ -1.4073086856 0.2244084049 0.7586594861 1.6204693362
+ -0.2715875076 0.3381806225 -0.3047122252 0.5481379688
+ -0.1434263522 0.0154243305 1.3289698392 1.6331933305
+ -0.3718276920 0.3084898354 1.5948857780 1.6722925106
+ -0.4297409867 0.4160429242 -3.0332116872 3.0947733285
+ -0.7926277650 0.5495319793 -3.3130761171 3.4534326855
+ 0.1381853144 0.1769882476 -2942.7730168376 2942.7731749828
+ -0.3042028248 -0.2524771513 -1425.4500871803 1425.4501488323
+ 0.2972749356 -0.3670605216 303.0838453360 303.0842455313
+ 0.2916080890 -0.1483834141 13.8516644720 13.8562311378
+ 0.2913379747 -0.9958179705 91.2644077427 91.2704121370
+ 0.0027885907 -0.7072888780 61.3065447519 61.3107835094
+ -0.4357703372 -0.5091103315 76.0465078154 76.0552643268
+ -0.3381816563 -1.9711726561 85.0551753848 85.0838735601
+ 0.7188800577 0.4113850229 458.3573101876 458.3580797895
+ -0.2903275900 0.6683921995 87.8156226089 87.8236583332
+ -0.6726632517 0.4928389766 83.7726981329 83.7821168887
+ -1.1045433173 0.7363925935 71.4515008046 71.4700080384
+ 1.0446936986 0.0386739562 22.9455328316 22.9884907752
+ 0.6637980758 -0.1165318498 7.7250445760 7.8109456439
+ 1.7261513373 -1.4701137154 5.6354807938 6.1465296831
+ 0.5341312442 -0.1593820988 1.4450189706 1.6255520984
+ -0.0853882078 -0.0914491157 0.0910301826 0.2083755404
+ 0.3648937796 0.2126945546 0.5445763932 0.7031569362
+ -0.3841295328 -0.4214105181 0.1382026204 0.6030937505
+ -0.0489399565 0.0659862265 0.8078117633 0.8238864796
+ 0.6081472190 -0.2305814981 0.0620175590 0.6680844481
+ 0.1057754186 -0.7796115934 0.1521013926 0.8133863131
+ -0.1931394774 -0.3083753011 -1.4599364649 1.5110567331
+ 0.1844528891 0.0799340123 -1.1006420764 1.4610328811
+ 1.0268184407 -0.8795911895 -0.9127564809 1.6372663037
+ 2.3811360695 -0.5868449572 -39.9372646672 40.0127327843
+ 0.1987071910 -0.4907348503 -4.1566771964 4.1925827769
+ 0.0427580057 -0.0403196998 -3.1556886126 3.1593202322
+ 0.1457056341 -0.0765693890 -2.9754707922 2.9832866479
+ 0.4250984119 -0.2671449863 -18.8160681230 18.8232827768
+ -0.2162042345 1.1108102277 -49.5473648164 49.5691920014
+ 1.8004625091 1.8539426095 -160.9400132348 160.9635033797
+ 0.6800951861 0.4608828499 -0.2292879631 1.2680165718
+ -0.4842635636 -0.3044188764 0.4782790854 1.1994685156
+ -0.1958316225 -0.1564639735 -0.4696270612 0.5503275033
+ 0.0242214596 0.7685691002 -0.7161183325 1.1609270291
+ -0.2448525069 0.4165125712 0.0620585056 0.5067213387
+ -0.1793392402 0.0351416866 -0.1245341425 0.2211475839
+ -0.1554687474 0.1475976208 -0.0537988679 0.2210201513
+ 0.3464038392 0.4726687358 0.0136933364 0.5861730641
+ 0.0070062933 0.0869944202 0.0234794673 0.0903792160
+ -0.1321265254 0.0351219547 1.1200982878 1.2332828442
+ 0.2585853238 -0.1699715449 20.2289993137 20.2374861423
+ -0.0668030997 -1.2628280592 186.3919879327 186.3963300139
+ 0.2309028894 -0.3838699762 34.3686783686 34.3718810206
+ -0.9944544957 0.5651682112 1.4104584660 1.8818578308
+ -1.4188406749 1.2466226515 1.7329240818 2.5670377002
+ -0.2344180284 0.8406508243 0.3038032475 1.0495796600
+ -0.5746128673 0.7198529691 -0.1547752653 0.9443534360
+ -0.5910482736 0.7124621376 0.5236310894 1.0726647481
+ -1.7545777209 1.7248032086 -1.2252209573 2.9047284324
+ -0.1376547378 0.1834074230 -0.1809580517 0.3237479128
+ -0.1623937702 0.0829088275 -0.0199579355 0.2304858225
+ 0.1079086074 1.0628009158 1.4161623620 2.0073608730
+ -0.0128872716 0.7555337672 0.9621790792 1.2313674190
+ 0.0367239000 1.1118253301 2.2619882288 2.6901462305
+ -0.1635483305 0.0723964146 0.3728829454 0.4364753981
+ 0.1940775460 0.8543822134 6.4707481537 6.5487321031
+ -0.0916205274 0.4564440170 0.1625984886 0.6977210691
+ 0.0172684216 -0.0474114177 0.0352085332 0.1525302154
+ -0.2916069220 0.1686583846 0.0192551822 0.3651448953
+ -0.2845411547 1.0902542292 -0.2780216810 1.1689284807
+ 0.0821992512 0.0482666276 -0.2209382615 0.2781724007
+ -0.2165311248 0.4202557578 -0.5661632982 0.7506805547
+ -0.2452901795 -0.2663369417 -0.8225781474 0.9095148334
+ -0.8708068062 0.2375344960 -5.0154039237 5.0959791648
+ -0.4656214132 0.0821960416 -2.1757027081 2.2264864167
+ 0.1583343417 0.0393639269 -0.5155504598 0.5584723306
+ 0.0806922830 0.8891298948 -7.3607920105 7.4160502979
+ -0.0644168292 0.1948967993 -3.9743606772 3.9821045776
+ 0.0872750546 0.0066353098 -1.7108242833 1.7187380474
+ -0.9958460119 0.4712635647 -15.0672844893 15.1081547614
+ 0.1367956641 -0.1249876171 -7.0635079538 7.0673162768
+ 0.1103147978 0.0339030942 -56.0455350216 56.0458276272
+ -0.1206291930 0.1451066612 -79.9158775442 79.9161003241
+ -0.3681603456 0.1513067369 -152.7221988009 152.7227175058
+ -0.0082546796 0.0840658125 -42.7213485566 42.7216600506
+ 0.2357582353 0.1517696000 -29.3151445204 29.3168175967
+ -0.0625245159 -0.0804413073 -36.9894249640 36.9898285894
+ -0.0738297296 -0.6002312138 2175.2652568998 2175.2655433198
+ 0.2845736213 -0.7229341665 407.5696090201 407.5703734234
+ 0.1347292020 0.1849934725 17.4769443067 17.4784426321
+ 0.7455304045 -0.2238021965 33.2974425675 33.3065396663
+ -0.3754948826 -0.9994709816 94.5263223575 94.5324549394
+ -0.1705928907 -0.4981694386 579.0085384013 579.0087778405
+ -0.2451430439 -0.3741365517 556.1585565822 556.1587364529
+ -0.8698398317 0.4428968185 353.7856611054 353.7870351815
+ -0.6803084172 -0.0215772354 214.4523318370 214.4554702199
+ 0.1147605945 0.3420667800 50.7604686098 50.7619427618
+ 0.0138363617 -0.0660850048 21.5928934391 21.5934500608
+ -1.1783357251 -0.0128872450 196.8041564599 196.8099271704
+ 0.0222661559 0.1588997441 17.9943270973 17.9955836910
+ -0.0291045947 -0.1954292887 15.8783190618 15.8801617025
+ -0.5032543791 -0.0439154148 6.7266544244 6.7470403189
+ 0.2125775021 0.0727782255 2.2173749224 2.2330958770
+ 0.2818969094 -0.3229013163 2.4917199986 2.5321689248
+ -0.0386025101 -0.2709770833 2.3472255885 2.3672487156
+ -0.1366767264 -0.3338381200 0.9760057606 1.0498549650
+ 0.1291841829 0.0887845717 0.1219844878 0.2427576023
+ -0.2367607858 0.0918027332 2.7526400727 2.7678494479
+ -0.4918229504 -0.9008479499 1.9534241940 2.2110546601
+ -0.0113849321 0.0044217848 -0.0101067997 0.0158529575
+ -0.0264249798 -0.1752600880 -0.1130546692 0.2102284384
+ -0.0093464343 -0.3541072918 -0.2037413839 0.4086442726
+ 0.2021554594 0.4588086728 0.2441414100 0.5748539301
+ 0.5371777257 0.0549079082 -0.2623176503 0.6163319901
+ -0.1039642276 -0.2506450354 -0.4232596724 0.5217854248
+ 0.5575016715 -0.3209493639 -0.1397161083 0.6729167733
+ 0.3322198700 0.0510629757 0.1473152330 0.3926309110
+ 0.4890294551 0.1899892112 -5.1765307604 5.2872023043
+ 0.2012864293 -0.1708344597 -1.5422866905 1.5709324173
+ 0.2159370145 -0.8374536557 -7.1766919044 7.2454471961
+ 0.1888827412 -0.2703934413 -0.9140742572 0.9817335868
+ 0.0961639038 -0.0748510316 -3.3126609902 3.3178385726
+ 0.9515906017 -1.0317363880 -14.1683500281 14.2462552317
+ -0.0757139284 -0.0103448175 -2.2637682670 2.2693536890
+ 1.0970490058 -0.2420135636 -18.5927362186 18.6331845947
+ 2.0023280462 -0.8149866993 -30.6361010514 30.7125982024
+ 0.0302028820 -0.1423387585 -3.0298500758 3.0365513009
+ 0.0369666684 0.2099644160 -1.6691905049 1.6885284473
+ 1.2792192769 -0.8677931730 -18.9208843752 19.0070955983
+ 0.5684792439 -0.3696018053 -4.1241786538 4.1818779870
+ 0.0478064433 -0.0899281926 -1.9600103648 1.9676109755
+ -0.0419350811 0.1372476457 -8.6818311922 8.7335639294
+ 0.2896088597 0.0503279976 -4.9854055763 4.9960138855
+ 0.3570761778 -0.3224608693 -11.5561691035 11.6042802681
+ 0.2938150888 -0.0318399166 -2.2681527894 2.2915797930
+ 0.0593179775 0.0181641691 -0.6054101853 0.6085803578
+ -0.3069871669 -0.0962606155 -6.3436924553 6.3518454951
+ -0.0725311020 -0.0768744831 -3.5201754769 3.5217617516
+ -0.2007497857 -0.1544957315 -11.7502809642 11.7538398802
+ 0.1580083280 -0.0153900567 -13.7337567341 13.7353834057
+ 0.0545720054 -0.2055421314 -27.4614015646 27.4625796558
+ -0.1246944612 -0.0401178502 -7.1365628077 7.1391292636
+ -0.0054318744 -0.5412320319 -184.7080896363 184.7088826740
+ 0.2230783438 -0.3063610017 -47.9887677568 47.9902641358
+ -0.4096785203 0.1505520196 -23.8371977856 23.8416018853
+ -0.0428569866 -0.3859390289 -45.2260497130 45.2279320563
+ -0.2607104349 -0.0047999644 -100.3311375294 100.3314763717
+ -0.4007609011 -0.1708944406 -188.8566308923 188.8571334268
+ 0.1393463890 -0.0004270359 -21.6251756810 21.6260750164
+ -0.4375133564 -0.1116217969 -85.7436341143 85.7449365751
+ -1.2048266587 0.5522436288 -81.4775692856 81.4937646006
+ -0.3407117917 0.0184556330 -30.6305847314 30.6328031024
+ 0.6907488015 0.4389634667 -75.6915938626 75.7018493570
+ -0.0183040454 0.2350699444 -22.3486726492 22.3503521646
+ -0.1916377593 0.2010476413 -4.8350038352 4.8449857643
+ 0.1872613545 -0.0062152054 -12.1676632472 12.1699060853
+ -0.1103173946 0.4985362686 -8.5212831950 8.5377078548
+ -0.1977428801 0.3283557174 -3.4231630834 3.4473823409
+ -0.0974457282 -0.1339545461 -0.8594369539 0.8752550303
+ -0.2071332904 -0.4823650456 -4.0723038016 4.1060003031
+ 0.0413038850 -0.0097964921 -0.0148397271 0.0449688745
+ 0.2526841941 0.1470257734 0.1799119300 0.3432698393
+ 0.0282405849 0.0338927352 0.1202185244 0.1280575720
+ 0.2917414074 0.5092544889 0.6267527035 0.8586455233
+ 0.6114514097 0.2965263516 0.6586222575 0.9463529900
+ 0.1374858610 0.1008525767 0.2605961883 0.3114225065
+ -0.0402358604 0.3051960096 -0.7562287177 0.8283267394
+ -0.1453442669 0.1126728744 -1.8397345055 1.8541636843
+ -0.2485005504 0.0453959529 -2.8219594484 2.8366790847
+ -0.5143013846 0.5924367407 -4.7153675745 4.7822231601
+ -0.5997874934 0.5695644031 -4.7944216342 4.8652469057
+ -0.2366520778 0.2996291383 -1.8184218833 1.8580742644
+ -0.1371379721 -0.0169230861 -0.2396901206 0.2766668902
+ -0.2781789409 0.1623838678 -0.5516909626 0.6388387605
+ 0.0051386329 -0.1312612754 -4.5614209608 4.5633120767
+ 0.1853041625 -0.2234548303 -7.7998176952 7.8052178555
+ -0.0123870716 -0.0124588271 -45.2740680155 45.2740714243
+ -0.0017482752 -0.1230569877 -32.4867943433 32.4870274537
+ -0.1571135238 -0.3819053014 -220.9311079106 220.9314938593
+ -0.0733985245 -0.1929764685 -174.5326954670 174.5328175853
+ 0.0747244754 -0.0526433294 204.4512786074 204.4512990403
+ 0.0812010923 -0.0924754200 84.5163846931 84.5164742930
+ -0.1401062547 -0.0649775140 41.0245392914 41.0248299924
+ -0.1356553464 -0.1057567253 99.3410080288 99.3411569443
+ -0.5439045608 -0.6396478851 42.9540066406 42.9622120947
+ -0.0115365419 -0.0596764266 2.2732933920 2.2741058054
+ 0.0791973129 0.0000737039 12.3432660570 12.3435201289
+ -0.0462761664 0.0384524090 5.5245407965 5.5248684223
+ -0.0343470783 -0.0094523572 12.3745339166 12.3745851939
+ 0.0341766775 0.0987033892 10.4370098847 10.4375325502
+ -0.0982495399 0.1251032143 22.6988206764 22.6993780507
+ -0.1959404139 0.0261293230 31.4398552495 31.4404766742
+ -0.4378803685 0.6158985993 8.9699889321 9.0017649238
+ -0.0676874145 0.2211763060 2.6239414251 2.6341163882
+ -0.2986867849 -0.0365416970 1.7046658655 1.7310213182
+ -0.0334433032 -0.0489590654 0.6008831815 0.6038013270
+ 0.2484395709 0.4785677243 2.9369071515 2.9859961326
+ 0.0041604757 0.1309690227 0.5545587461 0.5698294458
+ 0.5181978935 -0.2442365421 1.8529539219 1.9394893096
+ 0.1935569199 -0.0403293485 0.8940320263 0.9156331152
+ -0.0774124077 -0.5757338872 1.5257093538 1.6385148785
+ -0.1682496198 -0.2668262081 0.4891607655 0.5820501820
+ -0.2851212791 -0.3546207208 1.0330294040 1.1288045663
+ 0.4830674862 -0.3914343011 -0.2097636874 0.6561827587
+ 0.3480080564 -0.1506498071 -0.1518427065 0.4084864492
+ -0.0257524367 -0.2866292840 -0.7010043455 0.7577774257
+ 0.0495962635 -0.1847932063 -0.7505239040 0.7745285333
+ 0.1420674626 -0.1005393247 -1.1054018139 1.1190194324
+ 0.4147068139 -0.0666002430 -3.2984628951 3.3250977135
+ 0.0361005887 0.0017994858 -0.6651374491 0.6661188459
+ 0.3213805872 -0.3933630390 -6.1353583079 6.1563496919
+ 0.3223663596 -0.1767910366 -2.5835154034 2.6095453589
+ 0.8323700359 -0.4415664779 -8.3353887684 8.3884758301
+ 0.1202947581 -0.3007357189 -1.7889286728 1.8180150158
+ 0.0603739512 -0.2029036102 -0.6977619128 0.7291684140
+ 0.8009141295 -0.9531460441 -23.8792193209 23.9300525865
+ 0.0116040592 -0.1048654411 -2.0743317173 2.0816972098
+ 0.2635800490 -0.1770750191 -9.6457522837 9.6509775216
+ 0.0014224282 0.0088967123 -1.4624198548 1.4624476081
+ -0.0194250588 0.0157769812 -0.2612484606 0.2624442878
+ -0.0538118691 0.2063053973 -10.7499991119 10.7521132127
+ -0.3822178732 0.0022766991 -14.1446987021 14.1498620863
+ -0.2284378798 0.0456840426 -5.7362882227 5.7410167627
+ -0.0823806128 0.2977867805 -15.5645852254 15.5676516139
+ 0.0006003603 -0.0149160848 -0.7141627576 0.7143187624
+ 0.1363821414 0.0947799476 -16.5758441623 16.5766761752
+ 0.1240645894 0.2900367962 -38.7299790691 38.7312637550
+ 0.1584652475 0.1957714477 -15.7722773880 15.7742883103
+ -0.0151755746 0.1144476973 -6.8955830995 6.8965494891
+ 0.0330709898 0.2543723703 -17.7123904899 17.7142478209
+ 0.1175142665 0.1148276290 -11.9647500727 11.9658781244
+ 0.0395684840 0.0706256030 -3.0080087228 3.0090978909
+ 0.0558038148 -0.0566654388 -1.7627066253 1.7644998398
+ 0.0754912541 0.1606681665 -1.0239819269 1.0392555873
+ 0.0792865115 0.0316028653 -1.0946932550 1.0980156714
+ -0.0430194261 0.0253016252 0.4866299357 0.4891825197
+ -0.2073596150 -0.0545639159 0.7477831170 0.7779169756
+ -0.5137360858 -0.0723349699 0.7093761775 0.8898603597
+ -1.0136196057 -0.7390948240 1.7424348281 2.1515679815
+ -0.1435789301 0.2516162283 0.4919791452 0.5709370498
+ 0.0304753978 0.0800446982 0.1577593251 0.1795101898
+ -0.0279849115 0.0759967051 -0.0239799637 0.0844611930
+ -0.0757996771 -0.0400231364 0.0260091301 0.0895763213
+#SUBSTART
+ -0.3323374991 -0.1849449482 990.8964226915 990.8965055118
+ 0.1851082386 -0.0668942268 6009.0752431881 6009.0753198664
+ 0.2238488133 0.1243611064 -1386.7806346456 1386.7809765763
+ 0.0897287955 0.0021402654 -3842.0488385844 3842.0489545184
+ -0.0949850912 0.6239550309 -1649.1696683033 1649.1700559809
+ -0.0950551274 -0.6282164615 -75.5273635809 75.5358636111
+ 0.1365263817 0.0469319655 -11.1986218920 11.2387866309
+ 0.2247187435 0.0842504512 -8.6333204404 8.6377831800
+ -0.3375532546 -0.0015831824 -26.6132329715 26.6157395856
+#SUBSTART
+ 0.1810322254 0.0178146512 0.0892185688 0.2460279788
+ -0.2939165691 -0.8473522394 -2.0299790128 2.2236652951
+ -0.0251269998 0.2986636221 -0.7130983881 0.7860155350
+ 0.0595672856 0.0212654075 0.3968959133 0.4254487396
+ -0.2081797921 0.3708634056 11.5917897841 11.6004288143
+ 0.3044595833 0.1687424704 208.6629192129 208.6653249006
+ -0.3077703576 -0.1537005470 245.7125868223 245.7146240278
+ 0.2461047686 -0.3082749946 379.3205885676 379.3208193496
+ -0.0420705500 -0.4619819525 4369.2681157364 4369.2682411061
+ 0.3226933505 -0.1987493578 0.1925572573 0.6514227222
+ -0.4168787422 -0.4293726415 -1.4707740236 1.5939902022
+ -0.0714745648 -0.2131724828 -7.8183280144 7.8776363621
+ 0.9214129261 -0.6178134153 -11.2178351706 11.2734201065
+ 0.0552191616 -0.4879636923 -73.9932083789 74.0007864453
+ -0.0175691986 -0.1899127456 -3.3873382112 3.3955729222
+ 0.0912017593 0.1609041419 -19.8548606412 19.8618564073
+ 0.0296019750 0.1095821365 -6.2349475650 6.2554853225
+ 0.5287070335 0.1488847615 -3.1217131556 3.1727386608
+ -0.9872014151 0.4878894402 -6.1149721180 6.2332304764
+ -0.1546037430 0.3031467785 -6.2097851244 6.2206680801
+ -0.0033282968 -0.6183878494 -3.8052693837 3.8577155776
+ -0.2102238460 0.0257763583 -0.4667992189 0.5312624415
+ 0.4983626645 -0.0460050053 1.4574542996 1.5472991392
+ -0.0904809114 0.0309504573 0.0629561049 0.1805214175
+ -0.0044507503 -0.0743567545 0.9657583131 0.9686267885
+ 0.2566031196 -0.5323530620 11.4152174086 11.4305045133
+ -0.0638548971 0.0866472233 2.2531207796 2.2600040313
+ -0.0384200749 -0.1222174271 1.6524364124 1.6632615801
+ 0.0615884420 -0.0455483303 722.5462595128 722.5468744625
+ -0.4162307888 -0.3649134992 645.1774576789 645.1783773946
+ 0.0024828864 0.1586327153 260.5247933301 260.5248790231
+ 0.0667940688 -0.1003494478 0.1981036725 0.2706590277
+ -0.5597917977 -0.0908385050 1.5336975337 1.6411357045
+ 0.5769956063 0.2996830848 -0.6859928022 0.9554055634
+ 0.0128466165 1.1856493653 -0.7212063398 1.3948289582
+ 0.2928539826 -0.6027490636 -2.9560111083 3.1733047988
+ -0.0069313949 0.5693822586 -11.7902506017 11.8412247696
+ 0.6398037326 0.0823799751 -57.8159620496 57.8197291829
+ 0.1916519700 -0.2431471992 -8.8006704395 8.8072203905
+ 0.1131809324 0.3279531494 -222.8898128536 222.8900828594
+ 0.3583488589 -0.1509286507 -185.5398167679 185.5402242093
+ -0.1692890662 0.1603674237 -189.0739757910 189.0741195878
+ -0.1698428646 0.1343450021 -315.3713889156 315.3714632647
+ -1.2987988061 0.3172114832 -3323.5097651885 3323.5101665492
+ -0.1056512515 -0.1121608296 -631.8749007012 631.8749349026
+ 0.1935358236 -0.3213394311 -987.5815127539 987.5815938586
+ -0.2369081669 0.2751464571 -879.4737652040 879.4738512275
+ -0.0138602112 0.8827762193 -16.0025033374 16.0268399574
+ -0.0373644452 0.0599785436 -1.1854284019 1.1875327463
+ 0.3355411691 0.0756266271 -6.0018612567 6.0117090588
+ 0.0529694955 -0.0409067167 -1.5118966824 1.5133772514
+ -0.1206493712 0.2743459086 0.9933265310 1.0375545988
+ -0.0953701498 0.0438061856 0.4613666582 0.4731528724
+ 0.0223632468 -0.0435730828 96.3789713558 96.3789838001
+ 0.0898061219 -0.0303752447 36.1163424753 36.1164669035
+ -0.0826570527 0.0635830120 0.0891363062 0.1371869850
+ -0.0191033014 -0.0580761473 0.0936827493 0.1118670306
+ 0.2062754916 -0.4073488518 -0.3469645937 0.5734693495
+ 0.0000186702 0.0053112679 0.0063493150 0.0082779054
+ 0.0621284386 0.0057110014 -0.1937957184 0.2035911071
+ 0.2437469596 0.1152997579 -0.2792828485 0.3882080936
+ 0.0340782664 0.0827969448 -0.0852655976 0.1236401409
+ -0.0051543280 0.0716801199 -0.3648869059 0.3718965727
+ -0.0792502316 0.0538145129 -1.0419407960 1.0463351391
+ -0.1297914381 -0.0118994731 -3.7253718675 3.7276511326
+ 0.0108946615 0.2613177275 -0.9328346318 0.9788083998
+ -0.2082835871 -0.0080278468 -1.8057683384 1.8231087669
+ -0.0400225206 -0.0353784130 0.0701484656 0.0881716592
+ -0.3514957024 0.0859383955 0.3205454659 0.4834087632
+ 0.0634920507 0.0549100321 0.1152971723 0.1426176359
+ -0.0443661600 0.0903968748 0.3346474959 0.3494694516
+#SUBSTART
+ 0.3368696623 -0.8585951361 5.2974639928 5.3789656363
+ 0.0071880380 -0.1662948218 4.4521455075 4.4574415353
+ -0.7837243531 -0.0547847951 1.4540340341 1.9011133561
+ -0.8434469455 0.1509376090 0.2840034109 1.3019959454
+ 0.1150352615 -0.1322159852 -1.4732989155 1.4902361080
+ 0.3590460836 0.1382200943 -65.6758316396 65.6771068198
+ -0.1341584617 -0.1345165590 -27.1816111712 27.1867563350
+ 0.3491750992 0.1292657251 -41.9743250996 41.9788785153
+ 0.2888000874 0.1297856795 -695.7325980811 695.7326841268
+ 0.3971589232 0.2626488563 -4647.0441135601 4647.0442326756
+ -0.0158668582 -0.7132075801 427.4508606964 427.4524857543
+ -0.0285185634 -0.0550855004 541.8765024023 541.8765239270
+ -0.1612581004 -0.7567178223 7.5902834396 7.6308917248
+ 0.1725965085 -0.3036194485 2.9467844461 2.9706889237
+ 0.6114937660 -0.7657569789 5.8938823283 5.9747934924
+ 0.0490472552 -0.1355833714 0.7431229822 0.7569810106
+ 0.0272769160 -0.0635907392 0.8284009662 0.8312857349
+ 0.3181204909 -0.0853870585 3.2485827534 3.2652383531
+ -0.0720122819 -0.0951456055 0.7252210456 0.7481068138
+ 0.2613875374 0.0727677553 0.0576595134 0.2773863918
+ -0.1862279387 -0.0149300886 -0.0738870217 0.2009055616
+ -0.4506888046 0.1398419187 -0.3212666698 0.5708663889
+ 0.3697503395 0.0744408423 -0.9273335582 1.0107838867
+ 0.4553620696 0.0215921172 -11.5208554229 11.5307159489
+ 0.3965691932 0.4389910569 -11.2315696607 11.2480050276
+ 0.3348850359 -0.0538237233 -1.4651726970 1.5103826658
+ 0.2594502435 0.2051003690 14.7039945730 14.7083757356
+ 0.0789085410 0.0261817010 13.2510396242 13.2520354265
+ -0.1314316568 0.3216804496 5.1512566120 5.1629640009
+ -0.0556909431 0.0101736394 0.7944451767 0.7964597434
+ 0.2609930299 -0.0508045778 15.5262955765 15.5291993541
+ 0.2511664606 0.1289706808 12.3455827446 12.3495996338
+ -0.2038200758 0.0459172805 6.5239564974 6.5287930879
+ -0.1277010414 0.1584643002 5.3328273452 5.3385340469
+ 0.1162856735 -0.2314895134 2.1236001545 2.1438906581
+ -0.1027563410 0.8539899379 -0.7388377191 1.2366809673
+ -0.1143405220 -0.1234521848 -0.1724221444 0.2409223791
+ -0.2730815768 0.0682566171 -1.0767145851 1.1216178476
+ -0.2571520168 0.4949288797 -3.5187828930 3.5967423822
+ -0.2702889850 0.1316203716 -5.6566816311 5.6663839367
+ -0.0226088593 -0.0717747448 -0.4294609426 0.4360039859
+ 0.1249473634 -0.0572161814 -0.8666077917 0.8774363793
+ -0.3020668905 0.3045573904 -20.9982208508 21.0030654499
+ -0.1236766178 -0.2308697598 -5.3127823938 5.3210650533
+ -0.2363705707 -0.0128816051 -16.2972448084 16.2995615006
+ -0.6544995275 0.1060512129 -20.5035333472 20.5147258328
+ 0.0667084674 -0.0221893465 -2.3387810368 2.3439963545
+ -0.0291284966 -0.1001494410 -22.4991847265 22.4998593667
+ -0.2739666830 0.2637022572 -40.7588655912 40.7608783111
+ 0.0569549382 -0.3876834303 -915.8598841531 915.8599786120
+ 0.0645914946 0.0566318670 1.2084173821 1.2194800465
+ -0.0505956378 0.0454348898 20.4950376798 20.4956257169
+ -0.3302139807 -0.5642301659 6.5513452770 6.6023604000
+ 0.2342852500 0.0378351526 370.9782714067 370.9786811292
+ -0.3256501397 -0.3777810766 104.9410616268 104.9423396999
+ 0.1862088064 0.5869897934 506.7497253453 506.7509681480
+ -0.0633015585 0.0677961633 108.5603530496 108.5604823932
+ 0.0250330885 0.2123452581 318.2002311822 318.2003336286
+ 0.2516022095 -0.2812881277 3.7111208227 3.7302606401
+ 0.0841557676 -0.2194918858 3.0383261666 3.0474062374
+ 0.4586002886 -0.4496622154 5.1624691853 5.2022685842
+ 0.4460362326 -0.6049332808 5.4038385080 5.4558558646
+ -0.3073715775 0.4735629943 0.9400438060 1.0965498408
+ 0.0107405403 0.0213418365 0.0178791893 0.0298412232
+ 0.0128147488 -0.0760367607 -0.0422139547 0.0879080470
+ 0.0073705163 -0.2805906689 0.1017263936 0.2985526874
+ -0.0434895846 0.0055241575 -0.3964992607 0.3989154347
+ 0.0794790577 -0.0595538914 -1.7345688863 1.7374097985
+ -0.2206242383 0.0701211784 -3.5165807175 3.5241923865
+ -0.1194413632 -0.0447177213 -1.2556238868 1.2620844896
+ 0.1445738335 0.3153621856 24.2517330665 24.2542143065
+ 0.3388193355 0.4973289156 53.6077454940 53.6111230207
+ 0.3657810027 -0.1249384141 29.3215007665 29.3240483656
+ 0.2783765255 -0.2307472765 27.2324525793 27.2348528779
+ -0.1166030866 0.1360596774 6.4150085245 6.4175106455
+ 0.0141450807 0.1465078520 6.9530601358 6.9546178821
+ 0.0925247223 -0.0654439136 4.1712817262 4.1728209846
+ 0.5610713342 -0.0441785868 19.4293479561 19.4374976473
+ -0.0323884936 0.0696982267 0.7036091310 0.7077942261
+ -0.2005381296 0.2911601389 1.4649470581 1.5070035338
+ -0.2087065515 -0.2842740918 0.1112361986 0.3697886907
+ -0.0858159407 -0.0635366405 -0.0333783763 0.1118722323
+ -0.0586366139 0.0567762287 -0.3265184396 0.3365651260
+ 0.0663339209 0.0036212500 -0.2559802497 0.2644601874
+ -0.2741617903 -0.2955972052 -2.0328142898 2.0771028180
+ 0.3064948434 -0.0170570671 -0.8567511600 0.9207238281
+ -0.1665786910 0.1003460362 -1.2168799599 1.2323208284
+ -0.0131392992 0.0829759230 -0.9857929779 0.9893661811
+ -0.0369434723 0.0120319362 -0.2648274145 0.2676623752
+ -0.2777115899 0.0303040330 -6.3841561964 6.3902654407
+ -0.1094355849 0.1410765685 -160.8258179266 160.8259170361
+ -0.0268905946 0.1333970439 -251.8301714473 251.8302082139
+ -0.1205128311 0.1415721200 1.0354311161 1.0519903059
+ 0.0036628701 0.0245551706 0.7056755871 0.7061121775
+ -0.2033320150 0.2330877167 50.2916913073 50.2926424871
+ -0.0779639114 0.0109291401 21.1889049047 21.1890511556
+ -0.6028054782 1.2491670411 3531.4120765533 3531.4124735819
+ -0.0943278989 0.1246921184 684.5156093973 684.5156414825
+ -0.0927133414 0.2683709817 -0.0546293953 0.3210652632
+ 0.0146599071 -0.1444725920 -0.0093230968 0.2016282414
+ 0.0621703933 -0.3348517048 -3.3920374846 3.4119479632
+ -0.0603322492 -0.0835410515 -0.4086711130 0.4439717909
+#SUBSTART
+ 0.1142359251 0.1395056979 -863.2310185946 863.2310487091
+ 0.1809638934 -0.0410759759 -11.9591078173 11.9613617426
+ 0.1219265731 0.6556577830 -99.3663459963 99.3698098560
+ 0.1161527327 -0.5576895742 -45.5408598841 45.5446364338
+ -0.0586364764 0.9738226971 -13.8493026260 13.8843232421
+ 0.3515100403 -0.4986848366 -1.2476044449 1.6767690689
+ -0.0280487788 0.4093488187 -2.2032091519 2.4300772707
+ -0.0524468210 -0.0301435731 -10.4457658535 10.4468733770
+ -0.2902732449 -0.1406139607 -25.1453456868 25.1478015010
+ -0.0089829773 0.0616980077 -20.6587585145 20.6593240568
+ -0.0040036542 -0.1395282607 -24.9575212318 24.9583018249
+ 0.2561798501 0.1347489182 -187.6397072581 187.6399824267
+ -0.1115570928 0.3216290743 -99.0573844678 99.0580677564
+ -0.3853323754 0.1570011374 -1802.1660828067 1802.1663750885
+ -0.2764913891 -0.0757292056 -425.1719892016 425.1720858477
+ -0.5973907910 0.0355527360 -870.8620503270 870.8622559507
+ -0.1272779881 0.1579406326 -1.0891686336 1.1078958624
+ 0.5789493810 0.5646674759 1.0778622642 1.4350817972
+ 0.2366456242 0.1993203754 -0.0197493917 0.3399993925
+ 0.3055918854 0.4552260819 -120.9372832978 120.9386066913
+ 0.8133604609 -0.4805414234 -505.0913187346 505.0922022129
+ 0.1987634300 -0.0491248523 -120.9240022047 120.9241755372
+ 0.0452047972 -0.0714083492 -18.6709677843 18.6716807067
+ 0.3023335787 0.0609986356 -130.4514681913 130.4519074582
+ 0.0245576211 -0.3495744206 -74.0434844586 74.0444452738
+ 0.3644104625 0.0939749666 -63.0437911555 63.0450688739
+ 0.0068484888 -0.0184313386 -2.0434485571 2.0435431539
+ -0.0306685832 0.2120972943 -12.2438436622 12.2457189846
+ -0.1896389425 -0.0099187482 -7.1649194670 7.1687943243
+ 0.1940908796 -0.4507259305 -66.5065046179 66.5101467641
+ 0.2298698490 -0.1984866669 -64.9984321703 65.0010158586
+ -0.1721037172 -0.0787967309 -17.1270757286 17.1353502170
+ 0.1851716737 -0.4702834291 0.1616715706 0.5306531345
+ -0.0158180745 -0.0863869914 -0.0012300026 0.0878318659
+ 0.3694440933 0.1903591955 1.0296125596 1.4545168852
+ -0.1705376000 0.0051991829 0.2251294963 0.3150764661
+ 0.1286597214 0.0420071835 0.4216799539 0.4643400648
+ -0.0460248003 0.1953606161 0.6833309355 0.7257444487
+ -0.0859561700 -0.5037912998 15.1698777102 15.2075368047
+ 0.0267715340 -0.2981155329 3.6369422342 3.6519061031
+ 0.2704828342 0.0706207318 286.5799478126 286.5801181455
+ -0.4624789094 -0.1649113411 738.6069030537 738.6070794413
+ -0.0810448123 0.0557126475 88.9529579135 88.9531217749
+ -0.0863283411 0.0089982639 135.2860154397 135.2861152776
+ 0.2070904296 0.0632835837 25.0414322531 25.0427574426
+ 0.0703308888 0.2389059629 128.8906143122 128.8909304802
+ 0.4197841408 -0.4250977924 4636.8804043455 4636.8805380257
+ -0.0976754262 -0.0105189741 861.4167794643 861.4167963731
+ -0.1296238691 -0.1329452770 -16.6359002626 16.6375218745
+ -0.5428933539 -0.0069675306 -26.8372337298 26.8430880450
+ -0.0549936734 -0.1817888845 -10.2575400376 10.2592981790
+ -0.1223048170 -0.1944567696 -22.1683011281 22.1694913521
+ -0.4138789658 -0.2115610157 -353.8366742447 353.8369795463
+ -0.1014295211 -0.0571938676 -50.0807971638 50.0809325358
+ -0.0305127005 -0.0230096877 -221.9231472619 221.9231505524
+ -0.0935593588 -0.1379443595 -213.5458402405 213.5459052898
+ -0.6795641000 0.3484790011 -2.4963485187 2.6568104688
+ -0.2379642387 -0.1416653423 -1.0116535131 1.0581203446
+ -0.2225451784 0.1543063208 -2.0574496297 2.0798835449
+ 0.0943272134 -0.0568004560 -43.5188166896 43.5189559845
+ 0.0202613632 -0.2033426741 -87.4076892442 87.4079281174
+ -0.0438349627 -0.0563075545 -16.5042054668 16.5043597311
+ 0.0923187853 -0.0490468070 -33.0166476272 33.0168131243
+ 0.1531377463 0.0451546583 -43.7041742742 43.7044658942
+ 0.0811923806 -0.0619775690 -16.2925242506 16.2928444379
+ -0.1185671027 0.2412588052 0.9484848069 0.9956742352
+ 0.0403176966 0.1993698867 0.4471343731 0.5106689739
+ 0.0536710944 0.0440173569 27.6960519465 27.6961389283
+ 0.0037594382 -0.0351291768 2.2842547733 2.2845279735
+ 0.0101439173 0.0375286158 23.6783449384 23.6783768514
+ -0.0209869705 -0.0872613979 19.0146709348 19.0148827439
+ -0.2865764223 -0.0388501286 -1.5232481337 1.6271328203
+ -0.3448869901 0.3943542737 -1.5668286245 1.6579789060
+ 0.0184596164 -0.0184123601 0.0344754152 0.0432241448
+ -0.1425826694 0.1023451124 0.2583163621 0.3123006285
+ 0.1404652305 -0.4229920234 -97.8476270016 97.8499077056
+ -0.0154639620 0.0078644367 -0.5473004726 0.5475753745
+ 0.1535005511 0.1889159221 -27.7842054333 27.7852716957
+#SUBSTART
+ 0.1712998803 -0.9617839056 5872.9775984778 5872.9777548860
+ 0.3703263090 -0.0100644096 -581.8946810796 581.8950083585
+ -0.0058688706 -0.0258741569 -298.7288254280 298.7292344021
+ -0.1384036437 0.1554803187 -3.1521030006 3.1620504122
+ 0.4032379019 0.3198375923 0.5768037736 1.2157097010
+ 0.2335375227 0.1944140466 1.8993311373 1.9285422344
+ -0.2913094173 -0.2500267312 1.2210301208 1.3718345596
+ -0.3878217185 -0.0908334331 8.3524023614 8.3630593319
+ 0.0021695394 0.2645686874 0.2337821624 0.3796513949
+ 0.4919864161 0.5230543356 -22.3577473176 22.3747210608
+ 0.1704951162 0.1604341000 325.0545426609 325.0546269663
+ 0.0463857287 0.2002025734 232.1680313707 232.1681223236
+ 0.1214647007 -0.0175407473 18.4064660947 18.4068752222
+ 0.0858228934 0.0677696180 7.1336860875 7.1345241947
+ 0.1303843861 -0.4141941836 227.9831831082 227.9836393622
+ 0.0544944948 0.0117811388 -485.3393501514 485.3393734220
+ -0.3219505401 -0.0681190106 -84.6680979210 84.6701762067
+ 0.1963069692 0.1358441291 -48.5901897810 48.5909766602
+ 0.0502917293 -0.0412903628 -4.0242354390 4.0247614862
+ 0.0558596663 -0.3604684451 -13.6394937331 13.6443705277
+ -0.2754435981 -0.0125336628 -4.5371897301 4.5477023539
+ -0.2032493357 -0.1242593042 -3.6357692499 3.6462375801
+ -0.2119613998 -0.8064236598 -1.7238856800 1.9200282229
+ 0.0434979310 -0.2512007278 3.2155009442 3.3596475980
+ -0.1998129792 0.6985751753 7.2617784072 7.2993724335
+ 0.0175258021 -0.5336439380 0.4368029027 0.7038178507
+ 0.4346156576 -0.0089172350 0.6415830364 0.7874508648
+ -0.2043552785 -0.4410627561 -2.5830162932 2.6320620036
+ -0.4774411191 0.1281491262 -5.7745383656 5.7973395054
+ -0.5340445637 -0.1708982658 -14.2473061728 14.2590189978
+ -0.1282980424 -0.0743214376 -54.6832390622 54.6856677691
+ -0.3062084368 0.2461869450 -21.7710592267 21.7750515787
+ 0.0706536496 -0.3090732309 -70.9228424795 70.9236884501
+ -0.2244415641 0.2575344038 200.8745327919 200.8748232665
+ -0.1026759507 0.0187800403 80.6185405075 80.6186080791
+ -0.4285031390 0.5972928235 -4708.3645877353 4708.3647388669
+ -0.1759376346 0.1413043999 -483.3241257098 483.3241985396
+ 0.0789670365 0.0082460997 -0.9100976166 0.9135543021
+ 0.3582915752 0.3603820491 -5.6150457275 5.6379949092
+ 0.0698018127 -0.0001417290 -16.4548482123 16.4549962627
+ 0.0680879864 0.1131360723 -11.8652401105 11.8659748282
+ -0.2603650236 0.0258529660 -0.5831379763 0.6391464783
+ -0.0414794208 0.0076059356 -0.3281936572 0.3308919298
+ 0.0129886495 -0.0711266105 0.1661718112 0.1812202267
+ -0.0304683231 -0.0614454560 0.8356548002 0.8384645537
+ 0.2316000106 0.2022796773 5.5886836808 5.5971368499
+ 0.1020875460 0.0212127976 3.2878169072 3.2894698456
+ 0.0544874929 0.0252758792 -0.5378409122 0.5411844452
+ 0.1076719204 0.0850594189 -0.3011708352 0.3309565216
+ 0.0140419451 0.0351790872 -3.9194811339 3.9196641570
+ -0.0916945482 0.0325965599 -2.1639198559 2.1661070076
+ 0.1880914741 -0.0575242310 -9.8290002274 9.8309680556
+ 0.2299009765 0.0741172495 -10.3296456154 10.3324695193
+ -0.0223078368 -0.0217840862 -1.9896847281 1.9899290196
+ 0.0177272528 -0.1620453734 -2.2582318342 2.2641077659
+ -0.0380102191 0.1448128070 -7.4033526616 7.4061816034
+ -0.0424178092 0.3010973270 -2.9240487049 2.9431275006
+ -0.0263220820 0.0219289133 -2.0927995188 2.0977281378
+ 0.4866905214 -0.2333952036 -5.4659002603 5.4942594065
+#SUBSTART
+ 0.2395897192 0.1991548139 -0.5679145490 0.6626255302
+ -0.2236300562 0.1478589102 0.8971726733 0.9467160345
+ -0.4533439393 -0.0910755421 2.9805319349 3.0194148244
+ 0.0730960295 0.6210094869 2.4161314648 2.4996333436
+ 1.0121538963 -1.6601913854 -38.8783337789 38.9300548334
+ 0.5178983230 -0.3667867409 -51.8884363082 51.8925047910
+ -0.0970354329 0.8542814517 -2008.3932909660 2008.3936947724
+ -0.2915201199 0.4231604837 -1875.0692237451 1875.0695289070
+ -0.5615516066 0.1312889257 1.1950126362 1.3342083700
+ 0.0287281723 -0.7218881156 0.9809924201 1.3145093562
+ 0.1567535887 0.1661160655 1552.8422089428 1552.8425092041
+ -0.1472018360 -1.0749564663 -11.0909134036 11.1438574969
+ -0.2411547779 -0.4230979443 -0.6813084390 0.8490161784
+ 0.1504584756 0.0016996665 -1.4673034120 1.4815868957
+ 0.2362400565 -0.2100581549 -0.3301357686 0.4570814134
+ 0.1645820855 0.3357464344 -0.3873620892 0.5383886321
+ 0.3347580312 -0.1333790868 0.9493070595 1.0153998294
+ 0.4185048624 0.2106625736 0.7727328980 0.9036820079
+ 0.2309405816 0.1302003717 0.6666556530 0.7174367210
+ 0.7360965856 -0.6170482763 -17.5889781215 17.6222136392
+ 0.5242763077 -0.2288758909 -40.7226669141 40.7296758074
+ 0.5322039656 0.1124019956 -69.2497283287 69.2520052320
+ 0.0287688161 0.0648752252 -64.0610175710 64.0612089213
+ -0.3147910832 0.2265254264 -94.8651785952 94.8706240566
+ 0.1213179185 -0.0818917354 -22.6816271241 22.6825288069
+ -0.3054907702 -0.1096050697 -95.9789992605 95.9841467573
+ -0.2282677324 0.0500291563 -44.0765686061 44.0771880814
+ -0.1728193972 0.0211778568 -62.9705183044 62.9707590122
+ 0.2268638561 0.1570022600 -38.0787062473 38.0799614781
+ -1.0885970820 -0.0245373954 -423.0510464647 423.0534911242
+ -0.0444880507 0.0774402685 -58.7433398932 58.7435735870
+ -0.0436204987 0.0127751314 -1143.4898578192 1143.4898587225
+ 0.0361039059 0.0556175311 -315.8034917098 315.8034986711
+ 0.2141165831 1.4686056250 -44.7274653136 44.7619163170
+ -0.2269130880 0.4192479228 -11.0789316884 11.0900615648
+ -0.2946748037 0.5235747052 -17.3037769727 17.3396081797
+ -0.4134418681 0.4195046411 -7.7158130486 7.7395199533
+ -0.1061431458 0.0396157216 -0.1128578053 0.2122556051
+ -0.2456818371 -0.4685782239 -0.2891844744 0.7792263709
+ -0.1931776158 0.1217742137 0.1974388814 0.3325784827
+ -0.6526582579 0.3998921099 0.7279485681 1.1659445008
+ 0.1256467557 0.1904863422 0.3199974752 0.4170735221
+ 0.1533089184 -0.2707288731 2.3463365749 2.3709856294
+ 0.0697924937 -0.4578302833 7.5443114794 7.5598012569
+ -0.0831936777 0.0372450762 7.0317715127 7.0337471362
+ 0.0332716345 -0.0059616338 1.4178588034 1.4251125969
+ 0.0674383800 0.1889772066 118.0740363045 118.0752385156
+ -0.0185400353 -0.4242288475 1917.8848926234 1917.8849447104
+ 0.0061957966 0.1999157645 3056.8246022937 3056.8246120235
+ 0.1718753762 -0.0005539583 -0.9822199936 0.9971447075
+ 0.0297429214 -0.0711120528 -0.2960041355 0.3058758142
+ -0.4022390650 -0.2735768853 2.0488954853 2.1058521523
+ 0.0010179752 0.0110657588 0.0338059458 0.0355855204
+ -0.0099501111 -0.0981509650 -8.9172302126 8.9177759156
+ -0.1554815916 -0.0586193940 -14.3397935936 14.3407562933
+ 0.2951877903 -0.0595400931 -47.5178537540 47.5188079211
+ 0.0235175866 -0.0584578161 -7.8066262869 7.8068805791
+ 0.0432559800 0.0612423078 -7.0325632348 7.0329629142
+ -0.0479313569 0.2583068178 -43.0940881683 43.0948889647
+ 0.0940468723 -0.1323425706 -120.7492079334 120.7493170826
+ -0.0420715480 -0.0279985079 -55.8780890954 55.8781119482
+ -0.0803691605 0.1558947185 -1.3300687408 1.3415831024
+ -0.0275511156 0.1079018581 -2.1006798536 2.1036296542
+ 0.0381267560 0.2365297619 -0.6843624375 0.7383980692
+ 0.0311054953 -0.1397428600 -0.1966859527 0.2804652699
+ -0.0004164969 0.0468481971 1.8409207098 1.8415167626
+ 0.1017829489 0.0108371180 1.0775190128 1.0823698235
+ -0.0302781454 0.0555626607 0.4255250686 0.4302040903
+ -0.3726013697 0.1024978319 3.7486467296 3.7685129547
+ -0.2573266498 -0.0530840905 169.5732796656 169.5734832203
+ -0.0331200668 0.0453799476 28.2487039230 28.2487597888
+ 0.0523971263 -0.0587811506 -2.1965418250 2.1979528365
+ 0.3588854986 -0.3503559929 -7.1998265252 7.2172744243
+ 0.0634513656 0.0845581190 -3.9583942860 3.9598057370
+ 0.0701737001 -0.0478905156 -2.2585952493 2.2601925470
+ 0.1181537243 -0.1520519355 -12.8741318648 12.8755718850
+ -0.0105603614 -0.0928776842 -12.0156665483 12.0160301425
+ -0.0136742480 -0.0751344533 -9.8861522597 9.8864472220
+ -0.0401852201 -0.2072977074 -75.6778229083 75.6781174933
+ 0.0226355505 0.0297080190 36.7108885385 36.7109075374
+ -0.1244410371 0.1022571320 57.8457357312 57.8459599659
+ 0.0998652350 0.0682079391 10.7435241714 10.7442048105
+ 0.0418066148 -0.0563732524 9.9691964006 9.9694434454
+#SUBSTART
+ -1.2010349565 0.9921074126 8.8355375848 8.9853841019
+ -1.3617602224 -0.0896505822 5.1104238492 5.3720769393
+ -0.4949684252 -1.0686730991 6.0510139528 6.1661418712
+ 0.1518616218 -0.1700662193 1.3080786496 1.3351157289
+ 0.5433246137 0.9473338574 12.0162384178 12.0665698760
+ 0.2941683699 -0.2681603581 99.5543913899 99.5552849919
+ 1.2044315288 -0.1610539203 49.5492622544 49.5643567840
+ -0.2697837960 0.0006700391 1.0277857343 1.4184213218
+ 0.3424865471 0.1728428856 0.3055584579 1.0598723764
+ -0.1838267422 0.1329806693 -0.3970202134 0.4781014164
+ 0.5060672431 -0.0321591279 -1.0444458156 1.1693951901
+ -0.6565712363 -0.6123601978 -20.7392956407 20.7799135000
+ 0.5295542379 -0.2250071661 -35.2493559799 35.2575069152
+ 0.1140872007 -0.4061326714 -24.4271616496 24.4312027063
+ 0.5793516503 -0.1786532287 -1911.6242361584 1911.6245625604
+ -0.5705294503 -0.0929802913 -92.6514482676 92.6580021685
+ -0.1249769719 0.1112276506 -9.9775245622 9.9799031562
+ 0.1267639857 0.6464357863 -131.5139942798 131.5189909875
+ -0.1015367278 0.3630853446 -71.7653513869 71.7664774121
+ 0.3277860344 0.1102387126 -28.2690304232 28.2755256848
+ 0.2047266662 -0.3857476378 -9.3170959762 9.3403764720
+ -0.1256474972 -0.2130438780 -3.9776460827 3.9853285118
+ -0.0605277030 -0.3312467631 -3.9738260842 3.9880674228
+ 0.0578716286 -0.3491740246 -10.2330530717 10.2391721732
+ -0.0057013642 -0.5058489878 -11.2106359682 11.2220441327
+ 0.4900468767 -0.8026577908 -9.0670360905 9.1167444147
+ -0.4673916845 -0.9511330615 -18.4795910285 18.5099539078
+ -0.1310654482 -0.1149135239 -1.0168734756 1.0411026462
+ 0.9295038293 -0.4354381912 -4.3082149001 4.4310020534
+ 0.3925215679 -0.0310181130 -4.3771434720 4.3970330979
+ 0.5584611626 -0.3282255872 -3.9894308360 4.0440881650
+ 0.0356332630 0.0765158741 -2.0204858185 2.0270587402
+ 0.1852577648 0.1624287279 0.2697331819 0.3910745522
+ 0.1334004357 -0.4481835260 1.7887211355 1.8540947211
+ 0.9754209031 -0.3649901197 6.6321915304 6.7149168280
+ -1.1494308024 1.4262573721 2.8034954216 3.3850596450
+ -0.7857036752 1.2091028349 2.1126117136 2.6050007952
+ 0.0333366267 0.0507063875 0.3379221323 0.3433275927
+ 0.1933418499 0.1695685890 0.4976922898 0.5602072765
+ -1.9158396150 1.0820551625 10.4310583219 10.7018041990
+ -0.3757686714 0.2113238082 2.5788073730 2.6183176084
+ 0.0010329688 -0.1363173281 0.7444824070 0.7568603142
+ 0.0842271744 -0.2253915466 2.5261119628 2.5375455099
+ -0.0481432479 0.2099530614 0.3379894337 0.4007928612
+ 0.0506073977 0.1813691556 0.4893728831 0.5243488324
+ -0.0599660095 0.3112982464 7.0647983279 7.0732847899
+ 0.0028175668 0.4976566672 2.9521526080 2.9938061257
+ 0.0274567968 0.0135910478 0.2467850347 0.2486794033
+ 1.5569738335 0.3274826716 9.6760424782 9.8069715124
+ 0.7575360624 0.2258521996 11.5933737080 11.6581102511
+ 0.2555986792 -0.1153010063 1.5518395205 1.5831331875
+ 0.1318507738 -0.2435745659 6.6582731100 6.6654927640
+ -0.1080138196 0.3291826375 13.4165210403 13.4217191449
+ 0.4646358005 0.3591410291 40.4884008194 40.5035284909
+ 0.4271251242 0.0447644972 19.5432399538 19.5484563945
+ -0.6904290081 -0.3120585253 102.7901921876 102.7930793511
+ -0.2337826626 -0.1788571429 23.1997434095 23.2020304772
+ 0.3943063431 -0.1735105912 71.7186396920 71.7200693145
+ -0.0040369716 0.1877085881 42.4668656473 42.4672806842
+ -0.1624550233 0.2837469813 58.7227521862 58.7236624225
+ -0.3428635045 0.5298714194 2574.2824267008 2574.2826750553
+ -0.2797533128 -0.0960878981 1029.4964719341 1029.4965238889
+ 0.2184529990 0.2133218523 515.7007745620 515.7008838383
+ 0.3236973198 -0.3523977579 180.0965158611 180.0971515307
+ -0.0172488528 0.1425708352 23.4779609914 23.4784002069
+ -0.2399797914 0.3810128528 52.4756401935 52.4777577131
+ 0.0355128878 0.1112677934 0.1466960655 0.2337545884
+ -0.0087539613 -0.0947360320 1.4795180769 1.4891289643
+ -0.0463564818 0.1056412711 1.9953552270 2.0035546582
+ -0.2696587087 -0.2487349200 3.2528352444 3.3110719466
+ 0.0027307893 -0.0190267311 0.1903800706 0.1913479683
+ -0.0869633747 -0.1098722501 0.1453009891 0.2018586568
+ -0.0828839688 -0.3324766028 0.0547421202 0.3740146097
+ 0.0047257428 0.0244240834 -0.0734600460 0.1596716373
+ 0.1745810143 -0.2408045061 -0.0011543959 0.3285520632
+ 0.0249775197 0.0760665884 -0.0003677479 0.0800633349
+ 0.3655474726 0.2396845892 -0.1303504423 0.4561413102
+ -0.1865047970 -0.1857845862 -1.1555124293 1.1851197940
+ -0.2982907896 -0.3566642352 -2.9829723525 3.0189916905
+ -0.1119841989 0.2126377718 -2.5797214252 2.5946478950
+ 0.1995205180 -0.4397893890 -35.8270369580 35.8425745577
+ 0.1681312148 0.0125468070 -8.3855336176 8.3883895573
+ -0.3314704217 -0.1266565014 -16.3052139657 16.3096718778
+ -0.0782369488 0.2617193249 -20.7622337993 20.7644997567
+ 0.4196426353 -0.0693026491 -9.4463103509 9.4569107973
+ 0.3604265585 0.0764434380 -41.4980573479 41.4999276426
+ -0.1757596082 -0.0300109339 -9.2174333537 9.2202141792
+ -0.1222098387 -0.1099781465 -25.8532285375 25.8541280269
+ 0.4602077991 -0.0915845979 -57.8071867255 57.8090911196
+ -0.1513163739 -0.1168866350 -20.0056157170 20.0065294178
+ 0.5603472762 0.6279447781 -11.7668079053 11.7976926465
+ -0.1968057258 -0.1154096495 -3.3202835954 3.3645172009
+ -0.8126710973 0.3640725351 -10.7737676617 10.8217694353
+ 0.0593492912 -0.0636666468 -0.6273516107 0.6485565578
+ 0.0312194806 0.0506192394 -7.0820256419 7.0836504672
+ -0.1717105158 0.2724170955 -10.0619494873 10.0680684764
+ 0.2089637945 -0.4424467108 -14.1073333257 14.1165065900
+ -0.0857289781 -0.1543775363 -1.6614493731 1.6766262809
+ -0.5340775741 -1.1503780357 -2708.2365069273 2708.2368075082
+ 0.0778180101 0.3567950453 -24.6970728376 24.6997725716
+ -0.0420725839 0.1157427221 -11.3404771975 11.3411458657
+ 0.2145656209 -0.1345342227 -15.8289631420 15.8316042080
+ 0.3327392720 0.2973537082 -27.9969337086 28.0008376932
+ -0.0423942819 0.0229363812 -0.9658394215 0.9670414370
+ -0.1307924401 -0.1399762635 -7.5711992742 7.5736225458
+ 0.2365778600 -0.1906339289 -5.0775867298 5.0866685932
+ -0.0024783092 -0.0203955763 -0.0915736511 0.0938501738
+ 0.0992737324 0.0228227990 -3.6964486128 3.6978518766
+ 0.2359637275 -0.1049940725 -5.4963954003 5.5024599074
+ 0.1401829531 -0.1041835990 -4.3492671744 4.3527727297
+ 0.3955647344 -0.0733585951 -7.9237833569 7.9339898934
+ 0.4057786485 -0.4415090720 -7.5657272672 7.5894542395
+ 0.2055409717 -0.0224028190 -9.5303547437 9.5325972599
+ 0.2144532881 -0.2677167489 -10.0939564028 10.0997830834
+ 0.0041321376 0.0159568901 -0.4144701816 0.4147978162
+ 0.1091658174 -0.2228416830 -2.7313641236 2.7461619311
+ 0.0354976324 -0.0274693863 -0.2464334705 0.2867470826
+ 0.3687044853 0.0122020759 -3.7241390977 3.7753118198
+ -0.0901760971 0.0563930464 -1.5579063324 1.5615325948
+ 0.0174864735 0.0456071341 -2.5881191832 2.5885800536
+ -0.1671036396 -0.1347803194 -0.8988331256 0.9241159822
+ -0.1167670205 0.0048269596 -0.7934433238 0.8020038308
+ -0.0235145964 0.0006144249 -0.0502126029 0.0554492493
+ 0.1819547490 -0.0426250174 -0.6304744324 0.6575883459
+ -0.3909384931 0.3018517924 0.7551840469 0.9023582186
+ -0.3552354150 0.1720597599 0.7827555674 0.8766430512
+ 0.1871089619 0.0422899332 0.2433766650 0.3098877267
+ 0.3827376575 0.0730406156 0.8736282008 0.9565820818
+ 0.0221342907 -0.0065738329 0.2825903940 0.2835321373
+ 0.1564142682 0.1247713715 0.4824396859 0.5222847585
+ 0.1287782316 -0.4091758194 1.0783702294 1.1689186545
+ -0.2564950889 -0.2606464573 1.0716497203 1.1408940417
+ -0.3303714257 0.1578131319 1.2231038918 1.2843337489
+ -0.3188065615 -0.2557073514 1.4006901596 1.4657546116
+ -0.0993591260 0.0878224545 0.4374702548 0.4571271631
+ -0.1191889717 -0.0219443703 0.2086117263 0.2412600645
+ 0.5897345042 0.4764231959 11.4280164242 11.4539864250
+ 0.0154754214 0.2925404084 4.1510574005 4.1637214972
+ 0.0510775367 -0.0792630352 0.5786774455 0.5863097556
+ 0.2069192770 -0.0353768710 0.7602484194 0.7886981485
+ 0.0375079488 0.0062012113 0.7270549499 0.7280482136
+ 0.0403891561 0.2183853105 1.7454750670 1.7595472820
+ -0.0017156693 -0.0771051138 2.7916951596 2.7927602844
+ 0.0019415480 0.0537321537 3.6102322741 3.6106326297
+ -0.1315317872 0.1540692671 61.9348233195 61.9351546181
+ -0.0396506130 0.0863630944 11.7868851423 11.7872682210
+ 0.0381045633 -0.0155674825 851.1801058912 851.1801068865
+ -0.0584646471 -0.1214210971 992.9650508434 992.9650599884
+ -0.4081856611 -0.2803671376 16.9624846419 16.9697114440
+ -0.0071913933 -0.0292697037 2.3480573761 2.3482508114
+ -0.3388404753 0.0973857188 1.1728435478 1.2246872391
+ -0.2392447897 -0.0011636744 1.1608490197 1.1852467549
+ 0.3370754456 0.0822810955 0.4009002523 0.5482616454
+ -0.0072558945 -0.1832191046 0.2906155474 0.3708895652
+ 0.0254192043 0.0056867633 -0.0200978737 0.0328998443
+ -0.1378228806 -0.0886827115 -0.2866338379 0.3301798401
+ -0.0856377826 0.2234123020 -0.1045655413 0.2611146088
+ -0.1826535985 0.3828635624 -0.0046237826 0.4242266185
+ -0.4807666736 0.0661396036 -22.3023464872 22.3076258234
+ -0.2818802603 -0.0639399836 -13.8660895117 13.8691017427
+ 0.0593584924 -0.0789288965 -4.4231695178 4.4242718932
+ 0.0206098308 -0.1816942817 -3.5630377489 3.5677269482
+ -0.1395731062 0.0454062959 -2.1680026509 2.1729652271
+ 0.0077059366 -0.0318798451 -1.1163601720 1.1168418597
+ 0.0062342639 -0.0671230588 -3.8336503309 3.8342429801
+ -0.0010916888 -0.1218614146 -1.7505109199 1.7547478101
+ -0.1080006790 0.0539982154 -2.5208082630 2.5236985266
+ 0.0373784716 -0.0025757983 -0.5122818697 0.5136501717
+ 0.0739213199 0.0389779632 -1.8015849388 1.8035220916
+ -0.0219043592 -0.0578478979 -1.5656771298 1.5668985465
+ -0.0033687342 0.0048969148 -3.1137644236 3.1137700965
+ 0.2059305438 -0.2973680163 -1196.8667861741 1196.8668408314
+ -0.0441821522 0.1898415703 -20.8384786328 20.8398575667
+ -0.7184195084 0.3218615607 -54.6789286147 54.6847733440
+ 0.1445133351 0.0484924737 2.0823785218 2.0926097861
+ -0.2526794375 -0.0008910687 4.8830734508 4.8915982872
+ -0.0174280028 -0.1865522740 1.1262829032 1.1417612116
+ -0.0350955288 -0.0085514843 0.0680876546 0.0770762786
+ -0.0432842936 -0.1064261018 0.5611346331 0.5727758041
+ -0.0289697533 0.0398828472 0.3606742537 0.3640272042
+ -0.1772394532 0.0221538909 1.1681873355 1.1817640498
+ 0.0015227240 0.0522741619 0.4980967758 0.5008346082
+ 0.0930627689 -0.0793289613 -9.0955861433 9.0974788177
+ -0.0374291445 0.3579343007 -22.0738965966 22.0772713134
+ -0.2256045876 -0.1839929299 -14.6518713660 14.6554278388
+ 0.1781742035 -0.1970929504 -10.4049821585 10.4093095439
+ -0.0583074884 0.1439923667 -2.6377037388 2.6422745085
+ -0.3524958138 0.3356232977 -10.6166192051 10.6277702103
+ 0.0049004496 0.0593993681 -4.6344500464 4.6348332799
+ 0.0605915531 0.0475524226 -1.1653448875 1.1678875271
+#SUBSTART
+ -0.0509370766 -0.2648594918 0.1699801341 0.3480203544
+ -0.1297912769 -0.2759003549 -1.0849520663 1.1355912787
+ 0.0652306638 -0.7129018550 -351.1482288035 351.1493054483
+ -0.3015960543 -0.1458585900 -1775.2132355578 1775.2135151258
+ 0.3321354402 -0.7784940409 16.1079804654 16.1308053544
+ 0.1205175870 0.0887992391 4.0433635045 4.0761304179
+ 0.3359346105 -1.1972094597 7.3224773818 7.4436871589
+ 0.0829080855 0.4454470746 138.0455563491 138.0463704860
+ 0.0635918667 -0.8102026461 -2.2904744126 2.6056740151
+ 0.1106217095 0.1320705694 -2.9621959263 3.1124068322
+ -0.0018439633 -0.4718247923 -51.6415441608 51.6438881683
+ 0.4661622821 0.1962812673 -362.7733571705 362.7737366268
+ 0.0736242344 0.1199625671 -474.0252419612 474.0252834056
+ -0.5279208510 1.9793568219 7.4654355211 7.7982096123
+ -0.1840205457 0.2223927891 1.3148372398 1.3461497246
+ -0.2418259771 0.1126108279 0.9820526324 1.0176386267
+ -0.3432639653 0.5376209196 3.5008498477 3.6801041632
+ -0.0433748195 0.0869181779 0.8479556590 0.8648379785
+ -0.2474910350 0.1869619687 -0.3144138998 0.4631873006
+ -0.0085349151 0.1408985219 0.6999751635 0.7275783481
+ 0.1520002065 0.0764702116 -0.4289382098 0.4614539455
+ 0.1733493091 -0.2259847111 -0.3828318433 0.4971509607
+ -0.0959267602 0.4924933501 -1.2143896645 1.3213529753
+ 0.3784688678 -0.1932081869 -1.5291462660 1.6632894574
+ -0.0696769887 -0.8419189150 -2.5504064527 2.6903039235
+ 0.0831668918 -0.1394569942 -13.9935549151 13.9944969237
+ 0.0778797648 -0.0356675830 -18.9506642514 18.9508578435
+ 0.1820720753 0.1522757896 -3.9290654376 3.9387019631
+ -0.0417205372 0.3011839377 -1.9958548491 2.0237017397
+ -0.7373897127 -0.0373208856 -12.5400780707 12.5968839893
+ -0.2383350455 -0.0646169635 -1.1634954204 1.2877660886
+ 0.1792952869 0.5302966663 -1.7512820170 1.8438627503
+ -0.2256142409 1.6520027617 -6.4971132055 6.7731297566
+ 0.0732970521 0.1662615766 -0.3991221321 0.4602104203
+ -0.1865785951 0.4311667249 -19.1970624959 19.2033175408
+ -0.0219924106 0.0849892238 -6.1218168250 6.1240368923
+ -0.1455436262 0.2365233100 -28.0888736498 28.1059121847
+ -0.2220745715 0.1081062879 -64.6559168731 64.6632150652
+ 0.0924430469 0.2051632237 -16.4912413395 16.4933671022
+ 0.4955426067 0.3732759117 -3000.3753268557 3000.3754315990
+ 0.1126513862 -0.0245483377 0.1443817409 0.1847675372
+ 0.0059966329 -0.0762029902 0.2326345492 0.2448707593
+ 0.1893094751 -1.1165191621 9.4007603791 9.4697533551
+ 0.1187314507 -0.0326053653 1.1538247897 1.1687393625
+ 0.1403724833 -0.9133144463 13.4439292099 13.4763704349
+ -0.1709321112 0.1187843393 81.7042925194 81.7045576673
+ -0.1133306823 0.0656762364 113.5628793115 113.5629548520
+ 0.3720137596 0.0974798835 217.7876631441 217.7880474088
+ -0.0348477710 -0.4069452150 126.6413037917 126.6420393259
+ 0.1870813130 -0.0872658414 171.0790486592 171.0792301382
+ 0.0001759466 0.9300268342 2738.2295230422 2738.2298417336
+ 0.2115435425 0.0493454778 808.2087014437 808.2087426864
+ -0.3589168658 -0.0189310290 395.3654313613 395.3656193639
+ -0.0114795002 0.0043740579 -0.0962817196 0.1700025462
+ -0.3636800835 -0.2959082893 -3.8536325390 3.8845576903
+ 0.0390260714 -0.1831886651 -1.4836467165 1.5019215977
+ -0.0732673208 0.3033048781 -3.1873277720 3.2025646404
+ -0.1121431565 0.1815430329 -1.4354204019 1.4511945737
+ -0.0367481226 0.1135322170 -36.1418108066 36.1422772962
+ 0.3366319959 0.0292486158 -69.7978579072 69.7988153539
+ -0.1138643127 0.0706805253 1.0829135342 1.0911748443
+ 0.0241182684 -0.0209467974 0.1517293156 0.1550556171
+ 0.1098374573 -0.9261198239 -2.2014534518 2.3908491161
+ 0.1148698677 -0.3937049615 -1.1276685611 1.1999312759
+ 0.0048710519 -0.0390953243 -0.2080152435 0.2117132803
+ 0.1278272213 0.0627784565 -0.3430550188 0.3714400074
+ -0.0004467411 -0.0135715786 -0.1391381485 0.1397991834
+ -0.0128417412 0.3350564029 -3.1644927879 3.1822071441
+ 0.0679682184 0.1417600307 -9.8815485283 9.8953217397
+ 0.0774568048 -0.2061015582 -4.0313510566 4.0679164421
+ 0.0465569470 0.0517187205 -12.8783441615 12.8785321647
+ 0.0329029702 0.0016652131 -0.6586861407 0.6595095226
+ -0.0286011647 -0.0132689891 -29.4065705378 29.4065874403
+ 0.0342840358 -0.1801742160 -571.1574379924 571.1574674397
+ 0.2700205327 -0.3038181850 2.5849056485 2.6166684523
+ 0.1151678658 -0.0400792085 1.0880523467 1.0948643247
+ 0.2003481998 0.5028468806 653.4857191343 653.4859433124
+ 0.1105639743 0.1222869810 263.2936914160 263.2937430285
+ 0.0132757308 -0.0182556346 84.2169361040 84.2169391290
+ -0.0222402968 0.2068650237 1134.2148290558 1134.2148481385
+ -0.2655273249 -0.1042250388 -0.0796661108 0.2961660145
+ -0.8638890910 -0.4856221106 -0.0625385601 0.9929976170
+ -0.0985666673 0.0646456069 -1.6232634805 1.6275376400
+ 0.0447239233 0.0509865319 -0.9601792828 0.9625716134
+ -0.0427734480 -0.0708136968 -3.4481102734 3.4491025797
+ -0.0385054305 -0.0600440521 -14.5159690301 14.5161442828
+ -0.0048801588 -0.1261602670 -0.2173857834 0.2513897527
+ 0.0891232252 -0.0480893864 -0.0853168713 0.1324179251
+ 0.1231818473 -0.1647097198 -1.5403343912 1.5540055007
+ -0.0259388277 0.0015196939 -0.1372863870 0.1397235997
+#SUBSTART
+ 0.3513835747 0.0863842872 0.4305961478 0.7483225669
+ -0.2394316678 -0.0964748384 0.4472757872 0.7143749070
+ -0.0962470037 -0.6143451748 0.1102640111 0.6467777181
+ 0.0882349019 0.9428763691 0.8585895270 1.2858681916
+ -0.5081978700 -0.3991755096 8.9858237983 9.0101118351
+ 0.2502257525 -0.4135313380 29.7060495929 29.7140815855
+ 0.4382471970 0.4828008138 -1.7885108790 1.9087713799
+ 0.0688331918 0.8906618148 68.2269956989 68.2329864389
+ 0.2401969212 -0.7619777158 81.0257680767 81.0351389683
+ -0.3788060032 -0.2183419049 14.6955080966 14.7102945706
+ -0.2081692618 -0.4040860307 11.4923038422 11.5021366428
+ 0.0882205793 -0.0110568982 0.0586545508 0.1755712586
+ -0.3289355697 -0.0163956219 1.8133611763 1.8483035373
+ 0.0515791286 0.2470485053 0.2188255201 0.3620190100
+ 0.0901237096 0.2647083161 0.8978747819 0.9507111467
+ -0.4248530210 -1.2417659758 -1.3072339742 1.8576391674
+ 0.1286987368 -0.0083646410 0.0407527810 0.1943551032
+ -0.1564100953 0.3410265719 -45.1683850928 45.1726401275
+ -0.1260660784 -0.1703210744 -575.6749638566 575.6750197751
+ 0.3196320210 -0.1425785036 -866.1344222912 866.1350012103
+ -0.1587039488 0.6188909248 -143.1835567546 143.1850502588
+ 0.1802038877 0.0611284026 -47.6106990501 47.6112838930
+ 0.0178346007 -0.1592064747 -24.4440992312 24.4450226382
+ 0.9420648081 0.8497533301 -12.6900208445 12.7540454619
+ 0.0387810512 -0.1829012599 151.6305335483 151.6335517344
+ 0.4507642446 -0.2687987137 132.1349766666 132.1393593583
+ -0.0908790077 0.0991418424 0.8937843745 0.9145591243
+ -0.2746445694 0.3186459654 2.9409535285 2.9741641401
+ -0.5603401564 0.8424524862 0.9343869277 1.6664743641
+ -0.4970156516 -0.2495409175 -1.9796930523 2.0610578821
+ 0.1187721030 0.5876354550 -7.3825738961 7.4081913688
+ -0.0218581490 0.0688815068 -3.0486183702 3.0526670622
+ 0.2525240870 -0.4960841087 -9.6546520989 9.7162218373
+ -0.3239554754 -0.1433068940 -2.2427707428 2.4567977560
+ 0.1839998331 -0.2738257098 0.0774495534 0.3664896671
+ -0.2857045623 0.3379413295 0.2323627567 0.5189447704
+ 0.2506682559 -0.0726082590 0.3355672535 0.4474278716
+ -0.0376138396 0.0776708370 0.5555060479 0.5792359744
+ 0.1717120796 -0.4044677745 2.7103949833 2.7457822536
+ 0.0699124145 -0.0808089112 0.3817150550 0.3963889618
+ 0.4451863718 0.6987070109 7.1426676041 7.2074769410
+ 0.2565954670 -0.0562772464 1.4859873092 1.5154690463
+ 0.1777284803 -0.2353512404 29.2371014675 29.2389219983
+ 0.1789671712 0.2193490468 8.4557455846 8.4604832394
+ -0.0210440465 0.0053343587 0.9150385374 0.9152960353
+ 1.2368367824 -0.8910283844 -8.3349804990 8.4875931622
+ 1.0529050908 -0.1832613604 -5.0578894662 5.1714523583
+ 0.6775419726 -0.5864847002 -2.3027461708 2.6435693939
+ 0.0199983460 -0.0627587948 -0.2924209245 0.3306484268
+ 0.2366324956 -0.3284748100 -1.7559709639 2.0316680973
+ 0.3514193699 -0.2543253733 -1.3133852470 1.3901933538
+ 0.1728712083 -0.7057742283 0.2073525280 1.2057315504
+ 0.0517370079 -0.1129449967 0.2762285800 0.3334895854
+ 0.1222946120 0.0289346910 0.2196535496 0.2530629770
+ 0.1454885863 0.0162924103 1.7788962193 1.8519030997
+ 0.6854447280 -0.2328609130 1.2249170321 1.4296713610
+ 0.2132316179 -0.9154663652 1.8533504135 2.0827707337
+ 0.0464755619 -0.1147566085 2.0207004633 2.0244899159
+ 0.7726530146 -0.4068852434 7.7178455675 7.7670900913
+ 0.3269458017 -0.0860636289 2.6983095198 2.7194070622
+ 0.1268780430 0.2180718314 6.8290603940 6.8351444031
+ 0.6455361591 0.5313835850 15.0169463080 15.0408524243
+ 0.5596353138 0.1161023227 17.6030417569 17.6128711547
+ 0.7680020692 -0.1127127811 32.3480580258 32.3709706370
+ 0.6983703179 0.5935546092 89.9948101485 90.0043678519
+ -0.1062699011 0.1869527399 20.6927868264 20.6943748648
+ -0.1307433841 0.0736303268 121.9641081117 121.9642004144
+ -0.0899043048 0.2142744765 137.4759291889 137.4761255734
+ 0.1583710439 -0.1596163519 66.4787949287 66.4810076254
+ -0.0547152709 0.3262564991 30.8900990872 30.8921857185
+ -0.1030840496 -0.0145927889 14.0778153835 14.0788921804
+ -0.3814800376 -0.4953111690 333.5073438232 333.5079590114
+ -0.2517675119 -0.6024863461 376.4509881756 376.4515803591
+ -0.1763305492 -0.0421270053 2.5729633647 2.5831158333
+ -0.3895841814 -0.2476009491 6.3130903830 6.3314826094
+ -0.2550797052 -0.0598126234 8.1363865785 8.1418001415
+ -0.2221070476 0.0151249759 0.3814421288 0.4631826724
+ -0.9161630148 0.5499367145 5.0748116663 5.1879647544
+ -0.0762149093 -0.2521347467 4.6077573416 4.6173897547
+ -0.7777770833 -0.0674658849 4.4260742327 4.4965655489
+ -0.1122568541 -0.3432704188 0.2153668070 0.4204985651
+ -0.9785147782 -0.3390581542 0.7480054023 1.2774833404
+ -0.4740289086 0.1117179975 -0.2792147622 0.5784677912
+ 0.5639903520 0.1294667741 0.1248072592 0.6081968428
+ -0.0084708087 0.0041157778 -0.0236083139 0.0254174489
+ -0.8072015961 -0.9749667678 -3.3431144853 3.5747096493
+ -0.0283360821 -0.1356588674 -0.9180536692 0.9388868869
+ -0.1311486095 0.0017617580 -1.4393881292 1.4520747339
+ 0.0071001260 -0.4130757745 -2.4092590496 2.4484057997
+ 0.3246640651 -0.2998738615 -15.1699075117 15.1843691328
+ 0.1855192498 -0.0002007397 -1.3540292659 1.3737876365
+ 0.1641733496 -0.6556734698 -6.0895820554 6.1285683469
+ -0.1322846352 -0.0809387546 -4.9906636671 4.9950229158
+ -0.2211364576 -0.5250485379 -37.9757233733 37.9802530641
+ 0.1104229890 -0.1018287038 -14.8745442884 14.8759574446
+ -0.4857614264 0.3019904732 -54.8090275897 54.8121897712
+ -0.0385357965 0.0592827995 -5.1775114233 5.1779942059
+ 0.0896591469 0.3006854457 -16.3528825991 16.3558925101
+ -0.3652418169 -0.6842401798 -217.3140789752 217.3155079299
+ -0.0034234873 0.1969739181 -19.3594067330 19.3609121501
+ -0.0290826310 -0.0221466697 -8.4786081241 8.4786869264
+ -0.2577155050 0.0778430860 -165.2421020747 165.2423213795
+ 0.2126398737 -0.2250677107 -279.3267159726 279.3269224529
+ 0.1081640021 -0.1688561687 -84.4485575381 84.4489109575
+ 0.1834010756 0.0865142133 -473.1517199256 473.1517839647
+ -0.0488719920 0.0721643079 -221.7981217409 221.7981827783
+ -1.7448455566 2.4921877129 -616.8193555961 616.8268739309
+ -0.4194674477 0.4334598557 -79.7555558049 79.7579588626
+ -0.2405230503 -0.0328744566 -26.5858463022 26.5873209530
+ -0.6034955259 -0.5141579264 -31.2385200705 31.2488908796
+ 0.1638126043 0.0101811828 -10.5332319494 10.5354351268
+ -0.1401235635 0.0774205777 -1.0673152115 1.0792545203
+ -0.0764670415 0.2015020117 -4.4632576682 4.4684582668
+ 0.1004790435 -0.0916098374 -0.3248806156 0.3521871872
+ -0.1064736351 0.4738688694 -5.2841534501 5.3082620328
+ 0.3218016390 0.1968768848 -9.1562298793 9.2119060459
+ 0.1353904184 -0.0260064587 -1.2436441750 1.2590224463
+ 0.6100942143 0.6575841496 -8.3789476071 8.4790439704
+ 0.2440437200 -0.0330929644 -1.2553184594 1.2868398117
+ 0.0514526277 0.2190608661 -1.5701180420 1.6611883282
+ 0.1372299060 0.7254283299 -3.3552051347 3.4383076636
+ 0.2249887106 -0.1520320231 -0.5965768782 0.6701622285
+ 0.1695471797 -0.3391619865 -0.2457642903 1.0414066346
+ -0.2556074022 0.0614822381 -0.0548780131 0.3026658073
+ -0.2632482254 0.0670017819 0.4434716970 1.0738937554
+ -0.0644068099 0.2659118756 0.1505389224 0.3420513336
+ -0.3570493913 0.0031080420 0.1813753305 0.4241116871
+ -0.0864124590 0.1621691599 -0.1595860487 0.2805591583
+ -0.9306299732 -0.3204726026 1.7361986340 2.0006599706
+ -1.4872367863 1.2030974562 3.5849514878 4.1706097519
+ -0.7031097587 0.6300072817 1.2064951069 1.5383051504
+ -0.2161833966 0.3903551137 10.4084767637 10.4189721519
+ 0.0803149198 -0.0314024289 268.6716585303 268.6717086219
+ -0.1581949575 -0.2312517393 1476.8147189483 1476.8150435840
+ -0.1128636898 -0.2129492528 384.6157144328 384.6158152677
+ 0.0461300467 -0.1554289250 1722.9398811202 1722.9398944016
+ -0.0998121208 0.2192375613 604.2849937145 604.2850578460
+ -0.1306452713 -0.0419120639 -0.1385822216 0.2398116449
+ 0.0670971285 0.2300405729 -0.2102272170 0.3479884444
+ -0.0658102562 0.0504672667 -0.0541361008 0.0990386401
+ -0.0328327591 0.1792983550 0.0355750233 0.1857187994
+ 0.3790254689 1.6577306248 3.3185232279 3.8454023625
+ 0.0790284068 0.0732545670 0.6390348988 0.6629156112
+ 0.4044764321 -0.1037192791 0.2540253546 0.5082986707
+ 0.3155650118 0.0137480471 0.4594672070 0.5747696796
+ -0.2368070353 -0.0717572765 -0.0776267413 0.2945036070
+ 0.0150794557 0.2493484796 0.0538285482 0.2911689402
+ 0.5242711188 0.5212543040 -1.3586428394 1.5530474575
+ -0.1894719837 0.1388649068 -1.0339703461 1.0694660146
+ -0.3230259180 -0.7345551608 -4.0749313721 4.1555339609
+ -0.5041837063 -0.8320104728 -10.0061700444 10.0543205330
+ -0.4430443258 -0.1303902894 -2.1797648253 2.2325197381
+ -0.2655783851 -0.0905889652 -0.9675911081 1.0170794348
+ -0.3808833270 -0.0313661032 -3.4652636450 3.4890669032
+ -0.1074870207 -0.0080526398 0.0037284190 0.1763859140
+ 0.1188952262 -0.1178720167 -1.9654917259 1.9775407446
+ -0.1168153378 -0.2905825802 -0.2873425139 0.4473584293
+ 0.2049314285 -0.2479883935 0.2698296068 0.4198846870
+ -0.0115063078 -0.0023845109 -0.0063955375 0.0133784869
+ -0.0372355634 -0.0566035911 1.2681726633 1.2699812430
+ 0.0095869995 -0.0500175566 0.1409128402 0.1498335578
+ 0.0651788088 -0.0161068207 -0.3786984860 0.3846040173
+ 0.0880974512 0.1266280344 -1.7199246665 1.7268285029
+ 0.5861372256 -0.6143882111 -6.2493026180 6.3263329316
+ 0.0316062155 -0.0701959191 -0.0816668505 0.1122314323
+ 0.0700243700 -0.0096230070 0.0371710422 0.0798605098
+ 0.0811806041 -0.1901402898 -0.0263621421 0.2084192477
+ -0.0030988249 -0.0110203230 -0.0589043005 0.0600063901
+ -0.0027336410 0.0395970907 0.0654290850 0.0765269074
+ -0.0803960589 -0.0443262239 -0.0079819519 0.0921523303
+ 0.7791232530 -0.2180356777 1.5238053207 1.9639006717
+ 0.0454966914 -0.0416899157 0.3516787782 0.3833611169
+ 0.2095421580 -0.2994765104 0.9330361334 1.0020731123
+ 0.1476283312 -0.0694285574 0.3343999962 0.3720723132
+ 0.5711175696 -0.2783425159 1.4917671457 1.6214250064
+ 0.0388355179 -0.0696716584 0.1901792717 0.2062292239
+ 0.2132034763 -0.2607602674 0.5536634459 0.6480700970
+ 0.0014997178 -0.0745293339 0.2221850392 0.2343566991
+ 0.9662601153 -0.7349221488 7.1749592229 7.2782751260
+ 0.2981093263 -0.1352674214 0.8619324895 0.9325094354
+ 0.2706155557 0.1954741305 7.3065204295 7.3141427182
+ 0.2527854008 0.3085378940 6.7006701520 6.7125313092
+ -0.0484253203 -0.1535503692 1.0508531019 1.0631156895
+ -0.0073954533 -0.0316416273 1.1277327544 1.1282008025
+ -0.0361965680 0.0967665602 1.8918128213 1.8946318137
+ 0.1201730013 0.2366800895 4.2592436700 4.2675069602
+ -0.1022789177 0.1157269997 111.9907956587 111.9909021572
+ -0.0385313296 0.0033758186 6.5748743822 6.5749881521
+ 0.0262426582 -0.4107163889 21.5650881072 21.5694664163
+ 0.2220230408 -0.1883020242 7.2028256603 7.2100575005
+ -0.1632574252 0.2417854378 21.7088366894 21.7310619664
+ -0.0324910742 0.0813730435 6.9821019527 6.9840464421
+ -0.0050033700 0.0490308675 0.2916829212 0.2958174879
+ -0.1734647770 0.1735972586 3.9232654003 3.9309334054
+ 0.2533262048 0.2469523288 -2.3632817914 2.3896151247
+ 0.0196764305 0.0160780510 -0.0419359201 0.0490335297
+ 0.2930993519 0.0841211651 -0.8909584177 0.9416955466
+ -0.0141795796 0.0136312697 -0.0471636871 0.0511007375
+ -0.1453322307 -0.0139368720 -1.2076737231 1.2164668163
+ -0.1630557917 0.0003257640 -3.1463672485 3.1505894940
+ 0.0095116858 0.0180053813 -0.1189006657 0.1206318127
+ -0.1769584512 -0.0276514653 -0.2729277487 0.3264482394
+ 0.1896578048 0.4085830995 -45.5044755719 45.5094263064
+ -0.1524816922 0.0190522875 -11.2835849965 11.2846313201
+ -0.0360013212 0.1013039258 -8.1518479826 8.1525569064
+ 0.0541654450 -0.2255027699 -46.9986165450 46.9991887434
+ 0.0908246117 -0.2086991583 -80.2573434400 80.2576661790
+ 0.0573497401 -0.0666658658 -64.6668414856 64.6669012792
+ -0.0386824311 0.0160515455 -10.9807010116 10.9807808779
+ 0.1910298306 -0.2779106293 -391.7005768967 391.7007220671
+ 0.1300084946 -0.1303620513 -354.3333990162 354.3334468475
+ 0.0251052219 -0.1885166599 -285.6351653452 285.6352286582
+ 0.0869150029 -0.1962836236 -585.1473153807 585.1473547566
+ -0.4971768159 1.2021426904 -241.3635377853 241.3670435334
+ -0.3171213084 0.7550579181 -133.3462899279 133.3488047038
+ 0.0298209664 0.4932502680 -92.0747424137 92.0760684199
+ -0.0918700286 0.8593316264 -142.5516850893 142.5543047850
+ 0.0022881145 -0.0183777781 -2.9930200237 2.9930773195
+ -0.3489039330 -0.2466578632 -200.3801401872 200.3805957559
+ 0.1115025753 0.2281227797 -18.2499967926 18.2522967196
+ 0.1880057745 -0.0933137134 -6.5186782948 6.5235496561
+ 0.0514040776 -0.1979955194 -3.6573958348 3.6631119144
+ 0.0465743616 -0.0353700208 -0.3814593489 0.3859163697
+ 0.2128325537 -0.0942725555 -0.0134117086 0.2331627855
+ 0.1240031763 -0.0162884840 0.0893528319 0.1537076153
+ 0.0120010760 0.3680152047 0.4202785963 0.7482571377
+ -0.3442075736 0.8041751857 0.7264554852 1.1370638307
+ 0.0076321592 0.0019066994 0.0015007169 0.0080085896
+ -0.0167925223 0.0279474618 0.0080812496 0.0335910110
+ 0.1810677361 0.2432940014 0.3580630615 0.4692405057
+ -0.5266418094 -0.6322139825 0.6574217017 1.0532091003
+ -0.2982095941 -0.2345215137 0.2467416052 0.4525601862
+ -0.3724109473 -0.3054553985 1.9831696794 2.2467190916
+ -0.0436926025 -0.0291551658 0.1958170811 0.2027397259
+ -0.3107149439 -0.2210414708 0.5131845065 0.6393445440
+ -0.3876987808 -0.0238519199 6.6548850022 6.6847624550
+ -0.0000806122 0.0857601813 14.7877350752 14.7879837527
+ -0.1944682679 0.1308906987 47.2761395375 47.2767206969
+ -0.2261926949 0.4047311087 0.5617003127 0.8821298520
+ -0.0927429169 0.0857225751 -0.0123488268 0.1268940584
+ 0.0095444890 -0.0370200596 -0.0157182661 0.0413357711
+ 0.0520036366 0.0216514984 0.0463238464 0.0729319159
+ -0.0356572397 -0.0504258695 -0.0269616210 0.0673879519
+ 0.1207138060 0.0316860843 0.0132839635 0.1255081455
+ 0.0483281031 0.1503209370 0.0156791213 0.1586752170
+ -0.0004292783 -0.2162291731 -0.6127388926 0.6497724141
+ 0.1326266003 -0.1931440529 -0.6109146182 0.6543020029
+ -0.1128137064 -0.2122895578 -0.8568156382 0.9007811119
+ 0.1681673440 -0.1731319996 -2.4547336051 2.4705165051
+ 0.1826472912 0.0559993044 -0.0106887589 0.1913379331
+ 0.2113169464 -0.0797999001 -0.0268818269 0.2274763911
+ 0.0378914183 0.0495242267 0.1091709586 0.1257247263
+ 0.0472951004 0.0243294952 -0.0365668762 0.0645436851
+ 0.0337805991 -0.0320483379 0.0883461283 0.0998662266
+ 0.1997591503 0.0075575967 0.0587808887 0.2083651321
+ -0.1238906915 0.3094257544 0.2326753235 0.4064861709
+ 0.0285115833 0.1523117308 0.1488429769 0.2148627597
+ 0.0337604191 -0.0011512632 -0.0444313839 0.0558143277
+ -0.0853958386 0.0842971209 -0.0137632047 0.1207802949
+ -0.0906088516 0.1313208263 -0.0807469672 0.1788160958
+ -0.2982407157 0.1338396349 -0.0802725363 0.3366069703
+ 0.0842579992 0.0465765645 -0.9480490171 0.9529248269
+ 0.1753075370 -0.0330739435 -0.8162876861 0.8355550280
+ 0.0233613671 0.1374946930 -1.6842967976 1.6900610186
+ -0.0104885032 -0.0039609901 -1.4305331671 1.4305771005
+ -0.1568064396 -0.2921406838 -3.9731468285 3.9869575066
+ -0.0189382543 0.0049192561 -0.0786708200 0.0810675921
+ 0.4072918690 -0.3850262714 0.7891977184 0.9779799179
+ 0.3576534236 -0.4609440474 1.7453730619 1.8455872497
+ -0.0109044807 -0.0489811159 16.1431782388 16.1432562300
+ -0.1348219263 0.0621136559 40.9312911311 40.9315603015
+ -0.0466158917 0.4899579310 255.1024573732 255.1029321464
+ -0.0294563013 0.0099071009 17.3387371998 17.3387650514
+ -0.4092977643 0.2592610266 5.6280044295 5.6505446271
+ 0.0390781913 0.1223951497 4.2729081893 4.2771172367
+ -0.2960106623 0.1327471298 -1.4325253415 1.4754161283
+ 0.1321383114 0.0286037763 -0.7034850307 0.7298285296
+ -0.0742082503 -0.0637583434 0.0862751249 0.1304430448
+ 0.0139318062 -0.1172677077 0.2820643613 0.3057876950
+ -0.0377906757 -0.1980415706 -1.3148594040 1.3302269924
+ 0.0923925970 -0.4442223395 -2.3801195057 2.4229813743
+ -0.0624540441 -0.1397797130 -1.1614842197 1.1715308226
+ -0.1304726959 -0.0219842154 -1.0945031652 1.1024715909
+#SUBSTART
+ -0.1734802534 -0.6041668205 -0.1421520806 0.6593936186
+ 0.4443987084 0.1415820509 0.5326604713 0.8630781116
+ -0.0787821948 -0.0818522167 0.7012006802 0.8650027592
+ -0.0905139288 -0.5927715090 -0.6316011141 0.8820264086
+ -0.5943964647 -0.3576600087 -103.3205943620 103.3241021646
+ 0.0223434023 0.1266335828 523.8052686327 523.8053030110
+ -0.0575108692 0.5959050182 -2.7909402527 3.0046810776
+ 0.3069975221 0.1023654814 1.4141896532 1.4574423935
+ 0.0592643018 -0.2362899846 2.1181056544 2.1366320606
+ -0.0508582763 -0.3792723507 2.6871176324 2.7178143858
+ 0.9616613368 -1.2990970152 15.4607226708 15.5456061596
+ -0.1830107530 0.1251128457 1.6697175951 1.6901428318
+ 0.1940028217 0.5105226357 0.7085770749 0.9054455878
+ 0.0657422154 -0.4273219204 1.3012054987 1.4572929603
+ -0.0997198286 0.1260492435 0.0580357083 0.2206363169
+ 0.5213862652 0.5884167570 -0.7804661353 1.1165505321
+ -0.3223707327 -0.4524102880 -2.8138441856 2.8715495544
+ -0.1316881238 -0.1507365427 -5.4327603602 5.4588084193
+ -0.1414872979 0.0368425353 -4.1659346682 4.1976217848
+ 0.0491209552 -0.0766561171 -6.0326205865 6.0534652167
+ 0.4435705326 0.0278006940 -6.4770933992 6.4938237105
+ 0.1889086076 0.5401954372 -13.9149142356 13.9266771255
+ 0.2680073416 0.2273877454 -25.9716436074 25.9743967125
+ 0.5801820870 0.1288392377 -5204.6451886675 5204.6453074078
+ 0.0974608350 0.0542162049 0.1249135093 0.2179935342
+ 0.4607558325 0.8695076077 3.3822885311 3.5252935919
+ 0.0528442804 -0.2863591633 2.7110654417 2.7302288737
+ -0.1251166711 0.0155063756 0.9371201624 0.9558078325
+ -0.2564335475 0.2159304535 1.8392774016 1.8747813925
+ -0.0230738398 -0.0027189269 17.7405780807 17.7411423030
+ -0.1046715048 0.0107004547 122.5364074007 122.5365320592
+ 0.2123350858 0.0998350989 3.9711557758 3.9780813756
+ -0.0010632646 0.0302179597 0.1680133022 0.1707124053
+ -0.0596022320 -0.4832071644 172.3906884120 172.3914324221
+ -0.6495453516 0.0584863024 3650.9960390211 3650.9962178326
+ -0.1740655122 -0.0806533981 551.7780176316 551.7780686336
+ 0.1299177805 -0.3327717024 626.3304378584 626.3305552847
+ -0.1680372555 0.4438737410 0.2109428577 0.5378076713
+ -0.5363354113 0.0029591480 -0.4613330325 0.8626317620
+ -0.0497901576 0.2899353359 -0.0676833640 0.3325693634
+ -0.1279344345 0.6757355112 -0.2080739530 0.8717347248
+ -0.2475285333 -0.0770208859 -0.1701051824 0.3400266896
+ -0.2310754579 -0.9986128508 0.2013776147 1.0538767583
+ -0.2412693537 0.5685249332 -1.0634730503 1.2376939098
+ -0.1011573295 0.0505398783 -11.3515882563 11.3908600912
+ 0.0520423101 -0.0672655598 -1.3867686645 1.3963667754
+ 0.2313286717 0.1176001878 -10.4576544974 10.4618048219
+ 0.1391125635 -0.1956243934 -29.8690528923 29.8703435145
+ -0.2009385373 -0.0156450475 -19.1777952390 19.1793621134
+ 0.0535340978 -0.1883255548 -43.5964076343 43.5970706678
+ 0.2279978612 -0.0617316098 -27.2323609417 27.2333853253
+ 0.2536002229 0.0568476880 -38.7283576421 38.7292296643
+ 0.0776591667 -0.0580536110 -101.2558722941 101.2560149077
+ -0.2258733262 -0.7381644083 -117.4678617981 117.4704811459
+ -0.1689065502 0.1150742064 -0.0626991002 0.2553085540
+ 0.2401454328 0.0554121902 -0.0853807601 0.2958208897
+ -0.0072941971 0.3797417417 -1.0431272235 1.1101222455
+ 0.0367663270 0.2501462116 -0.4469108255 0.5134726632
+ -0.0724928974 -0.1153778103 -1.5979547385 1.6037539105
+ -0.0671331855 -0.0804901441 -3.5882366067 3.5897670500
+ -0.1546711308 0.0146859195 -4.1777297713 4.1806177625
+ -0.0365854078 -0.0692633348 -1.2711935789 1.2736047333
+ -0.0609984921 -0.0764320590 -13.5441712044 13.5445242180
+ -0.3339793544 -0.0896602029 -32.6346811914 32.6365132578
+ 0.0939780897 -0.1198445091 -399.2274933145 399.2275223638
+ -0.0001960881 -0.0946678667 -601.0634071431 601.0634145982
+ 0.0976934242 0.1191038860 1.1753632392 1.1854148999
+ 0.0904562731 -0.0271725062 0.8370557516 0.8423675052
+ 0.1290435611 0.2429608757 1.4765722921 1.5019813453
+ 0.0879582657 0.5046377586 3.2812641836 3.3210074626
+ 0.0145036523 0.0123537927 6.7250561883 6.7250831748
+ 0.1227715488 -0.2164119558 27.8873284417 27.8884383680
+ -0.0965883056 0.1453065644 160.5906474174 160.5907422028
+ 0.0020149626 0.1023885242 42.6336715583 42.6337945533
+ -0.3228813408 0.0186734444 713.9731362588 713.9732095116
+ -0.1271526455 -0.0804418439 330.6858342898 330.6858685197
+ -0.0031595986 -0.0327052276 0.3487370793 0.3502815517
+ 0.1927768334 0.0163487302 1.0155757844 1.0338396212
+ 0.0261850537 -0.0352144032 0.0216618444 0.0489381930
+ 0.1094173635 0.0558621251 -0.1016963366 0.1594831694
+ -0.0084439985 -0.0679023673 0.0322318056 0.0756367760
+ -0.0684326877 0.0544960496 0.0432654693 0.0975948410
+ -0.1259573171 -0.0143346254 -0.4511619109 0.4889760546
+ 0.1377687227 0.3693423903 -0.7420435084 0.8517642722
+ -0.2802526561 -0.1529295678 -14.3956013798 14.3991412275
+ -0.1589627168 -0.2036933693 -14.7604705739 14.7627318508
+ 0.1115740216 -0.0143871725 -5.2956564841 5.2968512676
+ 0.0056657821 -0.0522380541 -0.7621266101 0.7639357861
+ -0.3279092480 0.3435085073 -56.5342112437 56.5362057758
+ -0.1787150844 0.1136784234 -35.7344525606 35.7350802668
+ 0.0259034502 0.1418016086 -1.4082850397 1.4225066688
+ 0.0312634471 -0.2088360572 -0.6664225938 0.7128735936
+ -0.0507776495 -0.0704892619 -6.8536448739 6.8541954424
+ 0.0017364223 0.0182842508 -0.1505630033 0.1516790921
+ 0.2599755299 0.0628337163 -13.8705334856 13.8731119265
+ 0.1870480262 0.0921703262 -6.4185287169 6.4219150744
+#SUBSTART
+ -0.1039065923 0.0051110575 37.9336431352 37.9340425475
+ 0.1039065923 -0.0051110575 0.5220210047 0.5502803077
+ 0.1034556933 0.3673674817 -2882.4625129511 2882.4626909261
+ 0.4232895108 0.4152906349 -2175.8930370949 2175.8931223748
+ -0.1411130628 -0.3963674436 -6.9145578872 6.9287524567
+ 0.1517250416 0.3954868301 -1.8422058821 1.8954241262
+ 1.1065101142 0.2749451166 -10.2224525153 10.2976762348
+ 0.3962337478 0.1346423045 -12.2245997474 12.2417159613
+ -0.3096747287 -0.1012363756 -1.7799566916 1.8756422967
+ -0.3998973155 0.1328527280 0.9435873110 1.0427868951
+ 0.0996720735 0.1357040248 -0.0345750576 0.2214166301
+ 0.3664551199 -0.5493840302 20.9586439962 20.9900267012
+ -0.3802947715 -0.0339800129 37.7033098950 37.7169153880
+ 0.2034489154 0.5002362111 142.2573944596 142.2584879224
+ -0.3106042504 0.2462147367 1287.4155349562 1287.4156035341
+ 0.1628871932 -1.0632061761 907.2064559011 907.2075787376
+ -0.5609124055 -0.2393434827 0.3113120613 0.6987868157
+ 0.0175247922 0.2683783832 0.4695669622 0.5588443359
+ 1.1220437970 0.5833688799 -0.6077705844 1.6886321093
+ -0.1326592342 -0.1950979122 -3.7135707186 3.8378458717
+ 0.4649766782 0.4590134083 -1.0238500172 1.2225568547
+ 0.4094962442 -0.1448258130 -2.7242652115 2.7622024577
+ -0.2614016343 -0.0546712323 -4.7177679129 4.7510309195
+ -0.0389861985 0.8817123334 -241.6885697156 241.6920023880
+ 0.7370695954 -0.6471947066 -438.8132699339 438.8153721036
+ 0.0027705361 -0.2894844961 -1.5913639365 1.6174820332
+ 0.0069707551 0.0112204726 -0.1978958306 0.1983362050
+ -0.0605733521 0.0262848931 -0.3766114468 0.4070331600
+ -0.9279145314 0.1252598721 -10.6178694360 10.6599881125
+ 0.5999660866 -0.5149943295 -4.8225776712 4.8889583394
+ 0.6419844727 -1.0834346584 -8.4814921860 8.5756145091
+ 0.0638010032 0.2587692383 -2.7176651062 2.7342669038
+ -0.0632748766 -0.4452752965 -2.8247544265 2.9026112950
+ 0.1886979313 0.0553675578 -1.7820037420 1.7982462560
+ 0.4034994338 0.0684907907 -2.2310359963 2.2682646227
+ 0.5555470663 0.2060544347 -2.6328824834 2.6987332481
+ -0.2506615571 -0.3669370219 -2.6645504144 2.7049552103
+ -0.2472580843 0.1274218453 -0.0907360477 0.5738003810
+ 0.4137344322 0.2032217605 -0.1844874201 0.5157428210
+ 0.0877180488 0.0017347943 -0.0511241690 0.1015438145
+ 0.1899687547 -0.1670324770 -0.3344824477 0.4193643809
+ -0.9478307825 -0.3695990951 -0.7087243369 1.2477005466
+ -0.3216864310 0.3585487666 0.5641095059 0.7548103719
+ -0.1082089695 0.2384215269 0.4677429161 0.5539108467
+ 0.2407833089 -0.1970657345 0.4922551973 0.5988375988
+ 0.1721983140 0.1365870249 -0.0675218218 0.2689744524
+ -0.0780196050 -0.2124420431 0.3486728024 0.4384873869
+ -0.3187790217 0.4238260521 0.9355522532 1.1832783129
+ -0.4180636942 -0.3091524746 0.6595230849 0.9741479172
+ -0.0057599471 0.1057756440 0.2457744754 0.3018386018
+ -0.1818004317 0.2481281858 0.1997776840 0.3924409528
+ 0.1337357285 0.0564103971 0.2281081205 0.3042704020
+ -0.4834817121 -0.6207110617 0.9215502538 1.2197423676
+ 0.0083982759 -0.0143388489 -0.0618281712 0.1535533825
+ 0.0613117494 -0.0938097722 -0.0262954669 0.1809161144
+ -0.1182343544 -0.7619446561 0.5949061311 0.9738851710
+ -0.1458008411 0.0574592875 0.1636242427 0.2265664312
+ -0.2680402121 -0.1111101158 0.5714457284 0.6559123558
+ -0.1630883591 -0.2669096387 3.3679510266 3.3853230969
+ -0.6383325092 -0.6548783764 2.3345166573 2.5111315952
+ 0.0274365592 0.0580202893 6.7840576090 6.7857966773
+ 0.2268176806 -0.1984675096 6.1102538196 6.1192742329
+ -0.1849019690 -0.2966372399 9.6386204680 9.6459663436
+ -0.1468270345 0.7480774698 10.9211651245 10.9588624736
+ -0.0041426521 0.2284397826 11.1371480988 11.1403657685
+ -0.0271887007 0.1067016442 3.0696058649 3.2120704253
+ -0.3348621699 0.0254219873 2.7377217740 2.8020600318
+ 0.2474702119 -0.0717134448 0.7921330295 0.8445938937
+ -0.0120867789 -0.2521130103 0.2865576135 0.3818668957
+ 0.1091019451 -0.2104094790 0.3399961895 0.4144548132
+ 0.0340184432 0.1320421419 0.0514899758 0.1457518416
+ 0.6135930141 0.8937962796 0.4662534848 1.1801527395
+ 0.0368112000 0.6434021832 0.6341470437 1.3039385306
+ -0.1522087245 0.1442942087 -0.1156828694 0.2772194539
+ 0.7879368308 1.1240806020 0.1563957485 1.6708240674
+ 0.4606761494 0.5314601126 0.2408973797 0.7564282506
+ -0.5920719378 0.0604711208 0.5583672734 0.8279249561
+ -0.6474928874 -0.6703616379 19.4889211831 19.5116929156
+ -0.0478520576 0.2350259357 412.2824708696 412.2825406361
+ 0.0788380057 0.1776706681 385.2613040814 385.2613531160
+ -0.2964233868 -0.0254668328 974.2100070225 974.2100624496
+ -0.0852523310 0.0773462890 65.9798970457 65.9801450768
+ 0.4409343342 0.3117100979 933.3545773441 933.3547439828
+ 0.1073993289 -0.1328245249 175.2940498079 175.2941885939
+ -0.6293620655 -0.4818051760 126.6400829780 126.6426402493
+ 0.2167947516 0.0817237799 109.8111896095 109.8115227195
+ -0.1180107168 -0.0472207866 2.8662901789 2.8724998706
+ 0.1850697253 0.2411865730 3.6587042026 3.6739648873
+ 0.0934140245 -0.4062675746 1.7987426855 1.8516842484
+ -0.1513943519 0.0578420144 0.4485903519 0.4969698554
+ 0.4440681710 0.3096166890 3.8728514427 3.9129933704
+ 0.3728657612 0.1979906872 -0.0492209489 0.4473607882
+ -0.1552187472 -0.1080082267 -17.1017877168 17.1034026302
+ 0.0498557590 0.0123088693 -3.7247487643 3.7251027452
+ 0.1750868784 0.3270039615 -46.0428202437 46.0443143395
+ -1.0532051166 0.3027144018 -173.7614219882 173.7648774879
+ -0.0899923848 0.2418175494 -30.7830451748 30.7841265078
+ -0.0115458851 0.0398428159 -4.7958709859 4.7960504095
+ 0.0323371416 0.0212456978 -8.5915803861 8.5916675099
+ 0.2022442611 0.0346197511 -11.7742272909 11.7760150121
+ -0.2370913767 -0.2248721240 -133.7537431868 133.7550531279
+ 0.2023546551 0.0181372237 -196.9018849706 196.9020392508
+ 0.2040566843 -0.1974873361 -125.9760498977 125.9773369665
+ -0.1681111823 -0.1788885259 -24.7525603703 24.7541711060
+ 0.1934901133 0.2544818011 -101.7165589969 101.7171571239
+ 0.4431634221 -0.8048983472 -3.4464391011 3.5668189814
+ 0.5239966650 -0.6821225560 -3.2543208416 3.3660760281
+ -0.0580010022 -0.1766229554 -1.8728430707 1.8820470111
+ -0.0327618734 -0.0629395750 -2.1664999530 2.1676615918
+ -0.0127584669 0.0096437241 -0.3558998427 0.3562590040
+ -0.0192497129 -0.1497355481 -0.5145898226 0.5362778863
+ 0.0672581358 -0.0552225762 -0.1369944864 0.1622981178
+ -0.0193951643 -0.0472293832 -0.3902059210 0.3935320163
+ 0.1980909280 -0.2636747290 -2.4542451812 2.4763044619
+ 0.0050794673 0.0139014216 -0.0495400322 0.0517036295
+ 0.1636916316 -0.3521738423 -5.6301432367 5.6435214389
+ 0.1599063552 -0.2376317754 -2.8619667973 2.8762636966
+ -0.0224755734 0.0120320984 -0.6123148647 0.6128453446
+ 0.1692305961 0.0622473954 -1.9883333474 1.9964927331
+ -0.1013839586 0.1265374641 -6.7744120413 6.7763521855
+ -0.0128024845 0.0231933722 -0.1821114059 0.1840282595
+ -0.0216433426 0.0285919252 0.0786113553 0.0864041530
+ 0.0545751693 -0.0185899990 -0.0250181285 0.0628485793
+ -0.1423437673 0.3345611322 0.1760116533 0.4039467803
+ -0.0844514265 -0.0228228490 0.6665368701 0.6722531704
+ -0.3037044020 0.0529864744 -0.0134818101 0.3085865997
+ -0.0271790976 -0.0103959124 0.0437842271 0.0525722064
+ 0.0950867531 0.0392774979 -0.0696607725 0.1242450629
+ -0.0280429602 -0.0193411285 0.0151170851 0.0372694665
+ -0.1508107793 0.0676924340 0.1211147168 0.2049266488
+ 0.0065719502 0.0821609560 0.0514224499 0.0971487600
+ 0.3805017428 -0.1369645127 0.3552801363 0.5382980859
+ 0.0661718044 -0.0720033691 0.0313062800 0.1026804559
+ -0.1513072139 -0.0639385966 2.3572036956 2.3629200748
+ -0.8838879674 -0.4346420971 19.6561054667 19.6807686285
+ -0.2779044034 0.1211170347 5.8586924744 5.8665302951
+ -0.1343317569 -0.0345749808 2.4292301943 2.4331871665
+ -0.7455485397 -0.5204308906 22.5996745090 22.6374099543
+ -0.2480076375 -0.1993699238 5.0334263565 5.0454055165
+ -0.0246675830 -0.0080580270 0.1623808065 0.1644413202
+ 0.0995700893 0.1215190286 0.4044664781 0.4339057604
+ -0.0468402196 0.5962391038 0.9068834038 1.1949092066
+ -0.0702712395 -0.0234918490 0.3841131004 0.3911940541
+ 0.0437038875 -0.1067430091 0.5967806301 0.6078249915
+ -0.2370575603 0.2063068478 940.1573030915 940.1573556140
+ -0.0615978617 0.0296470614 86.9643150880 86.9643419568
+ -0.3231725544 -0.5223856757 179.4678455043 179.4688967405
+ 0.0049750786 0.0026916162 0.5170926580 0.5171235957
+ -0.1749963829 0.2233065660 2.9392507299 2.9529111753
+ 0.0151677692 0.0740437515 1.1436933832 1.1461880706
+ -0.0805072621 -0.0063345819 1.6103232025 1.6123468493
+ -0.1148525386 -0.0384120338 0.6812536392 0.6919343256
+ -0.1424136704 -0.0479389019 -0.2696774262 0.3087162225
+ -0.0305664054 0.0590206841 -0.1768966179 0.1889713199
+ 0.4746987215 0.2164568022 -3.0048827891 3.0498381924
+ 0.0991807664 0.0801456524 -1.1629700215 1.1699399219
+ 0.0952798243 -0.0479218531 -1.4793221784 1.4831617769
+ 0.1024359657 0.0790097780 -1.1669209573 1.1740699266
+ 0.0995366917 -0.0405691920 -0.5682548317 0.5783311907
+ 0.0901591062 0.0917672139 -0.9004189009 0.9095625778
+ -0.1019200353 0.4499532578 -10.2429764583 10.2543109051
+ -0.0106130842 0.2691275418 -17.6247297227 17.6273401242
+ 0.0434971876 0.2857760563 -6.2137669961 6.2204871386
+ 0.1297485746 0.1540029648 -3.7710577065 3.7764305675
+ -0.3852392116 0.7685264631 -181.7900181124 181.7920507819
+ -0.0526601807 0.0398120413 -9.9723768875 9.9725953933
+ 0.0612640533 -0.0731883131 0.1410934528 0.1703442862
+ -0.0049150314 0.0312590731 -0.0070712766 0.0324236047
+ -0.0553722816 -0.1733983055 0.1090969179 0.2122149839
+ -0.0016237695 -0.1482247201 -0.0268711003 0.1506494617
+ 0.1014096975 -0.1593307325 0.1407920095 0.2355686716
+ -0.0166242150 0.0058894077 0.0623495601 0.0647959667
+ 0.0463266376 -0.0170960604 -0.2371025418 0.2421901071
+ -0.0757088802 -0.0959765289 -1.1019265373 1.1086863498
+ 0.0306894230 -0.1885989198 -2.9802004337 2.9863198118
+ -0.0323073059 -0.4311671345 -10.1014237872 10.1106731422
+#SUBSTART
+ -0.2142622169 0.0132640633 -4052.3894773558 4052.3895919643
+ -0.1841169489 0.3410823540 5.4810937741 5.4965539176
+ -0.8010173997 0.1515839082 7.4863371212 7.5318875346
+ -0.0244780853 -0.3729051304 0.8373221513 0.9274942495
+ -1.2690867166 0.7869083518 -0.0409538738 1.5732526905
+ 0.2654372432 0.1206053163 -2.4895099164 2.5104067362
+ -0.8244243628 0.9384208203 -17.5886237149 17.6334759232
+ 0.0380115412 -0.0966053111 -3.3781296849 3.3826051227
+ -0.0821663003 0.2806009503 -153.2040649188 153.2044074941
+ 0.1555363725 0.5610747953 -179.8805043996 179.8838936930
+ 0.3146196330 -0.6417709607 -36.9821936676 36.9893631161
+ 0.1164330153 0.2746600055 -127.7132381147 127.7136627941
+ 0.7372036343 -0.9010700684 -41.9826939987 42.0093125681
+ 0.7772580311 0.1887906058 -33.2915879777 33.3144105848
+ -0.5695048024 0.1928050554 187.3823155685 187.3839303096
+ 0.0734573508 0.4179464513 22.6073235101 22.6117365829
+ 0.3028687216 0.3416629543 0.7787232019 0.9134290596
+ 1.5113505593 -0.8319323071 4.3801223220 4.7096967225
+ 0.4194522363 0.3437806609 -0.1491879678 1.0939529076
+ 0.3345456002 -0.9500052286 -2.0978704344 2.5091515788
+ -0.6172043868 0.2847387002 -0.5154442234 0.8643956934
+ -0.8303424704 0.3742602810 -0.7734765596 1.2030316493
+ -0.3334019759 0.2243061588 -0.1255667925 0.4435278285
+ 0.1542546701 -0.2325117203 -150.9195177596 150.9205828837
+ -0.1984983628 -0.0696492444 567.8250587967 567.8251149164
+ -0.9787689728 -1.0768889568 2809.0842232381 2809.0846036394
+ 0.0751778353 0.0156020723 -766.4294671890 766.4294710348
+ 0.0002771890 -0.0398063977 -73.8241060446 73.8241167771
+ -0.2345572194 -0.7000360590 31.3789857004 31.3915506486
+ -0.3991794306 0.0554905345 25.2952496033 25.2988449478
+ -0.7810930341 -0.1422369735 46.7683150621 46.7752617440
+ 0.6595146577 -0.6449841753 29.0325613258 29.0475482802
+ 0.7786390580 0.2869091319 43.8005611855 43.8086433890
+ 0.2748563098 -0.6668204914 10.3376283300 10.3636979324
+ 0.6986057413 -0.3500814092 33.0472913153 33.0568230482
+ 0.4251002412 -0.0302754031 5.8322071401 5.8494227685
+ 0.1062065675 -0.7580672647 4.7481906731 4.8115216165
+ 0.2952296778 -0.4778352981 4.0688798498 4.1074651997
+ -0.5263913334 0.2164774596 2.8845559743 2.9434831884
+ -0.0769586966 -0.0567339403 2.7654375052 2.7706074715
+ 0.1379027186 -0.1141707228 0.5065561166 0.5550954854
+ -0.8726849001 0.2137649406 2.6927923968 2.8813271659
+ -0.0918375192 -0.1729541914 1.5346804728 1.5534063283
+ -0.2203864170 -0.0817215438 2.9499468440 2.9625858217
+ -0.3551147278 0.3708696564 2.9889505888 3.0359440343
+ -1.0459156336 0.0040836953 2.6311543444 2.8348561089
+ -1.5283196276 0.7886132457 3.5044160488 3.9061596695
+ 0.1151987804 0.3441067308 6.1560094671 6.1682746814
+ -0.8178740981 0.8177424866 0.0176158427 1.1650797902
+ -0.0636272772 0.2193219190 0.0865768814 0.2442254920
+ -0.3471227420 0.5552574145 0.1029821892 0.6628803253
+ -0.0068387142 -0.1470876131 0.3060198320 0.3671640729
+ -0.0470609980 -0.0458981367 0.0811723593 0.1743276034
+ -0.1917391855 0.0990101391 -0.4748117059 0.5399007908
+ -0.4672032006 0.1536159150 -0.7743450150 0.9278828952
+ -0.0811736973 -0.1042054678 -0.4389334731 0.4583781654
+ -0.1017957626 -0.1055507787 -1.2583733674 1.2668886597
+ -0.0724376051 0.5138857828 -1.7119926685 1.7889227768
+ -0.0127717754 0.0411112357 -0.3423721493 0.3450680231
+ -0.2620316128 -0.0353048502 -0.6591978746 0.7238291383
+ -0.7342559869 0.5751432716 -1.1501172577 1.4873369250
+ 0.1816369233 -0.1777653324 -2.1507934724 2.1702499467
+ 0.0140842898 -0.0434922026 -0.0256150391 0.0524029497
+ -0.1630247878 -0.0488821470 -0.2199504020 0.2781091963
+ 0.2159666297 1.3728867402 -18.5819665179 18.6404018256
+ -0.4416353882 -0.2335946613 -17.7741681190 17.7880381595
+ -0.3401619610 -0.4440599956 -22.2200284321 22.2325483002
+ 0.5674328646 0.2606919689 -151.4983984006 151.4997496305
+ -0.0256828270 0.4543719973 -100.3340467302 100.3394779664
+ -0.0130984943 0.1238780061 -5.4761588003 5.4793532759
+ 0.0822611120 -0.3674394559 -5.3511531949 5.3661996743
+ -0.0504505120 -0.1856302933 -16.9289668270 16.9306349992
+ -0.0279085727 -0.1164727332 -2.2210426981 2.2286442600
+ 1.6550133296 -0.8691234076 -22.0829678949 22.1623869529
+ 0.3692557119 -0.0516618026 -4.5427017861 4.6535479833
+ -0.1410738018 -0.5215517757 -1.1836264478 1.3085753418
+ -0.0183550294 0.1334025852 -2.6645425280 2.8285529560
+ 0.0941597940 -0.0594795524 -0.1378777335 0.2255968489
+ 0.0473134594 -0.2092443407 -4.7923816861 4.8225081589
+ 0.8271538542 -0.4794459277 -7.8663026118 7.9254178730
+ 0.0308049354 -0.0262407001 203.8191809648 203.8191849818
+ 0.0796073783 -0.3185386069 632.0585518261 632.0586371063
+ -0.2305720301 -0.1609910715 1989.7929685798 1989.7932096682
+ -0.0433529407 -0.1098849443 131.1606952020 131.1608226562
+ -0.0631824116 -0.0915330261 3.8096788654 3.8138567297
+ 0.2140283746 -0.2389081709 27.4985053886 27.5164219267
+ 0.0355894741 0.0040200710 1.1278710227 1.1370380822
+ -0.1227579543 -0.2076378359 1.6487059451 1.6662575670
+ -0.0092478346 0.0196532264 0.0816583254 0.0844976560
+ 0.2082376013 -0.0030777195 0.6964310486 0.7401813030
+ 0.5884444653 0.1092300346 1.9713629418 2.0602111391
+ 0.1577740998 0.0516424744 0.8295784672 0.8460260310
+ 0.2926759906 -0.0564000436 2.0072887188 2.0340914399
+ 0.3493031772 0.7075012839 2.7635907752 2.8774093442
+ 0.2606424676 0.0934350716 0.5974011019 0.6730768678
+ -0.0324068858 -0.0716933180 0.2777851439 0.3206782018
+ 0.3028338049 -0.0324254342 -0.3105516234 0.4568170507
+ 0.9128661166 0.0777442689 -0.6865071179 1.1533171836
+ 0.5395256615 0.1282431076 -0.4480876633 0.7264960929
+ -0.1416095402 -0.1082945956 0.0023745992 0.5286417018
+ -0.8665977122 -0.5992301787 0.9870215181 1.5270741004
+ 0.1442774215 0.4169936783 0.2644565053 0.5330260127
+ -0.3742246649 -0.0199635701 0.2598724784 0.4769236143
+ -0.2527720173 0.1338598592 0.6529703801 0.7264036459
+ -0.4653704392 -0.4352536942 0.7776039675 1.0149695262
+ 0.1473823526 0.2192189738 0.0956411119 0.3136965469
+ 0.0795304379 -0.1216527421 -0.3353824838 0.3912616459
+ 0.1889208086 0.1134976468 -0.0547504575 0.2270911719
+ 0.1246812128 -0.0232633555 0.0173914436 0.1280197283
+ 0.1845456359 0.2767539105 -0.3017758669 0.4703172094
+ 0.0848930096 0.1624232976 -0.5064470382 0.5563780532
+ 0.5367276448 -0.1215767550 0.4429753584 0.7201141751
+ 0.1623548882 -0.0439059281 -0.4077965430 0.4411177402
+ 0.1297490429 0.0827963403 -0.4738791101 0.4982483909
+ -0.3478478681 -0.1094824218 -1.4229653124 1.4689502443
+ 0.3275759604 -0.0619942141 -6.6893387693 6.6990956291
+ -0.0022597869 -0.2273794071 -9.2593559368 9.2631991585
+ 0.1366049792 0.2523606889 -87.8565752950 87.8584534626
+ 0.4645161392 0.0934104213 -239.7622402709 239.7627084441
+ 0.0971414403 0.0826337496 -80.7544289236 80.7545296289
+ 0.0939573204 -0.1400171278 -139.8865610077 139.8866626356
+ -0.3259000090 -0.1677619538 -69.2592741428 69.2602440776
+ -0.2392295351 -0.1814690010 4.6364764567 4.6461893744
+ -0.0893186801 -0.2082737363 3.7969960523 3.8037527255
+ 0.0125904231 0.0087514016 0.2866231406 0.2870329781
+ -0.2559969967 -0.0542262326 11.0324076825 11.0355106008
+ 0.0009644919 0.1277702098 1.6587126177 1.6636266723
+ 0.0408683800 0.0689104745 3.3270573964 3.3280219045
+ 0.2633995307 0.0088436740 8.8404968536 8.8444243534
+ 0.5974361325 0.1783885440 16.9062108944 16.9177043127
+ -0.0270295059 -0.0418911001 1.4944879746 1.4953192852
+ 0.0249488222 -0.0273078852 0.1045874078 0.1109355227
+ -0.0773693609 -0.0736025356 0.1688530029 0.1997866058
+ -0.4770703865 -0.1029293424 1.0127160514 1.1241816597
+ -0.4337886522 -0.0028358280 2.2835984518 2.3244359586
+ -0.6219854735 -0.0202729755 4.2545215494 4.2997942435
+ -0.0038173430 -0.0162062591 0.1086233990 0.1098920277
+ -0.1932892211 0.2021088512 0.7365727582 0.7878757128
+ -0.0990586410 -0.0492853145 0.0839710917 0.1388985270
+ -0.6139530339 0.0362616713 0.5076970436 0.7975020532
+ -0.0628880433 0.1994148176 -0.1116331282 0.2370298099
+ -0.1619390098 0.1216449145 -0.1662816995 0.2620521545
+ -0.0382634389 0.2413640998 0.1251453102 0.2745579504
+ 0.0160740541 0.0376006803 -0.0296206312 0.0504932488
+ -0.0422933803 -0.0071904348 -0.0944327308 0.1037206489
+ 0.0600840858 0.1135342853 -0.2021810457 0.2395356060
+ 0.0271600890 -0.0055895242 -0.8427997340 0.8432557766
+ -0.0068810289 0.0093717095 -0.0011661760 0.0116849247
+ 0.0111172517 -0.0286059541 -11.6071491255 11.6071896993
+ -0.0118095396 0.0793317356 -5.7654622000 5.7660200632
+ 0.0064438112 0.0213396245 -1.4014557173 1.4016329868
+ 0.2120185137 -0.1867552518 -13.8803223296 13.8831976629
+ 0.2262978941 -0.2073692738 -2.7580412610 2.7750683505
+ 0.0395248568 -0.1501422983 -1.0809556671 1.0920485695
+ 0.0222802075 -0.0540982659 -0.0189633228 0.0615031514
+ 0.0185755522 0.0599987725 -0.1262324391 0.1409947961
+ -0.0048896778 0.0138864255 -0.0670563512 0.0686534486
+ 0.4535600814 -0.0091389501 -2.4343897781 2.4762984189
+ -0.0153727074 0.1055314174 4.5523233379 4.5557107851
+ 0.0851240322 -0.1094761844 2.2283632008 2.2326741120
+ 0.3804294898 -0.4211046710 5.6845440184 5.7128011026
+ 0.0039404872 0.0354900433 0.1713398336 0.1750211678
+ -0.0611617349 0.3471286594 0.5075539402 0.6179401801
+ 0.3571252576 -0.1056606841 -0.0045633337 0.3724559757
+ 0.0084261000 -0.0429391382 0.0086908299 0.0446127704
+ 0.0012857421 -0.0714624218 -0.0158866379 0.0732182773
+ 0.3341160423 -0.4300538334 -0.2733248635 0.6093326763
+ -0.2184034297 0.0135086664 -0.0493195402 0.2243099624
+ -0.0507886455 -0.0075605129 0.0573712055 0.0769941756
+ -0.0225136518 0.0962688089 0.0199552211 0.1721991400
+ -0.0516983653 -0.3739032857 0.1051091453 0.4159376219
+ -0.0054563615 -0.0077923311 -0.0639071514 0.0646112707
+ 0.3311188890 -0.2832191460 -0.6048696012 0.7454663224
+ 0.0447253877 0.0381528752 0.0752386264 0.0954822135
+ 0.3740579866 0.4357205843 0.2128131282 0.6124224298
+ -0.0196772643 0.0669149995 -0.1741041969 0.1875555471
+ -0.2169439031 0.0280849857 -0.5426696465 0.5851015029
+ -0.1276083777 -0.0348945017 -0.0960563367 0.1634880550
+ -0.0559296581 0.0836116204 -0.0802221741 0.1286647851
+ 0.1816977651 0.1657535405 -0.8403280867 0.8755795836
+ 0.1175327548 0.1368908195 -1.1620661147 1.1759892431
+ 0.0718481941 -0.1126042017 -0.6923306873 0.7050983263
+ 0.0282183295 0.0290090132 -0.5314909197 0.5330294501
+ 0.0344280690 0.1367449449 -21.8542400785 21.8546950077
+ 0.0668483309 0.1737489540 -12.9298244750 12.9311646170
+ -0.0474111991 0.0906996749 -16.6008405636 16.6011560342
+ 0.0457603527 -0.0144310197 -13.2939866196 13.2940732098
+ 0.0118344508 -0.0114579596 0.0098860163 0.0192112567
+ 0.0129232019 -0.0779379675 1.0831326396 1.0860099681
+ 0.0045451702 -0.0331871098 0.3288454797 0.3305471106
+ 0.1423345922 -0.1084272932 0.3982023751 0.4365555469
+ 0.1664433983 -0.1877712394 2.2912968601 2.3049951723
+ -0.0166366521 0.0061388556 0.0911397073 0.0928488556
+ 0.1562239676 0.0747468229 1.1616312901 1.1827341436
+ -0.2041257654 0.3799263403 2.4355919046 2.4774178216
+ 0.0085726273 0.2510258181 -90.1610473121 90.1615051985
+ 0.1779302075 0.4225690632 -55.5105256193 55.5125945897
+ 0.4039338021 -0.0390360447 29.9089157976 29.9263810227
+ 0.1066803599 -0.1067447791 4.4508974248 4.4556416842
+ -0.0562812811 0.0003622653 -2.9429701741 2.9468153903
+ -0.3736738183 -0.2112368471 -29.9858391721 29.9892361318
+ 0.1562463932 0.0052486027 -0.0188005144 0.1574609239
+ 0.1766624141 -0.0470864773 0.1178388124 0.2175148974
+ -0.0152206210 0.0990728214 -0.1031065999 0.1437986863
+ 0.0899580254 0.0142203191 -0.1026570936 0.1372338977
+ 0.0220188071 -0.0692366043 0.1510330259 0.1675992546
+ 0.1270289206 0.0246454779 0.4175375584 0.4371285382
+ 0.0461778066 -0.0572841603 0.0351547472 0.0815458220
+ 0.0672773548 0.0361242286 -0.0613810249 0.0979736320
+ -0.1356212796 -0.0879092012 -6.1407699502 6.1428964455
+ -0.0961168149 0.0208643146 -7.7482046363 7.7488288694
+ -0.0385117139 0.2647368197 -12.0006091307 12.0035906396
+ -0.0182642243 0.0420581511 -0.6645290926 0.6661091388
+#SUBSTART
+ -0.0799108353 -0.9455238996 2779.1584552750 2779.1587756510
+ 0.9206109935 -0.6259202699 -21.1638605615 21.1988663756
+ 0.0989462328 0.2293728293 -3.9692727930 3.9795739147
+ 1.8800296894 -0.6806842246 -23.8433067634 23.9274026974
+ 0.2719983479 -1.1647432499 -19.1545774821 19.1923924575
+ -0.1719675040 0.3950528715 -1.6234428973 1.6854335405
+ -0.6788119863 -2.4288268935 -28.5094443726 28.6211090632
+ -0.2642169144 -0.5302064976 -1.7526611869 1.8553249120
+ -0.1472174349 -0.7488612564 -1.0147150121 1.2773380505
+ 0.4125205041 0.5734020899 -1.3131016937 1.7616894658
+ -0.2614297700 0.1008168208 -0.1159766478 0.9872952566
+ 0.7368048413 0.0719889144 0.2141070921 0.7831892554
+ 0.1587919404 -0.9503792531 -0.7634560552 1.2372471613
+ -0.1221600489 0.3701228916 -0.1011386671 0.4261723212
+ -0.2983325165 0.0202834878 9.8486424101 9.8541692099
+ 0.5570105785 0.5883216753 288.5057910349 288.5084542859
+ -1.1001086686 0.0317730097 -333.3195640414 333.3214102052
+ -0.6670238582 -0.0570738974 -420.9775906017 420.9781460442
+ -0.2228359817 0.6395519502 -215.2271361404 215.2282469695
+ -0.0393600161 0.5494134211 -333.6672634838 333.6680832295
+ 0.2304138583 -0.0928085944 118.1788339942 118.1791774721
+ 0.1666920003 -0.2384955829 93.1262763521 93.1268355167
+ -0.5069387845 -0.0452023916 69.8677671670 69.8713643780
+ 0.3883285872 0.1209483080 23.5356182185 23.5443070289
+ 0.6115610613 -0.0391639572 0.8891500823 1.0888564648
+ -1.5049917253 -0.7867003230 1.7726374751 2.6280204913
+ 0.6449101219 -0.7816797148 0.9125459630 1.6553014738
+ 0.1385533279 -0.1256206822 0.1682968578 0.2877172183
+ 0.1227710073 0.0840671586 -0.2434915720 0.3176600981
+ -0.1803515573 -1.0866665437 1.4729945366 1.8446039009
+ 0.0661100132 -0.1664739812 11.2443419105 11.2466345591
+ 1.7636245714 -0.7094415418 44.4700462106 44.5108769706
+ 0.1989259961 -0.4427521816 70.2892545898 70.2910690744
+ -0.4541332506 0.6216566067 44.7101802665 44.7170257642
+ 0.3128294777 -0.0321348846 0.4516536975 0.5677726484
+ 0.4413222625 0.6003184411 -20.3002008110 20.3143491237
+ 0.2412124939 -0.2402749072 -81.2277963088 81.2286297340
+ -0.1422386869 -0.0991655084 -151.2852458679 151.2854096161
+ 0.7369303548 0.6728819731 -2866.2023657756 2866.2026934964
+ 0.3880992057 0.0406014380 -10.8638992844 10.8718009969
+ -0.1495814528 -0.3184974964 -27.9643678341 27.9669298174
+ 0.2525252797 -0.2992691960 -4.6880938371 4.7064885721
+ -0.0402013889 0.0003581829 -1.3603103458 1.3680425073
+ -0.1461553154 -0.8807085459 -9.8486305494 9.8899955714
+ 0.1103672695 0.1888951222 -2.8344956547 2.8463498912
+ -0.0077301276 0.0070167693 -0.0160419832 0.0191398838
+ -0.4959795548 -0.1957474697 -3.4842598391 3.5248233171
+ -1.2019346657 -0.9174859801 -11.2544119828 11.3942339425
+ -0.4266884666 -0.3193275713 -6.1626244067 6.1872007005
+ -0.5499778730 -1.3540484181 -12.9981909229 13.1137043066
+ -0.0635058872 0.0105776156 -0.3076033124 0.3438669312
+ -0.3642963845 -0.1779341167 -1.8549966664 1.9039077769
+ -0.0277460430 0.0434793027 -0.1937959329 0.2005421559
+ -0.3187950271 0.3387944074 -0.7079097763 0.8470821514
+ 0.2880289865 -0.0661064257 -0.0344827102 0.5763339083
+ 0.6643163420 0.1408241044 0.2010347024 0.7218326448
+ 0.4747983722 0.3482570767 0.2531617925 0.6559627763
+ -0.2794264151 0.0733491864 -0.2427439299 0.4023227871
+ 0.3238565663 0.3861667927 0.1042259359 0.5332454388
+ 0.3747555465 0.0803009658 0.0502173854 0.4109641535
+ 0.2902554824 0.6463922375 1.2210180813 1.4186035773
+ -0.5110313129 0.2632622922 -0.8084714962 1.0017814045
+ -0.0116068776 0.3964015392 -0.1808842256 0.4358761326
+ -0.0286978438 0.0088087966 -0.0008588793 0.0300316302
+ -0.5092992279 -0.5508714441 -0.5713926760 0.9533175895
+ -0.1321754785 0.1342725956 5.9677137505 5.9723183672
+ 0.1465787494 -0.0444265728 65.1656470939 65.1659765522
+ 0.1356401684 -0.0529533204 19.6396925445 19.6407282283
+ 0.6284830891 1.5371217325 317.9857341237 317.9914545880
+ 0.1852583370 -0.0795923850 -11.2846444135 11.2864456380
+ 0.4262631396 -0.1796548485 -85.8724997781 85.8738590844
+ -1.0928848583 0.4646397112 -75.5030259832 75.5124936668
+ -0.2150613753 0.0248481537 -33.2981866669 33.2991829316
+ 0.2658471799 0.4482778332 -67.6668890024 67.6688960675
+ 0.0233390639 -0.0045920856 -4.4716017027 4.4716649681
+ 0.7134918384 0.1737064953 -132.6093495593 132.6114561977
+ -0.1149350539 0.1887568768 -330.2631191304 330.2632225616
+ 0.0688286058 -0.1418063151 251.8699828150 251.8705158024
+ -0.0364345314 -0.2282604204 336.3064911921 336.3065995904
+ -0.1220050853 -0.2144828032 49.2263628202 49.2294558733
+ 0.2823307230 -0.1144488812 52.0267488879 52.0278280232
+ -0.2189554070 0.1809468045 0.8768051643 0.9321750358
+ 0.0930259137 -0.1570687620 1.3891064494 1.4079847049
+ -0.6570073663 0.1990448690 13.0254507554 13.0772319515
+ -0.1680191081 -0.0809235097 0.9039187975 0.9334495233
+ -0.0767064702 0.1705495426 1.8810198357 1.8954383230
+ -0.2949964308 -0.3913331538 0.4297666345 0.6665910864
+ -0.0553091196 0.0731885402 0.3993957218 0.4329115252
+ -0.2015971165 -0.2296847072 1.1696262190 1.2169230622
+ 0.4002530472 -0.6474377991 0.4407174080 0.8905559074
+ -0.1440235733 -0.8704552900 0.4647400615 1.0069251766
+ -0.0854034983 -0.1712295631 0.3257331481 0.4027346390
+ 0.3127265734 -0.5791176120 0.6646066838 0.9457044714
+ 0.0731159930 -0.0860281270 0.0906140103 0.2010907030
+ -0.0680747921 0.1832607360 0.2968064692 0.3818278928
+ 0.0848716533 -0.1495416066 5.6217148731 5.6243438732
+ 0.4273409205 -0.6492938636 6.3515674934 6.3989540088
+ -0.0564082277 0.5178513292 3.0930877546 3.1397489597
+ 0.3858638780 0.0818409207 4.3403522358 4.3604731606
+ 0.1362416054 0.0721612747 1.7915199739 1.7981414965
+ 0.1677065325 -0.0598861856 1.8433317541 1.8519135488
+ 0.1606888923 -0.2716750238 36.0513707817 36.0530226647
+ 0.2206733591 0.0829757962 66.0367585106 66.0373268394
+ 0.0736080783 0.0449905902 6.5713328280 6.5718990740
+ 0.8382525396 0.4653913276 45.9488278966 45.9588298533
+ -1.0644723654 0.3192295631 102.1551941260 102.1613340537
+ 0.4213528730 -0.6006837482 44.7254184478 44.7316542766
+ -0.0368627276 0.1157488682 29.8168302320 29.8174043393
+ -0.1439645912 -0.0798302692 21.4231433668 21.4237758201
+ -0.4640050805 -0.0856268113 87.9686619861 87.9699273860
+ -0.6053471397 0.2432703678 34.6275273661 34.6339538156
+ -0.2338232311 -0.0609424090 8.6780302195 8.6825155085
+ 0.0942800261 0.7037099875 18.9028191092 18.9166631976
+ -0.8227535215 -0.1059587418 40.2949115459 40.3143998950
+ -0.7489089332 0.1100931653 29.4015316832 29.4154158796
+ -0.7271755111 -0.2309875392 15.3448359927 15.3644268001
+ 0.1193783781 0.0134494735 0.5693574096 0.5983976356
+ -0.3904781613 -0.2296288581 0.6488968677 0.8035854259
+ -0.2776178911 -0.0283060508 0.3227889573 0.4489381047
+ 0.2218796029 -0.0455508355 -0.0296894448 0.2677063406
+ -0.1134476473 0.2661843714 -0.0886696369 0.3332665264
+ -0.1108571409 0.1143393419 -0.0060437214 0.1593716328
+ 0.0324535745 0.0888906491 0.0233734656 0.0974735908
+ -0.8159829411 0.1671532106 -0.3659836481 0.9097870007
+ -0.1077221596 0.3317448940 -0.2065456203 0.4053638262
+ 0.0054873597 0.0630309091 -0.0198947794 0.0663235167
+ 0.2371322143 0.3260399460 -0.4446520137 0.6002075864
+ -0.0353798222 0.3723894946 -0.6000737409 0.7207592850
+ -0.3279717163 0.0506917039 -0.4186434679 0.5521568922
+ -0.0365174917 -0.1609858339 -0.2292479789 0.2824970827
+ -0.1585435001 -0.1482394811 -0.1727435157 0.2774009867
+ 0.0770765184 0.3138724596 -0.4334561709 0.5406856413
+ 0.0740953736 0.3099059312 -0.6942321252 0.7638652069
+ -0.6434029687 0.4412526157 -1.4654223405 1.6601608016
+ -0.5038128901 0.0022414855 -1.8709649161 1.9376124922
+ 0.1713137528 0.4417987748 -0.6664273937 0.8177163508
+ 0.1327035161 0.6070688632 -1.1005528513 1.2638668468
+ 0.2221577460 0.1015578121 -15.2335032940 15.2354616162
+ -0.1104588418 -0.0004082762 -34.4037375258 34.4041979539
+ 0.5070705066 -0.0572918686 -47.7853747099 47.7883031589
+ 0.2523656975 0.2498832584 -122.2020341498 122.2061621696
+ 0.3752695801 0.2230778764 -200.1358290802 200.1385106980
+ 0.0412018538 -0.2130877438 -89.4451508143 89.4455230180
+ -0.4046127874 0.1168170630 -3.7425999970 3.7688051497
+ 0.0173224392 -0.0781860199 -2.6694834421 2.6743288417
+ -0.0039970851 -0.1184762703 -1.6976667817 1.7018005479
+ 0.2153864448 -0.3052401230 -4.9590799203 4.9731314591
+ 0.0340432783 -0.0145367706 -0.9573335118 0.9580489107
+ 0.0248734174 -0.2348326471 -2.2676924767 2.2799548741
+ 0.0429530787 -0.1000636099 -2.5905802710 2.5928678782
+ 0.2631993921 -0.1558223389 -4.8749697336 4.8845557039
+ -0.0048911180 -0.0186228310 -1.0456701768 1.0458474322
+ 0.2406553761 0.0871500153 -6.6811927915 6.6860935720
+ -0.3499602329 -0.7175420980 -5.4171899247 5.4756995450
+ -0.1016750115 -0.0862186957 -0.9512210787 0.9605170545
+ -0.1301707423 -0.4549447088 -1.6743581572 1.7399409038
+ -0.1411654775 -0.2017079647 -1.0895526349 1.1170222644
+ 0.4457023104 1.5874126373 1.4438650717 2.2474321358
+ 0.0092373177 0.0563992149 0.2939289063 0.2994334675
+ -0.0852576752 0.0697392184 0.1388864120 0.1772621369
+ 0.4026282448 1.3468360272 0.8739855515 1.6611463863
+ 0.3564036213 0.0633905346 0.2359817474 0.4541024897
+ 0.0089254977 0.0631119586 0.0682260786 0.0933679904
+ 0.2013344182 0.3613057148 0.0833209565 0.4219238666
+ 0.1330416143 0.3451070868 -0.5880604058 0.8545697410
+ 0.0172731545 0.3584073418 -0.0297852795 0.3600574223
+ -0.0035898507 -0.0067907924 0.0152830765 0.0171048039
+ 0.0557006260 0.0871143528 -0.8691871914 0.8753158538
+ 0.0633957964 -0.0292576360 -0.2431137281 0.2529413392
+ 0.0025349339 0.0448095923 -0.0889181418 0.0996030190
+ -0.0261714137 0.1762920434 -0.0093697504 0.1784702208
+ 0.3543394371 0.1667147710 2.4879143839 2.5185448642
+ 0.1965890554 0.1876294963 2.2457706121 2.2621533384
+ -0.0909742670 0.1833930937 19.0328598254 19.0339607669
+ -0.0280687453 0.0832697482 21.3364989993 21.3366799492
+ 0.0821457670 -0.0305187131 4.4965119234 4.4973657619
+ -0.0289164112 0.0405384991 5.1769241553 5.1771636287
+ 0.0267417808 0.2807673724 -43.6815706084 43.6824811138
+ 0.1097720716 0.1703091814 -42.6622752050 42.6627563665
+ 0.0040856809 0.1371818239 -10.5501208037 10.5510134356
+ -0.0419821364 0.0746048048 -19.2261285348 19.2263191176
+ -0.1571306479 -0.6331822160 -232.2231121386 232.2240285180
+ 0.0245948174 -0.0726385924 -33.9904999742 33.9905864875
+ 0.0835080533 -0.0411652288 -77.9257446910 77.9258003091
+ 0.0925292911 0.0999769912 -105.4975726390 105.4976605892
+ -0.0428097952 -0.2354149965 -391.2767293430 391.2771190009
+ -0.0723368913 -0.0545505226 83.8887718639 83.8888207881
+ -0.0138969202 -0.2226353690 132.1371650631 132.1373533508
+ -0.2138015673 -0.1509608617 2.3268186182 2.5229698688
+ 0.3622205292 0.4128540894 1.2262726042 1.3436505166
+ 0.0075634036 0.0578611248 0.0748489629 0.0949077557
+ 0.0240375957 -0.1985177758 0.3501757996 0.4032495554
+ -0.0047318279 -0.0857233793 0.3634152196 0.3734190273
+ -0.0039338748 -0.0336301753 0.1449557498 0.1488586361
+ -0.2613091544 -0.1916906165 0.0840059529 0.3347906312
+ -0.0021070413 -0.0123330385 0.0457025608 0.0473842540
+ -0.2635863447 0.2562528666 2.1336111161 2.1695436092
+ -0.2129196626 -0.1481752280 2.2503469389 2.2695444061
+ 0.0026227545 -0.1581032268 0.0193982628 0.1593103944
+ 0.0547292786 -0.0316933816 0.0758740410 0.0987756775
+ -0.0083738512 -0.1402749299 0.0395162228 0.1459750294
+ 0.1644861172 -0.6735558540 0.4329699238 0.8174326431
+ 0.0086328734 0.0281334747 0.3542626270 0.3554828094
+ 0.1935499165 0.0611291808 0.6060826855 0.6391670897
+ 0.1652150214 -0.0973653132 10.3685982044 10.3703714847
+ 0.1644037048 -0.0753690236 19.7503813147 19.7512093590
+ -0.0131488860 -0.0035294431 0.0514945953 0.0532639045
+ 0.0115789246 0.0888776940 4.8605690306 4.8613953365
+ -0.1493534648 0.1615105664 17.0778843606 17.0793011085
+ -0.0144510465 0.1360450618 6.7497157594 6.7511021266
+ -0.0405016547 0.0832403075 5.9354938856 5.9362157137
+ -0.2191942739 0.0330186113 16.4311650853 16.4326602356
+ 0.0380413109 0.0558848526 0.6765287670 0.6798981031
+ 0.0935757232 -0.0233103885 3.0678403600 3.0693556758
+ -0.0914750333 0.6898058757 9.7089054984 9.7789261372
+ -0.0639123368 0.0275961699 0.8607485362 0.8747652044
+ 0.0410981851 -0.0095704130 0.4310256363 0.4330863109
+ -0.7075040229 0.0546515489 0.7821227770 1.0560609700
+ -0.0939281609 0.1255094994 0.0280497288 0.1592542657
+ 0.0327700087 0.1612413466 -0.0022568297 0.1645531483
+ -0.1497038515 0.2423153700 -0.2029323316 0.3497277697
+ -0.0683450386 0.0641843072 0.0095354096 0.0942422073
+ -0.3130310851 0.3835024487 -17.6822710529 17.6891993086
+ -0.1867396630 0.4353485971 -16.7091717222 16.7158852516
+ 0.0290550015 0.3418836569 -48.2399611685 48.2411813928
+ -0.0477831894 0.0553136116 -7.2413867307 7.2417556305
+ -0.0892831778 0.1584026457 -3.2532855841 3.2583630823
+ -0.0155788244 -0.0190807147 -1.3260187944 1.3262475699
+ -0.0333814551 -0.0827739741 -4.9503152751 4.9511197900
+ 0.0036968710 0.0520286306 -2.6113932687 2.6119141351
+ 0.0579793025 0.0762842827 -4.5846119603 4.5856131235
+ 0.0312644996 -0.0438184656 -1.0107953343 1.0122276102
+ -0.1467479272 -0.0512067586 0.5495087533 0.5710665077
+ 0.0124921620 -0.0524702446 0.0993536796 0.1130501408
+ 0.1880413720 -0.3179714008 1.0837835413 1.1534868523
+ 0.0935552445 -0.0133970296 1.6702850763 1.6787686217
+ 0.2678279762 0.8570988359 -0.0111913703 0.8980398021
+ 0.1940917722 0.3772493212 -0.0627191283 0.4288616973
+ 0.1870214831 0.2998829157 0.0484846952 0.3567317815
+ 0.1826713842 0.1297990004 0.0947431530 0.2432958695
+ -0.2459194989 0.2206222223 702.9726837095 702.9727613445
+ -0.0325734456 0.0890530233 360.7484548306 360.7484672929
+ -0.0583974132 -0.0800890923 204.5949041748 204.5949281845
+ 0.0488220524 -0.0115910783 41.6286833172 41.6287135601
+#SUBSTART
+ 0.3427342115 0.2873884881 2762.8243896279 2762.8244293587
+ 1.0465573566 -0.4282709796 1372.3460670936 1372.3468537204
+ -0.4049533038 -0.2280589205 117.9630390915 117.9640371874
+ 0.1406675994 0.7590017056 9.5514344989 9.6285286381
+ -0.2947323301 0.5278422044 34.5648395732 34.5704078519
+ -0.0072282568 -0.6129783650 28.7257555942 28.7476541820
+ -0.3835839675 0.1330811641 29.3149578793 29.3219242834
+ -0.6737165377 0.2501334482 0.5026629304 0.8880374550
+ 0.0867214777 -0.7347657130 1.9891858624 2.1269088950
+ 0.0950660433 -0.6542487503 -0.2752857329 0.7296170224
+ -0.3646744434 -0.1687797384 -0.2261958697 0.6754847010
+ 0.4131002042 -0.0021718445 173.8803304556 173.8808771994
+ -0.0114398907 -0.1086356575 -4.5226852397 4.5261566631
+ -0.1713059709 0.0458797677 -0.7004706274 1.1852854397
+ 0.5511135102 -0.6288120983 0.4331458441 0.9519589610
+ -0.7412514169 0.3715097812 -0.6026648909 1.0344843818
+ -0.0055642603 0.0639107617 -3.7544941414 3.7576351059
+ -0.0076013747 0.5501336846 -6.5333900406 6.5580004619
+ -0.1292389870 0.3074533973 -82.3183330486 82.3191269754
+ -0.5647502607 0.6666143574 -3630.1680758661 3630.1683025924
+ 0.0135314117 -0.1293240441 4.7737003294 4.7775100656
+ 0.0399682861 -0.8301912176 195.8459402520 195.8477536452
+ 0.0751585002 -0.0331918544 67.9440444530 67.9442374813
+ 0.0601631722 -0.1563285828 21.4217371095 21.4228466551
+ 0.0036633105 0.0002991783 0.0077965673 0.0086195019
+ 0.1343139684 0.2113779413 11.7166121311 11.7192884045
+ 0.5462683293 -0.7672930528 224.1963710439 224.1983495412
+ 0.2376151702 -0.2169606531 86.6660072011 86.6666045088
+ -0.0665840117 -0.5116262837 31.0658373513 31.0704349021
+ -0.0064568486 -0.2779312608 4.2928681454 4.3041240892
+ -0.0374937103 -0.1482495408 3.5187978215 3.5248832035
+ 0.2149157902 -0.0323557191 11.5483142507 11.5512024269
+ -0.0725197457 -0.3839567041 5.0402294422 5.0572793554
+ -0.0414612402 -0.0386137258 1.1294620361 1.1394622987
+ -0.6074297295 0.3728556960 13.5657629626 13.6168376504
+ -0.1392136894 0.1499072624 1.9494595406 1.9651272030
+ 0.2359151935 0.0180823702 2.7768447582 2.8302810323
+ 0.2891581607 0.4921904312 1.5835325456 1.6890586048
+ -0.5096402479 0.2400293043 2.5433040239 2.6520592067
+ 0.0533709949 0.1155201600 0.5910193115 0.6204651335
+ -0.8577368601 -0.9297966826 32.6544510480 32.6792424548
+ -0.3927584470 -0.1691945428 25.8210899445 25.8250082613
+ -0.3476691479 -0.5482953623 24.2035252187 24.2304545240
+ 0.0860945911 -0.2593578041 9.6511684431 9.6560453008
+ 0.0361075568 0.1417067236 2.0100517089 2.0153640921
+ 0.1465597713 0.0717938683 2.8626581563 2.8673063746
+ 0.1252003006 0.6900336264 -0.3883436150 0.8016434895
+ 0.0299439992 0.6179076553 -0.4586229502 0.7700918932
+ -0.4770738066 0.9051244713 -4.8239310311 4.9332180272
+ 0.1203637682 0.6497040176 -32.4559226333 32.4629480564
+ 0.1408993573 -0.1673386530 -7.0308075960 7.0355945087
+ -0.5401134941 -0.4292467222 -29.6165226010 29.6248859254
+ 0.2585860397 -0.1157496748 -10.7260011637 10.7306498161
+ 0.1838214949 0.2133291042 -44.2075345523 44.2086517621
+ -0.5207070431 0.6081982910 -61.9552474730 61.9605778718
+ 0.1216784498 0.5142957916 -161.9051122605 161.9060349761
+ 0.2256764769 0.0193052124 -61.1283016153 61.1288805780
+ 0.4364724401 0.4316447473 -175.8258707616 175.8269977399
+ -0.5882204236 0.4931288276 -320.7240592466 320.7250081280
+ -0.1428541720 1.4820730802 212.8157499015 212.8209584464
+ -0.0815200037 0.6768592211 111.1660382357 111.1681287103
+ 0.1628578095 0.1792924676 75.7420813072 75.7440769312
+ -0.2835980228 2.8900214398 519.7906022510 519.7989520148
+ 0.2472015518 0.0089663126 1.5132484796 1.5396719611
+ 0.2657238644 0.1711112786 13.3785032891 13.3829637331
+ 0.1428619587 -0.4320135728 1.7257279610 1.8517081902
+ 0.3817806870 -0.1416244033 0.1578497596 0.4584869639
+ 0.0480934351 -0.2527893561 -1.4577980112 1.4868995472
+ 0.4918018433 -0.3951184888 -0.7161098638 0.9645106506
+ -0.1104938824 0.1069748430 -1.0200889624 1.0410157498
+ 0.5654201214 0.5509289637 -5.7554153195 5.8109816659
+ 0.1305022814 0.1181095347 -1.3848426156 1.4029431786
+ -0.2272103374 0.0341552564 -5.6427970274 5.7250974835
+ 0.0515448338 0.0099387214 -0.3586079392 0.3624297202
+ 0.9811697586 0.8393341779 -8.0927383541 8.1950954860
+ -0.1593149826 -0.0361199851 0.1224563730 0.2041604278
+ -0.0438614263 0.0444819997 -0.0122131777 0.0636524526
+ -0.2668638836 -0.1822766879 -0.2104829599 0.4101511729
+ 0.0771582264 0.4775604939 0.1794423975 0.5345061049
+ 0.1403523728 -0.6434188758 1.6553018928 1.7869501334
+ 0.0300196911 -0.0503811116 0.8014616892 0.8156347604
+ 0.2174349022 0.2344617884 0.9796916563 1.0399643231
+ 0.3148802613 -0.6046272522 0.9073756026 1.1434745131
+ 0.1003237111 0.1924448242 1.0528942689 1.0840507293
+ -0.0807484241 -0.2164112780 0.4533342857 0.5275849777
+ 0.0725321981 -0.3184870228 2.1707370469 2.1996076958
+ 0.4812598898 0.0212726595 1.1488614687 1.2535653420
+ 0.0811839514 -0.2410980898 0.6376188082 0.7005402575
+ 0.2318856645 -0.0148910504 1.6584630061 1.6804678016
+ 0.5384749661 -0.2799051100 -0.2720583012 0.6650698301
+ 0.0119727992 -0.0193939310 -0.0439995497 0.0495523244
+ 0.3047328089 -0.1252600471 0.4576335660 0.5809134444
+ 0.1285182994 -0.0496845313 -0.1056782644 0.1736473481
+ 0.1058940959 0.0818613694 -0.1293171045 0.1861122158
+ 0.1922488996 -0.0931589461 -1.0417465688 1.0725455362
+ 0.2369662934 -0.0107733493 -2.6218928897 2.6362987690
+ -0.0545904104 -0.3278539586 -1.1594864781 1.2142310360
+ -0.3647731938 -0.1909646722 -7.7591338001 7.7713038868
+ 0.3931371315 0.0125474283 -8.2510921943 8.2616412671
+ -0.4145396482 -0.2454427565 -6.8849141765 6.9031592962
+ 0.3446552950 -0.0876780193 -66.4679284674 66.4690263901
+ 0.2608514254 0.2922587610 -162.2666308947 162.2671637774
+ -0.6254716219 -0.1058668316 -1077.0937460814 1077.0939328908
+ -0.2075903843 0.0304796577 -434.3625551762 434.3626058513
+ -0.0824102021 0.0022395463 13.1874797046 13.1877373881
+ 0.2074576996 -0.1332647366 21.6038392085 21.6056970848
+ -0.0213761632 -0.3170262685 29.8895436326 29.8915583560
+ -0.2092413002 0.3556256842 27.5733176639 27.5767579372
+ 0.3029471678 0.2985969581 40.2698706199 40.2751419343
+ -0.1339462321 0.0455984883 45.3205277032 45.3207485829
+ -0.1761968469 -0.0889598286 50.3563529119 50.3567397452
+ 0.0436770341 0.0221419026 5.6511523214 5.6513644818
+ -0.0947974411 -0.0093641351 8.9655865321 8.9660925774
+ -0.0890158372 0.0194841588 6.4086548962 6.4093026946
+ -0.3272842509 0.1673654757 13.1167291415 13.1218790405
+ -0.0501883010 -0.0885686251 3.0052793106 3.0102403204
+ -0.2475447530 -0.3097018602 5.0392358485 5.0567352481
+ 0.0066214608 0.0291068650 0.5052564152 0.5250284595
+ -0.6938998983 0.0725432815 2.7361080483 2.8271056990
+ -0.0628685198 -0.5174622376 6.2236129485 6.2652017669
+ -0.7006467615 -0.1821782765 30.8319504413 30.8404484861
+ -0.0800648665 -0.0673931008 5.5141975970 5.5151905998
+ -0.0128072372 0.0080912000 1.6543627836 1.6544321420
+ -0.0025915817 0.4904418360 16.6370961923 16.6443236457
+ 0.0091144927 -0.0148645155 -0.0760029034 0.0779773629
+ -0.3412189236 -0.0355960977 -2.3030656386 2.3284777799
+ 0.0047467969 0.0154538321 -0.2452425122 0.2457747806
+ 0.2845936248 -0.1741846432 -12.5476440857 12.5520797449
+ 0.0550366518 -0.0441084759 -1.1070785442 1.1093229889
+ 0.1820670968 -0.1210783993 -9.6827846751 9.6852530928
+ 0.0975800613 -0.2681382807 -5.4022090284 5.4097395864
+ 0.1038570456 -0.1042221137 -4.5627087742 4.5650804914
+ 0.0422596223 0.0146128360 -11.8087477701 11.8088324278
+ -0.0784397008 -0.0652366207 -19.0159417908 19.0162154698
+ -0.1712985220 -0.1714715574 -39.1960108407 39.1967602169
+ 0.0155100131 0.0080834741 -5.2325022558 5.2325314868
+ -0.1147190137 -0.0360883320 -185.8909256974 185.8909645988
+ -0.1390297075 -0.0587886196 -89.3382468582 89.3383743811
+ 0.1362506460 -0.1939444686 30.3942750815 30.3951992332
+ 0.2098800095 -0.1142238662 42.8698202849 42.8704862110
+ -0.1388015284 -0.0948561030 1.2602362705 1.2714004098
+ -0.2248510597 -0.4056508198 4.0250631725 4.0516964508
+ 0.0202840276 0.0946512183 0.2940661778 0.3095887786
+ 0.0583348137 -0.0291710259 0.1006695875 0.1199510945
+ -0.0589899313 0.2391889050 2.9471694973 2.9607395993
+ -0.2697911233 -0.0689611315 1.7951036416 1.8219274840
+ 0.0733009520 0.0841871611 -0.0039237243 0.1116955830
+ 0.0362333111 -0.0455633696 0.0382431592 0.0696520833
+ 0.1166956992 0.1791022221 0.2512425902 0.3581872642
+ -0.4251776354 -0.1226755490 -0.0640302909 0.4684068478
+ 0.0720900098 0.1404923506 0.0908089744 0.1821574591
+ 0.0800513601 -0.0096068133 0.0158023017 0.0821597459
+ -0.0373019302 0.0916613970 -0.1485613773 0.1785041414
+ 0.0159376039 0.0551413597 -0.4304732849 0.4342831171
+ 0.2066508512 -0.2607917259 -2.6981813421 2.7186208734
+ 0.2364492994 -0.5970589968 -5.2317123587 5.2709773213
+ -0.1827887545 0.2479164978 -1.8725420573 1.8977060033
+ -0.0537564085 -0.0086480478 -0.3482564110 0.3524869756
+ 0.0507230632 -0.3823314884 -1.7225905288 1.7652388864
+ -0.0483935838 -0.3133642977 -1.0821785803 1.1276744219
+ 0.1131097588 0.0096459835 -2.1215891342 2.1246240413
+ 0.0086919002 0.0326179450 -0.1180909900 0.1228208508
+ -0.0439283255 0.0220218133 -0.7374281948 0.7390635971
+ 0.0851148553 0.0533067654 -0.6830113680 0.6903554727
+ -0.0842071091 0.0711040218 -2.1416604532 2.1444943730
+ -0.0835172712 -0.0129094788 -0.5581162232 0.5644780845
+ -0.2208879358 -0.0670857942 -2.4172156039 2.4282140061
+ -0.1180377049 0.0552859175 -1.0069895168 1.0153902301
+ 0.1894842872 0.1628532498 -0.4709752189 0.7293274723
+ 0.0785562627 0.0253139280 -0.0001404834 0.0825342419
+ 0.0458788235 0.0219675309 0.1522494246 0.1605220426
+ -0.1480473798 -0.1666027673 1.4340161584 1.4512328728
+ 0.0136466306 -0.0249319988 0.0532024320 0.0603186029
+ 0.4157891803 0.0936957899 -0.2568511504 0.4976264231
+ 0.1418266638 -0.0063315000 -0.0135554893 0.1426136099
+ -0.0768947985 -0.0490942044 -0.1424559040 0.1691648176
+ -0.1721282834 -0.2010473298 -0.1179303654 0.2897511792
+ -0.0494563696 -0.0116687747 0.0278507586 0.0579461608
+ 0.0308970720 -0.1586086937 -0.0024388011 0.1616084605
+ 0.0152581226 -0.0065457632 -0.0532151055 0.0557449977
+ -0.0675980383 -0.0769179437 0.0443643123 0.1115977466
+ -0.0245777935 0.0627860972 -0.3272350135 0.3341091378
+ -0.0116127410 0.1533383779 -2.5413722056 2.5460204637
+ -0.4364987732 -0.2620297104 -1.8384191061 1.9076099072
+ -0.1477212750 -0.0334517068 -0.7969918973 0.8112562333
+ 0.2555346523 0.1467234791 -2.2179506139 2.2374384156
+ 0.0189246958 0.0865547516 -0.5433150685 0.5504917190
+ 0.0061125039 0.1482128240 -1.0065901670 1.0174616298
+ 0.1248818754 0.2111566166 -2.7734620258 2.7842906113
+ -0.1137481023 -0.0841268217 -4.7668489513 4.7689479843
+ -0.0333541496 -0.0105385165 -6.3510020684 6.3510983958
+ 0.1344632671 -0.5925017327 -119.4295122208 119.4310576357
+ -0.0200196144 -0.0166389467 -6.5099358614 6.5099879078
+ -0.2741378513 -0.0863519961 23.4493082217 23.4514849016
+ 0.0798598960 0.7685933964 75.8384504232 75.8425154896
+ 0.1287150171 0.1050110676 9.0119864887 9.0135173685
+ 0.1527709096 -0.0231235240 6.6634423898 6.6652335391
+ -0.0994405619 -0.0826650556 8.4563471291 8.4573357924
+ -0.0129514207 -0.2067113393 17.0224417157 17.0237016915
+ 0.5854429357 0.3174027102 45.1473895113 45.1523008007
+ 0.1657956342 0.1233707429 10.0405523070 10.0426788838
+ 0.0927732778 -0.4370027253 19.7725632122 19.7776094168
+ -0.0169854937 -0.1484712213 9.9546088997 9.9557305385
+ -0.0329998175 -0.0109685452 0.5130544509 0.5142316273
+ -0.0180198979 -0.3352944341 8.4573842745 8.4640472495
+ 0.0437357113 -0.0158949013 1.3931397333 1.3939167037
+ 0.0594454805 -0.3656573142 13.2904491123 13.2956111798
+ -0.0645067407 -0.0552828763 3.6764747038 3.6774561267
+ -0.0155775810 -0.0752306551 0.8029314467 0.8065985499
+ 0.0020224904 -0.2202271194 4.6949328940 4.7000956324
+ 0.0210268069 -0.0032647372 0.1136161000 0.1155915365
+ -0.1276892243 0.0937364327 1.0290871968 1.0412067592
+ 0.0230400538 0.0079552397 0.0455686626 0.0516781668
+ -0.4990637786 -0.1258269654 5.8157914437 5.8385209769
+ -0.0599863419 -0.0479550568 0.5119618738 0.5176900703
+ -0.1078217834 -0.0623841040 -0.0802077441 0.1481573340
+ 0.0329858889 0.0117336586 -0.0445429971 0.0566553281
+ -0.0042120079 -0.0089249911 0.0043292746 0.0107767850
+ 0.4437854217 -0.2434170862 -0.4643758283 0.6869077727
+ 0.2447013372 0.1179531108 0.1646735685 0.3469709640
+ -0.1132821072 -0.1006947007 0.1712834942 0.2679367068
+ 0.1788045206 0.1699117647 0.2930191933 0.4076531576
+ 0.0270992065 -0.2055747302 0.3842812565 0.4584181559
+ 0.0602935964 0.0890158741 0.0768323141 0.1321451781
+ 0.0696528691 0.1329862982 -0.0533073905 0.1593064831
+ 0.0000162854 -0.0528588383 -0.1152939303 0.1268335422
+ 0.0792675213 -0.1091156129 -0.0211254001 0.1365131475
+ 0.0130367070 -0.0499796049 2.1010759148 2.1017107119
+ -0.1864807060 -0.2650042297 24.2045509852 24.2067199490
+ -0.1637107915 0.0068238561 8.1876677980 8.1893071599
+ -0.1285508721 -0.0069016616 2.6288597266 2.6320099586
+#SUBSTART
+ 0.3260484276 0.1443906029 -5.3057550225 5.3195556550
+ 0.6186205464 0.0817203591 -78.2905977775 78.2987219675
+ -0.7599072451 0.1771096580 -112.2761167005 112.2827482688
+ -0.1481631330 -0.1312790778 -23.0508470474 23.0521195533
+ -0.4115615697 -1.4964719725 -4264.5040212802 4264.5044069243
+ 0.0799199797 -0.6449725729 -7.4395924556 7.4692297135
+ 0.1809378368 0.5772113412 -0.6019470198 0.8647146539
+ 0.1143057461 0.4126118414 -0.7061900854 0.8375551068
+ 0.2300522007 -0.7189853996 -0.7309861528 1.0600398862
+ -0.8135268220 0.7136722019 0.8593053895 1.3888986425
+ 0.3713206376 0.1767281088 27.2788590524 27.2823155693
+ -0.0649795335 -0.0922985236 59.5260993687 59.5336210825
+ 0.2885954493 0.1321377466 498.5660647671 498.5670511344
+ -0.1180311282 -0.3784124160 6371.5109047637 6371.5109863707
+ 0.6447903198 0.1881748686 -7.1780720931 7.2703971759
+ -0.1688090965 -0.0064836175 -2.0030408608 2.0149915691
+ -0.0367754010 0.4402268934 -23.1101199445 23.1334300911
+ 0.0525853584 -0.2685749932 -5.2178610390 5.2268969144
+ 0.0992850750 0.7343014068 -34.8307262390 34.8386071252
+ -0.1078980360 0.0350607788 -1.4595757168 1.4639783187
+ 0.1263015890 -0.0208764748 -21.2737723659 21.2746153521
+ 0.0741519408 -0.2469562953 -350.8098144236 350.8102564390
+ -0.3457575266 -0.3410945582 -245.4946260645 245.4951461844
+ -0.1095519112 0.2058945417 -253.6943227764 253.6944683728
+ 0.3119249131 -0.0329662807 -170.3851771059 170.3855229799
+ -0.1898485684 -0.0490881718 -455.4940270109 455.4940692202
+ -0.0804239535 -0.1364898695 -357.5292387848 357.5292738834
+ -0.0249828328 -0.0420969565 -1.1098413295 1.1109203717
+ -0.2559603105 -0.0942381352 -15.5886735709 15.5910596242
+ 0.0106798019 -0.2147223863 8.1767793526 8.1807958126
+ 0.6211567452 0.0372860639 8.2574279937 8.2820180397
+ 0.0979146570 -0.0444712584 0.1035664237 0.1493016309
+ 0.0896228367 -0.2514480446 0.3191995074 0.4161089972
+ -0.1833855654 0.2457970667 6.0898356967 6.0991495359
+ -0.0246679673 0.0355772294 0.8170795222 0.8182256373
+ -0.1552690778 0.0204118768 11.1379499768 11.1390508939
+ -0.0465042889 0.4377709350 -29.0518015758 29.0551369097
+ 0.0276395102 0.6150983044 -32.9136010567 32.9193597202
+ 0.1289215085 0.2235404990 -107.7590174033 107.7593263845
+ -0.0201653670 0.1503110582 -79.1321813715 79.1323266981
+ -0.1062699170 -0.0088279903 -84.4314358392 84.4315031792
+ 0.0091966434 0.0664581205 -73.8381696934 73.8382001740
+ 0.0170196905 0.0237950815 -0.1426263995 0.1455958983
+ 0.0215493265 -0.0724665431 -0.0279170376 0.0805923963
+ 0.0311894191 -0.0536085031 -0.0334187139 0.0704518411
+ -0.1413094252 -0.1588116842 -0.0980622592 0.2341061968
+ 0.0931851403 -0.0866718545 -0.1258853139 0.1790044497
+ -0.0091060247 -0.0885536137 -0.2477525838 0.2632603369
+ -0.2640467467 -0.2196076421 4.3273364787 4.3409433538
+ -0.0951499618 -0.0153574019 2.0366267046 2.0389060054
+ -0.0056522988 0.2119613037 -104.4483306571 104.4486391313
+ 0.0207884091 -0.1714156509 -48.6718922252 48.6723986264
+#SUBSTART
+ 1.0771468473 -0.0914845056 4435.4974162760 4435.4976475248
+ 0.0503660002 0.1691112931 33.5941786821 33.6077783924
+ -0.2722776120 0.6360577835 82.7171944775 82.7254238951
+ 0.2658122648 -0.1668253108 6.6373624589 6.7106942896
+ 0.1484980589 0.0093941585 0.7420205304 0.9035349197
+ 0.5375719370 0.2039938870 -13.9265427360 13.9699513337
+ 0.1200994880 0.1743946927 -26.6741802827 26.6753858629
+ -0.2423848976 0.0532717458 4.3786597022 4.3879071196
+ -0.2509099134 1.0283670552 2.5371427474 2.7526473967
+ -0.1848163288 -0.0145086192 0.7810500949 0.8147923730
+ 0.0798989858 0.0177152149 0.6381423480 0.8109033809
+ 0.1405868712 -0.3484884657 0.0634771676 0.4058546720
+ -0.2544897258 -0.6531346083 3.9089237932 4.0806109409
+ -0.1399340867 -0.5392663281 -3.3629465752 3.4116387812
+ 0.1283099893 -0.1545093473 -2173.2916461948 2173.2918580134
+ -0.0505030378 0.6710773020 69.5708873693 69.5742822057
+ 0.0695297561 -0.1868442055 62.0716087657 62.0720858333
+ 0.0105390795 0.0046327660 1.1091409568 1.1092007017
+ -0.1472491691 -0.4232072930 28.6622786755 28.6657810918
+ 0.1119293360 -0.0270607863 2.5389630384 2.5890605889
+ 0.2021383655 -0.0490517077 5.7384925580 5.7439570517
+ -0.2262464120 -0.1108540837 0.6650809227 0.7247678839
+ 0.2940671618 -0.1807426302 5.7489603243 5.7610040782
+ -0.0304905555 -0.0429412202 -0.0567276926 0.0774057716
+ 0.4064139024 1.2153648022 -0.2896012180 1.3138313164
+ 0.1511861687 -0.3500025958 0.3964520787 0.5674619902
+ -0.1617250450 -0.0820865837 -0.0898413518 0.2458545318
+ 0.1703061199 0.4107291443 -0.3343744192 0.5735753146
+ 0.9714761942 0.7950819239 -2.8416202637 3.2451621804
+ -0.1076899006 -0.3782352011 -2.5618637547 2.7569179648
+ 0.0914930775 0.0458068883 -0.1770382742 0.2475713830
+ 0.4807530770 -0.2024581356 -1.6510914821 1.7371516010
+ 0.3160080474 -1.0763148458 -21.2371977921 21.2668024112
+ -0.1060751673 -0.6656464170 -8.1563494257 8.1841537772
+ -0.2575020112 -0.0795074146 -5.5962276243 5.6027129444
+ -0.1373116590 -0.1209981957 -2.4551141960 2.4619262317
+ 0.1620598954 -0.3310185734 -3.4983044811 3.5176655537
+ 0.1224823433 -0.0751824814 -1.6375227736 1.6438172538
+ 0.0532496592 -0.1741710120 -7.3278969329 7.3314885468
+ 0.0157392840 -0.2773076980 -13.5284358356 13.5320066224
+ 0.0031280872 -0.3010747616 -5.9638996985 5.9731260823
+ -0.5405945489 -0.7468889036 -62.9290306281 62.9377201863
+ -0.1541591036 0.0093634802 -4.5057751508 4.5105811375
+ -0.2829997380 0.0758951723 -31.0696783980 31.0713733921
+ -0.3757359322 0.0293756986 -29.3391550013 29.3419075112
+ -0.2442064796 0.0028403697 -6.5114008469 6.5174738700
+ -0.0373338230 -0.0310361303 118.0851090994 118.0851190798
+ 0.1042333815 -0.2316634279 553.3265834705 553.3266417838
+ 0.2438147877 -0.4021690426 594.2740754097 594.2744664972
+ 0.1302023361 0.0993079539 15.0798299772 15.0813648800
+ 0.0717679507 0.1375753764 108.7994828772 108.7996830499
+ 0.0402844719 -0.3564924308 191.5011529587 191.5015398737
+ 0.2049100941 0.1616435511 61.9239488936 61.9246561811
+ 0.0601128582 0.6010591067 17.2364494499 17.2726045236
+ 0.0861610587 -0.1699287642 4.1860476585 4.1927048903
+ -0.0396801121 -0.4716916997 9.8545053274 9.9103831112
+ -0.2745340389 -0.3055512572 3.6613114515 3.6869244418
+ 0.5651868859 -0.0937961993 14.1793806926 14.1916366411
+ 0.4919594264 0.4471448173 6.9400499062 6.9732155459
+ -0.0196293499 0.4114498934 2.1295114649 2.1734707705
+ 0.0384893623 0.3742906823 1.4934704969 1.5401393025
+ 0.0316174284 0.0507004465 0.1046608291 0.1205159168
+ 0.0826441927 0.1179370030 0.1956369187 0.2429259213
+ -0.0488151020 0.1517909400 0.2069873395 0.2612798545
+ -0.1867558882 0.0776545101 0.2301632461 0.3366940592
+ 0.1537000072 -0.0337410647 0.0339417857 0.2130586337
+ 0.1848337279 -0.2857156151 1.3101156071 1.3607643472
+ 0.3945810023 -0.4822627261 1.2128136595 1.3706451992
+ -0.1624327888 0.1112322768 3.1328896148 3.1390690290
+ -0.0003963869 -0.0114712661 1.2514092178 1.2514618562
+ 0.6376400482 -0.4358936368 4.9846112159 5.1308604397
+ -0.7556059715 1.9498705418 2.5458407683 3.3313483293
+ -0.3474383870 1.3692257678 1.7556163845 2.3067991862
+ -0.3304737366 -0.1250918604 15.1329469052 15.1451174924
+ -0.5307605838 -0.4264573928 9.0108285578 9.0375928094
+ -0.1948113411 0.1333171507 0.2199687870 0.3515550788
+ 0.1419488547 0.1879520209 -0.2236372431 0.3535093222
+ -0.0134597648 0.0243286069 0.8831575938 0.8945502595
+ 0.3487155182 0.0954617226 -0.5282402950 0.6551587954
+ -0.1535767230 0.0708291354 -0.6449338310 0.6811916085
+ -0.1019534073 0.5576148937 -3.1877358687 3.2407512432
+ -0.3790742723 -0.1197657943 -2.7669045097 2.7988000107
+ 0.2359232552 0.5831934149 -25.3233344084 25.3359562847
+ -0.3087529998 0.3671051215 -7.5633091477 7.5797902104
+ -0.1347249257 0.3254560678 -14.1338327412 14.1389101489
+ 0.2277815435 0.2373422179 -1200.6657242553 1200.6657774322
+ -0.3313679436 0.5802113875 -1461.5048879359 1461.5050473365
+ -0.4593798832 -0.0244222439 -396.7822830972 396.7825743224
+ -0.1371016559 0.0390527205 -126.6262776264 126.6263578703
+ -0.6218000806 0.4732004739 -815.4439552875 815.4443296565
+ -0.1215358997 -0.0236258916 17.7261813186 17.7266137008
+ -0.0885561224 -0.1328205126 40.2348612352 40.2351779180
+ -0.0044039537 0.0849650394 2.3610365196 2.3625689195
+ -0.0566994721 0.2224867548 15.8857595328 15.8874186425
+ -0.1901658448 -0.0398369347 11.1977366999 11.2387654578
+ 0.0762295067 0.1177236700 1.0091883352 1.0188870871
+ -0.0470706360 0.0529480456 0.2777459969 0.2866391095
+ -0.0089000760 -0.2774171007 -0.0776237013 0.5751002756
+ -0.0193045541 0.0537465510 0.0585780140 0.0818091760
+ -0.2403039019 0.3139063152 0.0310875531 0.3965470665
+ -0.0117586322 -0.3081899759 0.0218862536 0.3091898038
+ 0.0210653084 0.0027721451 -0.0131185410 0.0249705451
+ 0.0557023812 -0.0567698358 -0.0264301192 0.0838100276
+ 0.0466082191 -0.0151853147 -0.2108178155 0.2164418425
+ -0.1051469392 0.0810289501 -2.1972845831 2.2012907824
+ -0.0243084395 -0.0504282100 -0.7587364203 0.7607988303
+ 0.1183557971 -0.3939313038 -12.9396981453 12.9462341265
+ 0.0960099924 -0.2451780329 -5.5543137107 5.5605513201
+ 0.5542228616 -0.1157019972 -19.8537428612 19.8840249275
+ 0.0319194968 -0.0281070208 -1.8587021857 1.8591887140
+ -0.0026680923 -0.6073155258 -30.6238018915 30.6298234006
+ -0.0286164827 0.0044098764 -1.7752407331 1.7754768403
+ 0.0640835686 0.1988070149 -5.6854897549 5.6893255036
+ -0.0813932719 -0.2380353101 -30.9891428038 30.9901638813
+ -0.0230503150 0.0090018826 -7.4058791935 7.4059205356
+ -0.0129558868 -0.0167651718 4.6286048220 4.6286533165
+ 0.0138691739 0.2045852641 91.4849875243 91.4852173294
+ -0.7538509939 -0.0598284626 199.1123948239 199.1144528122
+ -0.0217432632 0.0228584553 19.1431998726 19.1432258682
+ -0.1282079198 -0.1639526288 63.8990959120 63.8994348654
+ -0.0386389018 -0.1293673397 13.5620330807 13.5627051193
+ -0.1406133130 -0.2054677620 12.9702962263 12.9726856627
+ -0.4005395763 -0.1376992529 1.4422810152 1.5031858046
+ -0.0366367525 0.0287954072 0.1442117853 0.1515535091
+ -0.3056855592 0.4155662790 -0.2354509299 0.5670768323
+ -0.0907587808 0.1480175054 -0.0004059892 0.1736274835
+ 0.0895779851 -0.1957882823 0.4670865475 0.5143219903
+ 0.5114868344 -1.2957924318 3.9163460051 4.1567370424
+ 0.1018406600 -0.1255248871 0.5336859185 0.5576277225
+ -0.0445553806 -0.0492210526 0.2059530844 0.2163898495
+ 0.3203606756 -0.0012133885 0.0470607827 0.3238010995
+ 0.2566454328 -0.1058735256 0.1091560781 0.2983138129
+ 0.0270407464 -0.0304360629 -0.2327492008 0.2362831910
+ 0.0650159863 0.1327133516 -0.4985052263 0.5199493944
+ -0.3850739325 -0.1443443678 -32.0717911630 32.0744275964
+ -0.0423766449 -0.0590868435 -3.3877729438 3.3885531653
+ -0.1126229237 0.0097070348 -57.4153970724 57.4155083503
+ -0.0872303331 0.1169515992 -141.5576325999 141.5577077876
+ 0.0183159154 -0.0350624937 0.5577936308 0.5591945867
+ -0.0719434326 0.0221833740 0.2308702752 0.2428354248
+ -0.0383288724 0.0132575968 -0.1513156919 0.1566566467
+ 0.0447038879 -0.0424941908 -1.2341788741 1.2357190972
+ -0.0503591042 -0.0209595736 -9.0089343440 9.0090994753
+ 0.0678564659 -0.1414441379 -22.2401568041 22.2407100969
+ 0.0466962257 0.0607855409 -27.0438685163 27.0439771437
+ -0.0080696724 0.0293332386 -95.6030272265 95.6030320671
+ 0.0868873593 -0.2582409762 0.5114096200 0.5794632123
+ 0.0850637181 -0.1239740616 0.1313306481 0.1996325205
+ 0.0352693072 0.0433247772 0.2372331124 0.2437221983
+ 0.0691086716 0.0537454953 0.0406942121 0.0965432838
+#END
Index: tags/siscone-3.0.2/examples/events
===================================================================
--- tags/siscone-3.0.2/examples/events (revision 397)
+++ tags/siscone-3.0.2/examples/events (revision 398)
Property changes on: tags/siscone-3.0.2/examples/events
___________________________________________________________________
Added: svn:ignore
## -0,0 +1,3 ##
+Makefile.in
+
+Makefile
Index: tags/siscone-3.0.2/examples/jets.gri
===================================================================
--- tags/siscone-3.0.2/examples/jets.gri (revision 0)
+++ tags/siscone-3.0.2/examples/jets.gri (revision 398)
@@ -0,0 +1,74 @@
+set x size 20
+set y size 8
+set font size 14
+set symbol size 0.1
+
+.pi. = {rpn pi}
+.pim. = {rpn pi -1.0 *}
+.pi2. = {rpn pi 2.0 *}
+
+set x type linear
+set x axis -10 10 1.0
+set y axis .pim. .pi. 1.0
+set x name "$\eta$"
+set y name "$\phi$"
+set clip on
+draw axes
+
+open "particles.dat"
+read columns x=1 y=2
+set color black
+set symbol size 0.15
+draw symbol 0
+
+open "jets.dat"
+# read the number of jets
+read .nb_jets. * *
+
+# draw jet centres
+read columns x=1 y=2 z=4
+.ic. = 0
+set color black
+set symbol size 0.5
+while {rpn .ic. .nb_jets. >}
+ .x. = {rpn x .ic. @}
+ .y. = {rpn y .ic. @}
+ draw symbol 1 at .x. .y.
+ .ic. += 1
+end while
+
+# draw jet contents
+set symbol size 0.2
+while {rpn .ic. ..num_col_data.. >}
+ .x. = {rpn x .ic. @}
+ .y. = {rpn y .ic. @}
+ .z. = {rpn z .ic. @}
+ if {rpn .z. 0 ==}
+ set color red
+ else if {rpn .z. 1 ==}
+ set color green
+ else if {rpn .z. 2 ==}
+ set color blue
+ else if {rpn .z. 3 ==}
+ set color cyan
+ else if {rpn .z. 4 ==}
+ set color magenta
+ else if {rpn .z. 5 ==}
+ set color yellow
+ else if {rpn .z. 6 ==}
+ set color black
+ else if {rpn .z. 7 ==}
+ set color orange
+ else if {rpn .z. 8 ==}
+ set color brown
+ else if {rpn .z. 9 ==}
+ set color LightGray
+ else if {rpn .z. 10 ==}
+ set color ForestGreen
+ else
+ set color skyblue
+ end if
+ .z. = {rpn .z. 11 +}
+ draw symbol .z. at .x. .y.
+ .ic. += 1
+end while
Index: tags/siscone-3.0.2/examples/main.cpp
===================================================================
--- tags/siscone-3.0.2/examples/main.cpp (revision 0)
+++ tags/siscone-3.0.2/examples/main.cpp (revision 398)
@@ -0,0 +1,117 @@
+///////////////////////////////////////////////////////////////////////////////
+// File: main.cpp //
+// Description: main program that runs siscone from the command line //
+// This file is part of the SISCone project. //
+// For more details, see http://projects.hepforge.org/siscone //
+// //
+// Copyright (c) 2006 Gavin Salam and Gregory Soyez //
+// //
+// This program is free software; you can redistribute it and/or modify //
+// it under the terms of the GNU General Public License as published by //
+// the Free Software Foundation; either version 2 of the License, or //
+// (at your option) any later version. //
+// //
+// This program is distributed in the hope that it will be useful, //
+// but WITHOUT ANY WARRANTY; without even the implied warranty of //
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
+// GNU General Public License for more details. //
+// //
+// You should have received a copy of the GNU General Public License //
+// along with this program; if not, write to the Free Software //
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
+// //
+// $Revision:: $//
+// $Date:: $//
+///////////////////////////////////////////////////////////////////////////////
+
+#include <stdio.h>
+#include <iostream>
+#include <cstdlib>
+#include "siscone/momentum.h"
+#include "siscone/siscone.h"
+#include "options.h"
+
+using namespace std;
+using namespace siscone;
+
+int main(int argc, char *argv[]){
+ vector<Cmomentum> particles;
+ Csiscone siscone;
+ int i,N;
+ double px,py,pz,E;
+ Coptions opts;
+ char fline[512];
+
+ if (opts.parse_options(argc, argv))
+ exit(1);
+
+ // deal with help message
+ if (opts.help_flag){
+ opts.print_help();
+ exit(0);
+ }
+
+ // deal with version flag
+ if (opts.version_flag){
+ opts.print_version();
+ exit(0);
+ }
+
+ // various files used to read input data and store results
+ FILE *flux;
+ FILE *fpart;
+
+ // read particles
+ if (opts.verbose_flag) cout << "reading particles" << endl;
+ flux = fopen(opts.ev_name, "r");
+ if (flux==NULL){
+ cerr << "cannot read event '" << opts.ev_name << "'" << endl;
+ cerr << "specify the event to read using the -e option" << endl;
+ return 1;
+ }
+
+ N=0;
+ fpart = fopen("particles.dat", "w+");
+ while ((opts.N_stop!=0) && (fgets(fline, 512, flux)!=NULL)){
+ if (fline[0]!='#'){ // skip lines beginning with '#'
+ if (sscanf(fline, "%le%le%le%le", &px, &py, &pz, &E)==4){
+ particles.push_back(Cmomentum(px, py, pz, E));
+ fprintf(fpart, "%e\t%e\n", particles[N].eta, particles[N].phi);
+ N++;
+ opts.N_stop--;
+ } else {
+ cout << "error in reading event file Giving up." << endl;
+ fclose(flux);
+ fclose(fpart);
+ exit(2);
+ }
+ }
+ }
+ fclose(flux);
+ fclose(fpart);
+ if (opts.verbose_flag)
+ cout << " working with " << N << " particles" << endl;
+
+ // compute jets
+ if (opts.verbose_flag) cout << "computing jet contents" << endl;
+ i=siscone.compute_jets(particles, opts.R, opts.f, opts.npass, opts.ptmin, opts.SM_var);
+ if (opts.verbose_flag){
+ unsigned int pass;
+ for (pass=0;pass<siscone.protocones_list.size();pass++)
+ cout << " pass " << pass << " found " << siscone.protocones_list[pass].size()
+ << " stable cones" << endl;
+ cout << " Final result: " << i << " jets found" << endl;
+ }
+
+ // save jets
+ if (opts.verbose_flag)
+ cout << "saving result" << endl;
+ flux = fopen("jets.dat", "w+");
+ siscone.save_contents(flux);
+ fclose(flux);
+
+ if (opts.verbose_flag)
+ cout << "bye..." << endl;
+
+ return 0;
+}
Property changes on: tags/siscone-3.0.2/examples/main.cpp
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Date Rev
\ No newline at end of property
Index: tags/siscone-3.0.2/examples/Makefile.am
===================================================================
--- tags/siscone-3.0.2/examples/Makefile.am (revision 0)
+++ tags/siscone-3.0.2/examples/Makefile.am (revision 398)
@@ -0,0 +1,35 @@
+# we only install the 'siscone' and 'area' programs
+# since the remaining ones are samples and test programs
+# we leave them in the 'examples' folder.
+noinst_PROGRAMS = siscone siscone_area test times sample spherical
+
+EXTRA_DIST = options.h makefile.static
+
+SUBDIRS = events
+
+# specify sources for each program to build
+siscone_SOURCES = options.cpp main.cpp
+siscone_CXXFLAGS = $(AM_CXXFLAGS) -I$(srcdir)/..
+siscone_LDADD = ../siscone/libsiscone.la
+
+siscone_area_SOURCES = options.cpp area.cpp
+siscone_area_CXXFLAGS = $(AM_CXXFLAGS) -I$(srcdir)/..
+siscone_area_LDADD = ../siscone/libsiscone.la
+
+test_SOURCES = test.cpp
+test_CXXFLAGS = $(AM_CXXFLAGS) -I$(srcdir)/..
+test_LDADD = ../siscone/libsiscone.la
+
+times_SOURCES = times.cpp
+times_CXXFLAGS = $(AM_CXXFLAGS) -I$(srcdir)/..
+times_LDADD = ../siscone/libsiscone.la
+
+sample_SOURCES = sample.cpp
+sample_CXXFLAGS = $(AM_CXXFLAGS) -I$(srcdir)/..
+sample_LDADD = ../siscone/libsiscone.la
+
+spherical_SOURCES = spherical.cpp
+spherical_CXXFLAGS = $(AM_CXXFLAGS) -I$(srcdir)/..
+spherical_LDADD = ../siscone/spherical/libsiscone_spherical.la\
+ ../siscone/libsiscone.la
+
Index: tags/siscone-3.0.2/examples/area.cpp
===================================================================
--- tags/siscone-3.0.2/examples/area.cpp (revision 0)
+++ tags/siscone-3.0.2/examples/area.cpp (revision 398)
@@ -0,0 +1,123 @@
+///////////////////////////////////////////////////////////////////////////////
+// File: main.cpp //
+// Description: main program that runs siscone from the command line //
+// This file is part of the SISCone project. //
+// For more details, see http://projects.hepforge.org/siscone //
+// //
+// Copyright (c) 2006 Gavin Salam and Gregory Soyez //
+// //
+// This program is free software; you can redistribute it and/or modify //
+// it under the terms of the GNU General Public License as published by //
+// the Free Software Foundation; either version 2 of the License, or //
+// (at your option) any later version. //
+// //
+// This program is distributed in the hope that it will be useful, //
+// but WITHOUT ANY WARRANTY; without even the implied warranty of //
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
+// GNU General Public License for more details. //
+// //
+// You should have received a copy of the GNU General Public License //
+// along with this program; if not, write to the Free Software //
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
+// //
+// $Revision:: 171 $//
+// $Date:: 2007-06-19 10:26:05 -0400 (Tue, 19 Jun 2007) $//
+///////////////////////////////////////////////////////////////////////////////
+
+#include <stdio.h>
+#include <iostream>
+#include <cstdlib>
+#include "siscone/momentum.h"
+#include "siscone/siscone.h"
+#include "siscone/area.h"
+#include "options.h"
+
+using namespace std;
+using namespace siscone;
+
+int main(int argc, char *argv[]){
+ vector<Cmomentum> particles;
+ Carea siscone_with_area;
+ int i,N;
+ double px,py,pz,E;
+ Coptions opts;
+ char fline[512];
+
+ if (opts.parse_options(argc, argv))
+ exit(1);
+
+ // deal with help message
+ if (opts.help_flag){
+ opts.print_help();
+ exit(0);
+ }
+
+ // deal with version flag
+ if (opts.version_flag){
+ opts.print_version();
+ exit(0);
+ }
+
+ // various files used to read input data and store results
+ FILE *flux;
+ FILE *fpart;
+
+ // read particles
+ if (opts.verbose_flag) cout << "reading particles" << endl;
+ flux = fopen(opts.ev_name, "r");
+ if (flux==NULL){
+ cerr << "cannot read event" << endl;
+ return 1;
+ }
+
+ N=0;
+ fpart = fopen("particles.dat", "w+");
+ while ((opts.N_stop!=0) && (fgets(fline, 512, flux)!=NULL)){
+ if (fline[0]!='#'){ // skip lines beginning with '#'
+ if (sscanf(fline, "%le%le%le%le", &px, &py, &pz, &E)==4){
+ particles.push_back(Cmomentum(px, py, pz, E));
+ fprintf(fpart, "%e\t%e\n", particles[N].eta, particles[N].phi);
+ N++;
+ opts.N_stop--;
+ } else {
+ cout << "error in reading event file Giving up." << endl;
+ fclose(flux);
+ fclose(fpart);
+ exit(2);
+ }
+ }
+ }
+ fclose(flux);
+ fclose(fpart);
+ if (opts.verbose_flag)
+ cout << " working with " << N << " particles" << endl;
+
+ // compute jets
+ if (opts.verbose_flag) cout << "computing jet contents" << endl;
+ i=siscone_with_area.compute_areas(particles, opts.R, opts.f, opts.npass, opts.SM_var);
+ if (opts.verbose_flag){
+ unsigned int pass;
+ for (pass=0;pass<siscone_with_area.protocones_list.size();pass++)
+ cout << " pass " << pass << " found " << siscone_with_area.protocones_list[pass].size()
+ << " stable cones" << endl;
+ cout << " Final result: " << i << " jets found" << endl;
+ }
+
+ // save jets
+ if (opts.verbose_flag)
+ cout << "saving result" << endl;
+ flux = fopen("jets_with_area.dat", "w+");
+ vector<Cjet_area>::iterator ja;
+ for (ja=siscone_with_area.jet_areas.begin();ja!=siscone_with_area.jet_areas.end();ja++){
+ fprintf(flux, "%e\t%e\t%e\t%e\t%e\n",
+ ja->v.perp(), ja->v.eta, ja->v.phi,
+ ja->active_area, ja->passive_area);
+ }
+
+ fclose(flux);
+
+ if (opts.verbose_flag)
+ cout << "bye..." << endl;
+
+ return 0;
+}
Index: tags/siscone-3.0.2/examples
===================================================================
--- tags/siscone-3.0.2/examples (revision 397)
+++ tags/siscone-3.0.2/examples (revision 398)
Property changes on: tags/siscone-3.0.2/examples
___________________________________________________________________
Added: svn:ignore
## -0,0 +1,17 ##
+*.dat
+test
+sample
+times
+siscone
+
+Makefile.in
+
+Makefile
+
+.deps
+
+siscone_area
+
+spherical
+
+.libs
Index: tags/siscone-3.0.2/Doxyfile
===================================================================
--- tags/siscone-3.0.2/Doxyfile (revision 0)
+++ tags/siscone-3.0.2/Doxyfile (revision 398)
@@ -0,0 +1,2355 @@
+# Doxyfile 1.8.8
+
+# This file describes the settings to be used by the documentation system
+# doxygen (www.doxygen.org) for a project.
+#
+# All text after a double hash (##) is considered a comment and is placed in
+# front of the TAG it is preceding.
+#
+# All text after a single hash (#) is considered a comment and will be ignored.
+# The format is:
+# TAG = value [value, ...]
+# For lists, items can also be appended using:
+# TAG += value [value, ...]
+# Values that contain spaces should be placed between quotes (\" \").
+
+#---------------------------------------------------------------------------
+# Project related configuration options
+#---------------------------------------------------------------------------
+
+# This tag specifies the encoding used for all characters in the config file
+# that follow. The default is UTF-8 which is also the encoding used for all text
+# before the first occurrence of this tag. Doxygen uses libiconv (or the iconv
+# built into libc) for the transcoding. See http://www.gnu.org/software/libiconv
+# for the list of possible encodings.
+# The default value is: UTF-8.
+
+DOXYFILE_ENCODING = UTF-8
+
+# The PROJECT_NAME tag is a single word (or a sequence of words surrounded by
+# double-quotes, unless you are using Doxywizard) that should identify the
+# project for which the documentation is generated. This name is used in the
+# title of most generated pages and in a few other places.
+# The default value is: My Project.
+
+PROJECT_NAME = SISCone
+
+# The PROJECT_NUMBER tag can be used to enter a project or revision number. This
+# could be handy for archiving the generated documentation or if some version
+# control system is used.
+
+PROJECT_NUMBER = 3.0.2
+
+# Using the PROJECT_BRIEF tag one can provide an optional one line description
+# for a project that appears at the top of each page and should give viewer a
+# quick idea about the purpose of the project. Keep the description short.
+
+PROJECT_BRIEF =
+
+# With the PROJECT_LOGO tag one can specify an logo or icon that is included in
+# the documentation. The maximum height of the logo should not exceed 55 pixels
+# and the maximum width should not exceed 200 pixels. Doxygen will copy the logo
+# to the output directory.
+
+PROJECT_LOGO =
+
+# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path
+# into which the generated documentation will be written. If a relative path is
+# entered, it will be relative to the location where doxygen was started. If
+# left blank the current directory will be used.
+
+OUTPUT_DIRECTORY = doc/devel
+
+# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create 4096 sub-
+# directories (in 2 levels) under the output directory of each output format and
+# will distribute the generated files over these directories. Enabling this
+# option can be useful when feeding doxygen a huge amount of source files, where
+# putting all generated files in the same directory would otherwise causes
+# performance problems for the file system.
+# The default value is: NO.
+
+CREATE_SUBDIRS = NO
+
+# If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII
+# characters to appear in the names of generated files. If set to NO, non-ASCII
+# characters will be escaped, for example _xE3_x81_x84 will be used for Unicode
+# U+3044.
+# The default value is: NO.
+
+ALLOW_UNICODE_NAMES = NO
+
+# The OUTPUT_LANGUAGE tag is used to specify the language in which all
+# documentation generated by doxygen is written. Doxygen will use this
+# information to generate all constant output in the proper language.
+# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Catalan, Chinese,
+# Chinese-Traditional, Croatian, Czech, Danish, Dutch, English (United States),
+# Esperanto, Farsi (Persian), Finnish, French, German, Greek, Hungarian,
+# Indonesian, Italian, Japanese, Japanese-en (Japanese with English messages),
+# Korean, Korean-en (Korean with English messages), Latvian, Lithuanian,
+# Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, Romanian, Russian,
+# Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, Swedish, Turkish,
+# Ukrainian and Vietnamese.
+# The default value is: English.
+
+OUTPUT_LANGUAGE = English
+
+# If the BRIEF_MEMBER_DESC tag is set to YES doxygen will include brief member
+# descriptions after the members that are listed in the file and class
+# documentation (similar to Javadoc). Set to NO to disable this.
+# The default value is: YES.
+
+BRIEF_MEMBER_DESC = YES
+
+# If the REPEAT_BRIEF tag is set to YES doxygen will prepend the brief
+# description of a member or function before the detailed description
+#
+# Note: If both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
+# brief descriptions will be completely suppressed.
+# The default value is: YES.
+
+REPEAT_BRIEF = YES
+
+# This tag implements a quasi-intelligent brief description abbreviator that is
+# used to form the text in various listings. Each string in this list, if found
+# as the leading text of the brief description, will be stripped from the text
+# and the result, after processing the whole list, is used as the annotated
+# text. Otherwise, the brief description is used as-is. If left blank, the
+# following values are used ($name is automatically replaced with the name of
+# the entity):The $name class, The $name widget, The $name file, is, provides,
+# specifies, contains, represents, a, an and the.
+
+ABBREVIATE_BRIEF =
+
+# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
+# doxygen will generate a detailed section even if there is only a brief
+# description.
+# The default value is: NO.
+
+ALWAYS_DETAILED_SEC = NO
+
+# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
+# inherited members of a class in the documentation of that class as if those
+# members were ordinary class members. Constructors, destructors and assignment
+# operators of the base classes will not be shown.
+# The default value is: NO.
+
+INLINE_INHERITED_MEMB = NO
+
+# If the FULL_PATH_NAMES tag is set to YES doxygen will prepend the full path
+# before files name in the file list and in the header files. If set to NO the
+# shortest path that makes the file name unique will be used
+# The default value is: YES.
+
+FULL_PATH_NAMES = YES
+
+# The STRIP_FROM_PATH tag can be used to strip a user-defined part of the path.
+# Stripping is only done if one of the specified strings matches the left-hand
+# part of the path. The tag can be used to show relative paths in the file list.
+# If left blank the directory from which doxygen is run is used as the path to
+# strip.
+#
+# Note that you can specify absolute paths here, but also relative paths, which
+# will be relative from the directory where doxygen is started.
+# This tag requires that the tag FULL_PATH_NAMES is set to YES.
+
+STRIP_FROM_PATH =
+
+# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the
+# path mentioned in the documentation of a class, which tells the reader which
+# header file to include in order to use a class. If left blank only the name of
+# the header file containing the class definition is used. Otherwise one should
+# specify the list of include paths that are normally passed to the compiler
+# using the -I flag.
+
+STRIP_FROM_INC_PATH =
+
+# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but
+# less readable) file names. This can be useful is your file systems doesn't
+# support long names like on DOS, Mac, or CD-ROM.
+# The default value is: NO.
+
+SHORT_NAMES = NO
+
+# If the JAVADOC_AUTOBRIEF tag is set to YES then doxygen will interpret the
+# first line (until the first dot) of a Javadoc-style comment as the brief
+# description. If set to NO, the Javadoc-style will behave just like regular Qt-
+# style comments (thus requiring an explicit @brief command for a brief
+# description.)
+# The default value is: NO.
+
+JAVADOC_AUTOBRIEF = YES
+
+# If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first
+# line (until the first dot) of a Qt-style comment as the brief description. If
+# set to NO, the Qt-style will behave just like regular Qt-style comments (thus
+# requiring an explicit \brief command for a brief description.)
+# The default value is: NO.
+
+QT_AUTOBRIEF = NO
+
+# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make doxygen treat a
+# multi-line C++ special comment block (i.e. a block of //! or /// comments) as
+# a brief description. This used to be the default behavior. The new default is
+# to treat a multi-line C++ comment block as a detailed description. Set this
+# tag to YES if you prefer the old behavior instead.
+#
+# Note that setting this tag to YES also means that rational rose comments are
+# not recognized any more.
+# The default value is: NO.
+
+MULTILINE_CPP_IS_BRIEF = NO
+
+# If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the
+# documentation from any documented member that it re-implements.
+# The default value is: YES.
+
+INHERIT_DOCS = YES
+
+# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce a
+# new page for each member. If set to NO, the documentation of a member will be
+# part of the file/class/namespace that contains it.
+# The default value is: NO.
+
+SEPARATE_MEMBER_PAGES = NO
+
+# The TAB_SIZE tag can be used to set the number of spaces in a tab. Doxygen
+# uses this value to replace tabs by spaces in code fragments.
+# Minimum value: 1, maximum value: 16, default value: 4.
+
+TAB_SIZE = 8
+
+# This tag can be used to specify a number of aliases that act as commands in
+# the documentation. An alias has the form:
+# name=value
+# For example adding
+# "sideeffect=@par Side Effects:\n"
+# will allow you to put the command \sideeffect (or @sideeffect) in the
+# documentation, which will result in a user-defined paragraph with heading
+# "Side Effects:". You can put \n's in the value part of an alias to insert
+# newlines.
+
+ALIASES =
+
+# This tag can be used to specify a number of word-keyword mappings (TCL only).
+# A mapping has the form "name=value". For example adding "class=itcl::class"
+# will allow you to use the command class in the itcl::class meaning.
+
+TCL_SUBST =
+
+# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources
+# only. Doxygen will then generate output that is more tailored for C. For
+# instance, some of the names that are used will be different. The list of all
+# members will be omitted, etc.
+# The default value is: NO.
+
+OPTIMIZE_OUTPUT_FOR_C = NO
+
+# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java or
+# Python sources only. Doxygen will then generate output that is more tailored
+# for that language. For instance, namespaces will be presented as packages,
+# qualified scopes will look different, etc.
+# The default value is: NO.
+
+OPTIMIZE_OUTPUT_JAVA = NO
+
+# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
+# sources. Doxygen will then generate output that is tailored for Fortran.
+# The default value is: NO.
+
+OPTIMIZE_FOR_FORTRAN = NO
+
+# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
+# sources. Doxygen will then generate output that is tailored for VHDL.
+# The default value is: NO.
+
+OPTIMIZE_OUTPUT_VHDL = NO
+
+# Doxygen selects the parser to use depending on the extension of the files it
+# parses. With this tag you can assign which parser to use for a given
+# extension. Doxygen has a built-in mapping, but you can override or extend it
+# using this tag. The format is ext=language, where ext is a file extension, and
+# language is one of the parsers supported by doxygen: IDL, Java, Javascript,
+# C#, C, C++, D, PHP, Objective-C, Python, Fortran (fixed format Fortran:
+# FortranFixed, free formatted Fortran: FortranFree, unknown formatted Fortran:
+# Fortran. In the later case the parser tries to guess whether the code is fixed
+# or free formatted code, this is the default for Fortran type files), VHDL. For
+# instance to make doxygen treat .inc files as Fortran files (default is PHP),
+# and .f files as C (default is Fortran), use: inc=Fortran f=C.
+#
+# Note For files without extension you can use no_extension as a placeholder.
+#
+# Note that for custom extensions you also need to set FILE_PATTERNS otherwise
+# the files are not read by doxygen.
+
+EXTENSION_MAPPING =
+
+# If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments
+# according to the Markdown format, which allows for more readable
+# documentation. See http://daringfireball.net/projects/markdown/ for details.
+# The output of markdown processing is further processed by doxygen, so you can
+# mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in
+# case of backward compatibilities issues.
+# The default value is: YES.
+
+MARKDOWN_SUPPORT = YES
+
+# When enabled doxygen tries to link words that correspond to documented
+# classes, or namespaces to their corresponding documentation. Such a link can
+# be prevented in individual cases by by putting a % sign in front of the word
+# or globally by setting AUTOLINK_SUPPORT to NO.
+# The default value is: YES.
+
+AUTOLINK_SUPPORT = YES
+
+# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
+# to include (a tag file for) the STL sources as input, then you should set this
+# tag to YES in order to let doxygen match functions declarations and
+# definitions whose arguments contain STL classes (e.g. func(std::string);
+# versus func(std::string) {}). This also make the inheritance and collaboration
+# diagrams that involve STL classes more complete and accurate.
+# The default value is: NO.
+
+BUILTIN_STL_SUPPORT = NO
+
+# If you use Microsoft's C++/CLI language, you should set this option to YES to
+# enable parsing support.
+# The default value is: NO.
+
+CPP_CLI_SUPPORT = NO
+
+# Set the SIP_SUPPORT tag to YES if your project consists of sip (see:
+# http://www.riverbankcomputing.co.uk/software/sip/intro) sources only. Doxygen
+# will parse them like normal C++ but will assume all classes use public instead
+# of private inheritance when no explicit protection keyword is present.
+# The default value is: NO.
+
+SIP_SUPPORT = NO
+
+# For Microsoft's IDL there are propget and propput attributes to indicate
+# getter and setter methods for a property. Setting this option to YES will make
+# doxygen to replace the get and set methods by a property in the documentation.
+# This will only work if the methods are indeed getting or setting a simple
+# type. If this is not the case, or you want to show the methods anyway, you
+# should set this option to NO.
+# The default value is: YES.
+
+IDL_PROPERTY_SUPPORT = YES
+
+# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
+# tag is set to YES, then doxygen will reuse the documentation of the first
+# member in the group (if any) for the other members of the group. By default
+# all members of a group must be documented explicitly.
+# The default value is: NO.
+
+DISTRIBUTE_GROUP_DOC = NO
+
+# Set the SUBGROUPING tag to YES to allow class member groups of the same type
+# (for instance a group of public functions) to be put as a subgroup of that
+# type (e.g. under the Public Functions section). Set it to NO to prevent
+# subgrouping. Alternatively, this can be done per class using the
+# \nosubgrouping command.
+# The default value is: YES.
+
+SUBGROUPING = YES
+
+# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and unions
+# are shown inside the group in which they are included (e.g. using \ingroup)
+# instead of on a separate page (for HTML and Man pages) or section (for LaTeX
+# and RTF).
+#
+# Note that this feature does not work in combination with
+# SEPARATE_MEMBER_PAGES.
+# The default value is: NO.
+
+INLINE_GROUPED_CLASSES = NO
+
+# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and unions
+# with only public data fields or simple typedef fields will be shown inline in
+# the documentation of the scope in which they are defined (i.e. file,
+# namespace, or group documentation), provided this scope is documented. If set
+# to NO, structs, classes, and unions are shown on a separate page (for HTML and
+# Man pages) or section (for LaTeX and RTF).
+# The default value is: NO.
+
+INLINE_SIMPLE_STRUCTS = NO
+
+# When TYPEDEF_HIDES_STRUCT tag is enabled, a typedef of a struct, union, or
+# enum is documented as struct, union, or enum with the name of the typedef. So
+# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
+# with name TypeT. When disabled the typedef will appear as a member of a file,
+# namespace, or class. And the struct will be named TypeS. This can typically be
+# useful for C code in case the coding convention dictates that all compound
+# types are typedef'ed and only the typedef is referenced, never the tag name.
+# The default value is: NO.
+
+TYPEDEF_HIDES_STRUCT = NO
+
+# The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This
+# cache is used to resolve symbols given their name and scope. Since this can be
+# an expensive process and often the same symbol appears multiple times in the
+# code, doxygen keeps a cache of pre-resolved symbols. If the cache is too small
+# doxygen will become slower. If the cache is too large, memory is wasted. The
+# cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range
+# is 0..9, the default is 0, corresponding to a cache size of 2^16=65536
+# symbols. At the end of a run doxygen will report the cache usage and suggest
+# the optimal cache size from a speed point of view.
+# Minimum value: 0, maximum value: 9, default value: 0.
+
+LOOKUP_CACHE_SIZE = 0
+
+#---------------------------------------------------------------------------
+# Build related configuration options
+#---------------------------------------------------------------------------
+
+# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
+# documentation are documented, even if no documentation was available. Private
+# class members and static file members will be hidden unless the
+# EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES.
+# Note: This will also disable the warnings about undocumented members that are
+# normally produced when WARNINGS is set to YES.
+# The default value is: NO.
+
+EXTRACT_ALL = NO
+
+# If the EXTRACT_PRIVATE tag is set to YES all private members of a class will
+# be included in the documentation.
+# The default value is: NO.
+
+EXTRACT_PRIVATE = NO
+
+# If the EXTRACT_PACKAGE tag is set to YES all members with package or internal
+# scope will be included in the documentation.
+# The default value is: NO.
+
+EXTRACT_PACKAGE = NO
+
+# If the EXTRACT_STATIC tag is set to YES all static members of a file will be
+# included in the documentation.
+# The default value is: NO.
+
+EXTRACT_STATIC = NO
+
+# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) defined
+# locally in source files will be included in the documentation. If set to NO
+# only classes defined in header files are included. Does not have any effect
+# for Java sources.
+# The default value is: YES.
+
+EXTRACT_LOCAL_CLASSES = YES
+
+# This flag is only useful for Objective-C code. When set to YES local methods,
+# which are defined in the implementation section but not in the interface are
+# included in the documentation. If set to NO only methods in the interface are
+# included.
+# The default value is: NO.
+
+EXTRACT_LOCAL_METHODS = NO
+
+# If this flag is set to YES, the members of anonymous namespaces will be
+# extracted and appear in the documentation as a namespace called
+# 'anonymous_namespace{file}', where file will be replaced with the base name of
+# the file that contains the anonymous namespace. By default anonymous namespace
+# are hidden.
+# The default value is: NO.
+
+EXTRACT_ANON_NSPACES = NO
+
+# If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all
+# undocumented members inside documented classes or files. If set to NO these
+# members will be included in the various overviews, but no documentation
+# section is generated. This option has no effect if EXTRACT_ALL is enabled.
+# The default value is: NO.
+
+HIDE_UNDOC_MEMBERS = NO
+
+# If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all
+# undocumented classes that are normally visible in the class hierarchy. If set
+# to NO these classes will be included in the various overviews. This option has
+# no effect if EXTRACT_ALL is enabled.
+# The default value is: NO.
+
+HIDE_UNDOC_CLASSES = NO
+
+# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend
+# (class|struct|union) declarations. If set to NO these declarations will be
+# included in the documentation.
+# The default value is: NO.
+
+HIDE_FRIEND_COMPOUNDS = NO
+
+# If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any
+# documentation blocks found inside the body of a function. If set to NO these
+# blocks will be appended to the function's detailed documentation block.
+# The default value is: NO.
+
+HIDE_IN_BODY_DOCS = NO
+
+# The INTERNAL_DOCS tag determines if documentation that is typed after a
+# \internal command is included. If the tag is set to NO then the documentation
+# will be excluded. Set it to YES to include the internal documentation.
+# The default value is: NO.
+
+INTERNAL_DOCS = NO
+
+# If the CASE_SENSE_NAMES tag is set to NO then doxygen will only generate file
+# names in lower-case letters. If set to YES upper-case letters are also
+# allowed. This is useful if you have classes or files whose names only differ
+# in case and if your file system supports case sensitive file names. Windows
+# and Mac users are advised to set this option to NO.
+# The default value is: system dependent.
+
+CASE_SENSE_NAMES = YES
+
+# If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with
+# their full class and namespace scopes in the documentation. If set to YES the
+# scope will be hidden.
+# The default value is: NO.
+
+HIDE_SCOPE_NAMES = NO
+
+# If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of
+# the files that are included by a file in the documentation of that file.
+# The default value is: YES.
+
+SHOW_INCLUDE_FILES = YES
+
+# If the SHOW_GROUPED_MEMB_INC tag is set to YES then Doxygen will add for each
+# grouped member an include statement to the documentation, telling the reader
+# which file to include in order to use the member.
+# The default value is: NO.
+
+SHOW_GROUPED_MEMB_INC = NO
+
+# If the FORCE_LOCAL_INCLUDES tag is set to YES then doxygen will list include
+# files with double quotes in the documentation rather than with sharp brackets.
+# The default value is: NO.
+
+FORCE_LOCAL_INCLUDES = NO
+
+# If the INLINE_INFO tag is set to YES then a tag [inline] is inserted in the
+# documentation for inline members.
+# The default value is: YES.
+
+INLINE_INFO = YES
+
+# If the SORT_MEMBER_DOCS tag is set to YES then doxygen will sort the
+# (detailed) documentation of file and class members alphabetically by member
+# name. If set to NO the members will appear in declaration order.
+# The default value is: YES.
+
+SORT_MEMBER_DOCS = YES
+
+# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief
+# descriptions of file, namespace and class members alphabetically by member
+# name. If set to NO the members will appear in declaration order. Note that
+# this will also influence the order of the classes in the class list.
+# The default value is: NO.
+
+SORT_BRIEF_DOCS = NO
+
+# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the
+# (brief and detailed) documentation of class members so that constructors and
+# destructors are listed first. If set to NO the constructors will appear in the
+# respective orders defined by SORT_BRIEF_DOCS and SORT_MEMBER_DOCS.
+# Note: If SORT_BRIEF_DOCS is set to NO this option is ignored for sorting brief
+# member documentation.
+# Note: If SORT_MEMBER_DOCS is set to NO this option is ignored for sorting
+# detailed member documentation.
+# The default value is: NO.
+
+SORT_MEMBERS_CTORS_1ST = NO
+
+# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the hierarchy
+# of group names into alphabetical order. If set to NO the group names will
+# appear in their defined order.
+# The default value is: NO.
+
+SORT_GROUP_NAMES = NO
+
+# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be sorted by
+# fully-qualified names, including namespaces. If set to NO, the class list will
+# be sorted only by class name, not including the namespace part.
+# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
+# Note: This option applies only to the class list, not to the alphabetical
+# list.
+# The default value is: NO.
+
+SORT_BY_SCOPE_NAME = NO
+
+# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper
+# type resolution of all parameters of a function it will reject a match between
+# the prototype and the implementation of a member function even if there is
+# only one candidate or it is obvious which candidate to choose by doing a
+# simple string match. By disabling STRICT_PROTO_MATCHING doxygen will still
+# accept a match between prototype and implementation in such cases.
+# The default value is: NO.
+
+STRICT_PROTO_MATCHING = NO
+
+# The GENERATE_TODOLIST tag can be used to enable ( YES) or disable ( NO) the
+# todo list. This list is created by putting \todo commands in the
+# documentation.
+# The default value is: YES.
+
+GENERATE_TODOLIST = YES
+
+# The GENERATE_TESTLIST tag can be used to enable ( YES) or disable ( NO) the
+# test list. This list is created by putting \test commands in the
+# documentation.
+# The default value is: YES.
+
+GENERATE_TESTLIST = YES
+
+# The GENERATE_BUGLIST tag can be used to enable ( YES) or disable ( NO) the bug
+# list. This list is created by putting \bug commands in the documentation.
+# The default value is: YES.
+
+GENERATE_BUGLIST = YES
+
+# The GENERATE_DEPRECATEDLIST tag can be used to enable ( YES) or disable ( NO)
+# the deprecated list. This list is created by putting \deprecated commands in
+# the documentation.
+# The default value is: YES.
+
+GENERATE_DEPRECATEDLIST= YES
+
+# The ENABLED_SECTIONS tag can be used to enable conditional documentation
+# sections, marked by \if <section_label> ... \endif and \cond <section_label>
+# ... \endcond blocks.
+
+ENABLED_SECTIONS =
+
+# The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the
+# initial value of a variable or macro / define can have for it to appear in the
+# documentation. If the initializer consists of more lines than specified here
+# it will be hidden. Use a value of 0 to hide initializers completely. The
+# appearance of the value of individual variables and macros / defines can be
+# controlled using \showinitializer or \hideinitializer command in the
+# documentation regardless of this setting.
+# Minimum value: 0, maximum value: 10000, default value: 30.
+
+MAX_INITIALIZER_LINES = 30
+
+# Set the SHOW_USED_FILES tag to NO to disable the list of files generated at
+# the bottom of the documentation of classes and structs. If set to YES the list
+# will mention the files that were used to generate the documentation.
+# The default value is: YES.
+
+SHOW_USED_FILES = YES
+
+# Set the SHOW_FILES tag to NO to disable the generation of the Files page. This
+# will remove the Files entry from the Quick Index and from the Folder Tree View
+# (if specified).
+# The default value is: YES.
+
+SHOW_FILES = YES
+
+# Set the SHOW_NAMESPACES tag to NO to disable the generation of the Namespaces
+# page. This will remove the Namespaces entry from the Quick Index and from the
+# Folder Tree View (if specified).
+# The default value is: YES.
+
+SHOW_NAMESPACES = YES
+
+# The FILE_VERSION_FILTER tag can be used to specify a program or script that
+# doxygen should invoke to get the current version for each file (typically from
+# the version control system). Doxygen will invoke the program by executing (via
+# popen()) the command command input-file, where command is the value of the
+# FILE_VERSION_FILTER tag, and input-file is the name of an input file provided
+# by doxygen. Whatever the program writes to standard output is used as the file
+# version. For an example see the documentation.
+
+FILE_VERSION_FILTER =
+
+# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed
+# by doxygen. The layout file controls the global structure of the generated
+# output files in an output format independent way. To create the layout file
+# that represents doxygen's defaults, run doxygen with the -l option. You can
+# optionally specify a file name after the option, if omitted DoxygenLayout.xml
+# will be used as the name of the layout file.
+#
+# Note that if you run doxygen from a directory containing a file called
+# DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE
+# tag is left empty.
+
+LAYOUT_FILE =
+
+# The CITE_BIB_FILES tag can be used to specify one or more bib files containing
+# the reference definitions. This must be a list of .bib files. The .bib
+# extension is automatically appended if omitted. This requires the bibtex tool
+# to be installed. See also http://en.wikipedia.org/wiki/BibTeX for more info.
+# For LaTeX the style of the bibliography can be controlled using
+# LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the
+# search path. See also \cite for info how to create references.
+
+CITE_BIB_FILES =
+
+#---------------------------------------------------------------------------
+# Configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+# The QUIET tag can be used to turn on/off the messages that are generated to
+# standard output by doxygen. If QUIET is set to YES this implies that the
+# messages are off.
+# The default value is: NO.
+
+QUIET = NO
+
+# The WARNINGS tag can be used to turn on/off the warning messages that are
+# generated to standard error ( stderr) by doxygen. If WARNINGS is set to YES
+# this implies that the warnings are on.
+#
+# Tip: Turn warnings on while writing the documentation.
+# The default value is: YES.
+
+WARNINGS = YES
+
+# If the WARN_IF_UNDOCUMENTED tag is set to YES, then doxygen will generate
+# warnings for undocumented members. If EXTRACT_ALL is set to YES then this flag
+# will automatically be disabled.
+# The default value is: YES.
+
+WARN_IF_UNDOCUMENTED = YES
+
+# If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for
+# potential errors in the documentation, such as not documenting some parameters
+# in a documented function, or documenting parameters that don't exist or using
+# markup commands wrongly.
+# The default value is: YES.
+
+WARN_IF_DOC_ERROR = YES
+
+# This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that
+# are documented, but have no documentation for their parameters or return
+# value. If set to NO doxygen will only warn about wrong or incomplete parameter
+# documentation, but not about the absence of documentation.
+# The default value is: NO.
+
+WARN_NO_PARAMDOC = NO
+
+# The WARN_FORMAT tag determines the format of the warning messages that doxygen
+# can produce. The string should contain the $file, $line, and $text tags, which
+# will be replaced by the file and line number from which the warning originated
+# and the warning text. Optionally the format may contain $version, which will
+# be replaced by the version of the file (if it could be obtained via
+# FILE_VERSION_FILTER)
+# The default value is: $file:$line: $text.
+
+WARN_FORMAT = "$file:$line: $text"
+
+# The WARN_LOGFILE tag can be used to specify a file to which warning and error
+# messages should be written. If left blank the output is written to standard
+# error (stderr).
+
+WARN_LOGFILE =
+
+#---------------------------------------------------------------------------
+# Configuration options related to the input files
+#---------------------------------------------------------------------------
+
+# The INPUT tag is used to specify the files and/or directories that contain
+# documented source files. You may enter file names like myfile.cpp or
+# directories like /usr/src/myproject. Separate the files or directories with
+# spaces.
+# Note: If this tag is empty the current directory is searched.
+
+INPUT =
+
+# This tag can be used to specify the character encoding of the source files
+# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
+# libiconv (or the iconv built into libc) for the transcoding. See the libiconv
+# documentation (see: http://www.gnu.org/software/libiconv) for the list of
+# possible encodings.
+# The default value is: UTF-8.
+
+INPUT_ENCODING = UTF-8
+
+# If the value of the INPUT tag contains directories, you can use the
+# FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and
+# *.h) to filter out the source-files in the directories. If left blank the
+# following patterns are tested:*.c, *.cc, *.cxx, *.cpp, *.c++, *.java, *.ii,
+# *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h, *.hh, *.hxx, *.hpp,
+# *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc, *.m, *.markdown,
+# *.md, *.mm, *.dox, *.py, *.f90, *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf,
+# *.qsf, *.as and *.js.
+
+FILE_PATTERNS =
+
+# The RECURSIVE tag can be used to specify whether or not subdirectories should
+# be searched for input files as well.
+# The default value is: NO.
+
+RECURSIVE = YES
+
+# The EXCLUDE tag can be used to specify files and/or directories that should be
+# excluded from the INPUT source files. This way you can easily exclude a
+# subdirectory from a directory tree whose root is specified with the INPUT tag.
+#
+# Note that relative paths are relative to the directory from which doxygen is
+# run.
+
+EXCLUDE = doc \
+ src/old \
+ tests \
+ timings
+
+# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
+# directories that are symbolic links (a Unix file system feature) are excluded
+# from the input.
+# The default value is: NO.
+
+EXCLUDE_SYMLINKS = NO
+
+# If the value of the INPUT tag contains directories, you can use the
+# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
+# certain files from those directories.
+#
+# Note that the wildcards are matched against the file with absolute path, so to
+# exclude all test directories for example use the pattern */test/*
+
+EXCLUDE_PATTERNS =
+
+# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
+# (namespaces, classes, functions, etc.) that should be excluded from the
+# output. The symbol name can be a fully qualified name, a word, or if the
+# wildcard * is used, a substring. Examples: ANamespace, AClass,
+# AClass::ANamespace, ANamespace::*Test
+#
+# Note that the wildcards are matched against the file with absolute path, so to
+# exclude all test directories use the pattern */test/*
+
+EXCLUDE_SYMBOLS =
+
+# The EXAMPLE_PATH tag can be used to specify one or more files or directories
+# that contain example code fragments that are included (see the \include
+# command).
+
+EXAMPLE_PATH =
+
+# If the value of the EXAMPLE_PATH tag contains directories, you can use the
+# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and
+# *.h) to filter out the source-files in the directories. If left blank all
+# files are included.
+
+EXAMPLE_PATTERNS =
+
+# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
+# searched for input files to be used with the \include or \dontinclude commands
+# irrespective of the value of the RECURSIVE tag.
+# The default value is: NO.
+
+EXAMPLE_RECURSIVE = NO
+
+# The IMAGE_PATH tag can be used to specify one or more files or directories
+# that contain images that are to be included in the documentation (see the
+# \image command).
+
+IMAGE_PATH =
+
+# The INPUT_FILTER tag can be used to specify a program that doxygen should
+# invoke to filter for each input file. Doxygen will invoke the filter program
+# by executing (via popen()) the command:
+#
+# <filter> <input-file>
+#
+# where <filter> is the value of the INPUT_FILTER tag, and <input-file> is the
+# name of an input file. Doxygen will then use the output that the filter
+# program writes to standard output. If FILTER_PATTERNS is specified, this tag
+# will be ignored.
+#
+# Note that the filter must not add or remove lines; it is applied before the
+# code is scanned, but not when the output code is generated. If lines are added
+# or removed, the anchors will not be placed correctly.
+
+INPUT_FILTER =
+
+# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
+# basis. Doxygen will compare the file name with each pattern and apply the
+# filter if there is a match. The filters are a list of the form: pattern=filter
+# (like *.cpp=my_cpp_filter). See INPUT_FILTER for further information on how
+# filters are used. If the FILTER_PATTERNS tag is empty or if none of the
+# patterns match the file name, INPUT_FILTER is applied.
+
+FILTER_PATTERNS =
+
+# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
+# INPUT_FILTER ) will also be used to filter the input files that are used for
+# producing the source files to browse (i.e. when SOURCE_BROWSER is set to YES).
+# The default value is: NO.
+
+FILTER_SOURCE_FILES = NO
+
+# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file
+# pattern. A pattern will override the setting for FILTER_PATTERN (if any) and
+# it is also possible to disable source filtering for a specific pattern using
+# *.ext= (so without naming a filter).
+# This tag requires that the tag FILTER_SOURCE_FILES is set to YES.
+
+FILTER_SOURCE_PATTERNS =
+
+# If the USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that
+# is part of the input, its contents will be placed on the main page
+# (index.html). This can be useful if you have a project on for instance GitHub
+# and want to reuse the introduction page also for the doxygen output.
+
+USE_MDFILE_AS_MAINPAGE =
+
+#---------------------------------------------------------------------------
+# Configuration options related to source browsing
+#---------------------------------------------------------------------------
+
+# If the SOURCE_BROWSER tag is set to YES then a list of source files will be
+# generated. Documented entities will be cross-referenced with these sources.
+#
+# Note: To get rid of all source code in the generated output, make sure that
+# also VERBATIM_HEADERS is set to NO.
+# The default value is: NO.
+
+SOURCE_BROWSER = YES
+
+# Setting the INLINE_SOURCES tag to YES will include the body of functions,
+# classes and enums directly into the documentation.
+# The default value is: NO.
+
+INLINE_SOURCES = NO
+
+# Setting the STRIP_CODE_COMMENTS tag to YES will instruct doxygen to hide any
+# special comment blocks from generated source code fragments. Normal C, C++ and
+# Fortran comments will always remain visible.
+# The default value is: YES.
+
+STRIP_CODE_COMMENTS = YES
+
+# If the REFERENCED_BY_RELATION tag is set to YES then for each documented
+# function all documented functions referencing it will be listed.
+# The default value is: NO.
+
+REFERENCED_BY_RELATION = YES
+
+# If the REFERENCES_RELATION tag is set to YES then for each documented function
+# all documented entities called/used by that function will be listed.
+# The default value is: NO.
+
+REFERENCES_RELATION = YES
+
+# If the REFERENCES_LINK_SOURCE tag is set to YES and SOURCE_BROWSER tag is set
+# to YES, then the hyperlinks from functions in REFERENCES_RELATION and
+# REFERENCED_BY_RELATION lists will link to the source code. Otherwise they will
+# link to the documentation.
+# The default value is: YES.
+
+REFERENCES_LINK_SOURCE = YES
+
+# If SOURCE_TOOLTIPS is enabled (the default) then hovering a hyperlink in the
+# source code will show a tooltip with additional information such as prototype,
+# brief description and links to the definition and documentation. Since this
+# will make the HTML file larger and loading of large files a bit slower, you
+# can opt to disable this feature.
+# The default value is: YES.
+# This tag requires that the tag SOURCE_BROWSER is set to YES.
+
+SOURCE_TOOLTIPS = YES
+
+# If the USE_HTAGS tag is set to YES then the references to source code will
+# point to the HTML generated by the htags(1) tool instead of doxygen built-in
+# source browser. The htags tool is part of GNU's global source tagging system
+# (see http://www.gnu.org/software/global/global.html). You will need version
+# 4.8.6 or higher.
+#
+# To use it do the following:
+# - Install the latest version of global
+# - Enable SOURCE_BROWSER and USE_HTAGS in the config file
+# - Make sure the INPUT points to the root of the source tree
+# - Run doxygen as normal
+#
+# Doxygen will invoke htags (and that will in turn invoke gtags), so these
+# tools must be available from the command line (i.e. in the search path).
+#
+# The result: instead of the source browser generated by doxygen, the links to
+# source code will now point to the output of htags.
+# The default value is: NO.
+# This tag requires that the tag SOURCE_BROWSER is set to YES.
+
+USE_HTAGS = NO
+
+# If the VERBATIM_HEADERS tag is set the YES then doxygen will generate a
+# verbatim copy of the header file for each class for which an include is
+# specified. Set to NO to disable this.
+# See also: Section \class.
+# The default value is: YES.
+
+VERBATIM_HEADERS = YES
+
+# If the CLANG_ASSISTED_PARSING tag is set to YES, then doxygen will use the
+# clang parser (see: http://clang.llvm.org/) for more accurate parsing at the
+# cost of reduced performance. This can be particularly helpful with template
+# rich C++ code for which doxygen's built-in parser lacks the necessary type
+# information.
+# Note: The availability of this option depends on whether or not doxygen was
+# compiled with the --with-libclang option.
+# The default value is: NO.
+
+CLANG_ASSISTED_PARSING = NO
+
+# If clang assisted parsing is enabled you can provide the compiler with command
+# line options that you would normally use when invoking the compiler. Note that
+# the include paths will already be set by doxygen for the files and directories
+# specified with INPUT and INCLUDE_PATH.
+# This tag requires that the tag CLANG_ASSISTED_PARSING is set to YES.
+
+CLANG_OPTIONS =
+
+#---------------------------------------------------------------------------
+# Configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index of all
+# compounds will be generated. Enable this if the project contains a lot of
+# classes, structs, unions or interfaces.
+# The default value is: YES.
+
+ALPHABETICAL_INDEX = NO
+
+# The COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns in
+# which the alphabetical index list will be split.
+# Minimum value: 1, maximum value: 20, default value: 5.
+# This tag requires that the tag ALPHABETICAL_INDEX is set to YES.
+
+COLS_IN_ALPHA_INDEX = 5
+
+# In case all classes in a project start with a common prefix, all classes will
+# be put under the same header in the alphabetical index. The IGNORE_PREFIX tag
+# can be used to specify a prefix (or a list of prefixes) that should be ignored
+# while generating the index headers.
+# This tag requires that the tag ALPHABETICAL_INDEX is set to YES.
+
+IGNORE_PREFIX =
+
+#---------------------------------------------------------------------------
+# Configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_HTML tag is set to YES doxygen will generate HTML output
+# The default value is: YES.
+
+GENERATE_HTML = YES
+
+# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. If a
+# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
+# it.
+# The default directory is: html.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_OUTPUT = html
+
+# The HTML_FILE_EXTENSION tag can be used to specify the file extension for each
+# generated HTML page (for example: .htm, .php, .asp).
+# The default value is: .html.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_FILE_EXTENSION = .html
+
+# The HTML_HEADER tag can be used to specify a user-defined HTML header file for
+# each generated HTML page. If the tag is left blank doxygen will generate a
+# standard header.
+#
+# To get valid HTML the header file that includes any scripts and style sheets
+# that doxygen needs, which is dependent on the configuration options used (e.g.
+# the setting GENERATE_TREEVIEW). It is highly recommended to start with a
+# default header using
+# doxygen -w html new_header.html new_footer.html new_stylesheet.css
+# YourConfigFile
+# and then modify the file new_header.html. See also section "Doxygen usage"
+# for information on how to generate the default header that doxygen normally
+# uses.
+# Note: The header is subject to change so you typically have to regenerate the
+# default header when upgrading to a newer version of doxygen. For a description
+# of the possible markers and block names see the documentation.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_HEADER =
+
+# The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each
+# generated HTML page. If the tag is left blank doxygen will generate a standard
+# footer. See HTML_HEADER for more information on how to generate a default
+# footer and what special commands can be used inside the footer. See also
+# section "Doxygen usage" for information on how to generate the default footer
+# that doxygen normally uses.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_FOOTER = doc/devel/html/footer.html
+
+# The HTML_STYLESHEET tag can be used to specify a user-defined cascading style
+# sheet that is used by each HTML page. It can be used to fine-tune the look of
+# the HTML output. If left blank doxygen will generate a default style sheet.
+# See also section "Doxygen usage" for information on how to generate the style
+# sheet that doxygen normally uses.
+# Note: It is recommended to use HTML_EXTRA_STYLESHEET instead of this tag, as
+# it is more robust and this tag (HTML_STYLESHEET) will in the future become
+# obsolete.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_STYLESHEET =
+
+# The HTML_EXTRA_STYLESHEET tag can be used to specify additional user-defined
+# cascading style sheets that are included after the standard style sheets
+# created by doxygen. Using this option one can overrule certain style aspects.
+# This is preferred over using HTML_STYLESHEET since it does not replace the
+# standard style sheet and is therefor more robust against future updates.
+# Doxygen will copy the style sheet files to the output directory.
+# Note: The order of the extra stylesheet files is of importance (e.g. the last
+# stylesheet in the list overrules the setting of the previous ones in the
+# list). For an example see the documentation.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_EXTRA_STYLESHEET =
+
+# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or
+# other source files which should be copied to the HTML output directory. Note
+# that these files will be copied to the base HTML output directory. Use the
+# $relpath^ marker in the HTML_HEADER and/or HTML_FOOTER files to load these
+# files. In the HTML_STYLESHEET file, use the file name only. Also note that the
+# files will be copied as-is; there are no commands or markers available.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_EXTRA_FILES =
+
+# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen
+# will adjust the colors in the stylesheet and background images according to
+# this color. Hue is specified as an angle on a colorwheel, see
+# http://en.wikipedia.org/wiki/Hue for more information. For instance the value
+# 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300
+# purple, and 360 is red again.
+# Minimum value: 0, maximum value: 359, default value: 220.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_COLORSTYLE_HUE = 220
+
+# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors
+# in the HTML output. For a value of 0 the output will use grayscales only. A
+# value of 255 will produce the most vivid colors.
+# Minimum value: 0, maximum value: 255, default value: 100.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_COLORSTYLE_SAT = 100
+
+# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to the
+# luminance component of the colors in the HTML output. Values below 100
+# gradually make the output lighter, whereas values above 100 make the output
+# darker. The value divided by 100 is the actual gamma applied, so 80 represents
+# a gamma of 0.8, The value 220 represents a gamma of 2.2, and 100 does not
+# change the gamma.
+# Minimum value: 40, maximum value: 240, default value: 80.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_COLORSTYLE_GAMMA = 80
+
+# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML
+# page will contain the date and time when the page was generated. Setting this
+# to NO can help when comparing the output of multiple runs.
+# The default value is: YES.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_TIMESTAMP = YES
+
+# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
+# documentation will contain sections that can be hidden and shown after the
+# page has loaded.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_DYNAMIC_SECTIONS = NO
+
+# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries
+# shown in the various tree structured indices initially; the user can expand
+# and collapse entries dynamically later on. Doxygen will expand the tree to
+# such a level that at most the specified number of entries are visible (unless
+# a fully collapsed tree already exceeds this amount). So setting the number of
+# entries 1 will produce a full collapsed tree by default. 0 is a special value
+# representing an infinite number of entries and will result in a full expanded
+# tree by default.
+# Minimum value: 0, maximum value: 9999, default value: 100.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_INDEX_NUM_ENTRIES = 100
+
+# If the GENERATE_DOCSET tag is set to YES, additional index files will be
+# generated that can be used as input for Apple's Xcode 3 integrated development
+# environment (see: http://developer.apple.com/tools/xcode/), introduced with
+# OSX 10.5 (Leopard). To create a documentation set, doxygen will generate a
+# Makefile in the HTML output directory. Running make will produce the docset in
+# that directory and running make install will install the docset in
+# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at
+# startup. See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html
+# for more information.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+GENERATE_DOCSET = NO
+
+# This tag determines the name of the docset feed. A documentation feed provides
+# an umbrella under which multiple documentation sets from a single provider
+# (such as a company or product suite) can be grouped.
+# The default value is: Doxygen generated docs.
+# This tag requires that the tag GENERATE_DOCSET is set to YES.
+
+DOCSET_FEEDNAME = "Doxygen generated docs"
+
+# This tag specifies a string that should uniquely identify the documentation
+# set bundle. This should be a reverse domain-name style string, e.g.
+# com.mycompany.MyDocSet. Doxygen will append .docset to the name.
+# The default value is: org.doxygen.Project.
+# This tag requires that the tag GENERATE_DOCSET is set to YES.
+
+DOCSET_BUNDLE_ID = org.doxygen.Project
+
+# The DOCSET_PUBLISHER_ID tag specifies a string that should uniquely identify
+# the documentation publisher. This should be a reverse domain-name style
+# string, e.g. com.mycompany.MyDocSet.documentation.
+# The default value is: org.doxygen.Publisher.
+# This tag requires that the tag GENERATE_DOCSET is set to YES.
+
+DOCSET_PUBLISHER_ID = org.doxygen.Publisher
+
+# The DOCSET_PUBLISHER_NAME tag identifies the documentation publisher.
+# The default value is: Publisher.
+# This tag requires that the tag GENERATE_DOCSET is set to YES.
+
+DOCSET_PUBLISHER_NAME = Publisher
+
+# If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three
+# additional HTML index files: index.hhp, index.hhc, and index.hhk. The
+# index.hhp is a project file that can be read by Microsoft's HTML Help Workshop
+# (see: http://www.microsoft.com/en-us/download/details.aspx?id=21138) on
+# Windows.
+#
+# The HTML Help Workshop contains a compiler that can convert all HTML output
+# generated by doxygen into a single compiled HTML file (.chm). Compiled HTML
+# files are now used as the Windows 98 help format, and will replace the old
+# Windows help format (.hlp) on all Windows platforms in the future. Compressed
+# HTML files also contain an index, a table of contents, and you can search for
+# words in the documentation. The HTML workshop also contains a viewer for
+# compressed HTML files.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+GENERATE_HTMLHELP = NO
+
+# The CHM_FILE tag can be used to specify the file name of the resulting .chm
+# file. You can add a path in front of the file if the result should not be
+# written to the html output directory.
+# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
+
+CHM_FILE =
+
+# The HHC_LOCATION tag can be used to specify the location (absolute path
+# including file name) of the HTML help compiler ( hhc.exe). If non-empty
+# doxygen will try to run the HTML help compiler on the generated index.hhp.
+# The file has to be specified with full path.
+# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
+
+HHC_LOCATION =
+
+# The GENERATE_CHI flag controls if a separate .chi index file is generated (
+# YES) or that it should be included in the master .chm file ( NO).
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
+
+GENERATE_CHI = NO
+
+# The CHM_INDEX_ENCODING is used to encode HtmlHelp index ( hhk), content ( hhc)
+# and project file content.
+# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
+
+CHM_INDEX_ENCODING =
+
+# The BINARY_TOC flag controls whether a binary table of contents is generated (
+# YES) or a normal table of contents ( NO) in the .chm file. Furthermore it
+# enables the Previous and Next buttons.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
+
+BINARY_TOC = NO
+
+# The TOC_EXPAND flag can be set to YES to add extra items for group members to
+# the table of contents of the HTML help documentation and to the tree view.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
+
+TOC_EXPAND = NO
+
+# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and
+# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated that
+# can be used as input for Qt's qhelpgenerator to generate a Qt Compressed Help
+# (.qch) of the generated HTML documentation.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+GENERATE_QHP = NO
+
+# If the QHG_LOCATION tag is specified, the QCH_FILE tag can be used to specify
+# the file name of the resulting .qch file. The path specified is relative to
+# the HTML output folder.
+# This tag requires that the tag GENERATE_QHP is set to YES.
+
+QCH_FILE =
+
+# The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help
+# Project output. For more information please see Qt Help Project / Namespace
+# (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#namespace).
+# The default value is: org.doxygen.Project.
+# This tag requires that the tag GENERATE_QHP is set to YES.
+
+QHP_NAMESPACE =
+
+# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt
+# Help Project output. For more information please see Qt Help Project / Virtual
+# Folders (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#virtual-
+# folders).
+# The default value is: doc.
+# This tag requires that the tag GENERATE_QHP is set to YES.
+
+QHP_VIRTUAL_FOLDER = doc
+
+# If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom
+# filter to add. For more information please see Qt Help Project / Custom
+# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom-
+# filters).
+# This tag requires that the tag GENERATE_QHP is set to YES.
+
+QHP_CUST_FILTER_NAME =
+
+# The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the
+# custom filter to add. For more information please see Qt Help Project / Custom
+# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom-
+# filters).
+# This tag requires that the tag GENERATE_QHP is set to YES.
+
+QHP_CUST_FILTER_ATTRS =
+
+# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this
+# project's filter section matches. Qt Help Project / Filter Attributes (see:
+# http://qt-project.org/doc/qt-4.8/qthelpproject.html#filter-attributes).
+# This tag requires that the tag GENERATE_QHP is set to YES.
+
+QHP_SECT_FILTER_ATTRS =
+
+# The QHG_LOCATION tag can be used to specify the location of Qt's
+# qhelpgenerator. If non-empty doxygen will try to run qhelpgenerator on the
+# generated .qhp file.
+# This tag requires that the tag GENERATE_QHP is set to YES.
+
+QHG_LOCATION =
+
+# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files will be
+# generated, together with the HTML files, they form an Eclipse help plugin. To
+# install this plugin and make it available under the help contents menu in
+# Eclipse, the contents of the directory containing the HTML and XML files needs
+# to be copied into the plugins directory of eclipse. The name of the directory
+# within the plugins directory should be the same as the ECLIPSE_DOC_ID value.
+# After copying Eclipse needs to be restarted before the help appears.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+GENERATE_ECLIPSEHELP = NO
+
+# A unique identifier for the Eclipse help plugin. When installing the plugin
+# the directory name containing the HTML and XML files should also have this
+# name. Each documentation set should have its own identifier.
+# The default value is: org.doxygen.Project.
+# This tag requires that the tag GENERATE_ECLIPSEHELP is set to YES.
+
+ECLIPSE_DOC_ID = org.doxygen.Project
+
+# If you want full control over the layout of the generated HTML pages it might
+# be necessary to disable the index and replace it with your own. The
+# DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) at top
+# of each HTML page. A value of NO enables the index and the value YES disables
+# it. Since the tabs in the index contain the same information as the navigation
+# tree, you can set this option to YES if you also set GENERATE_TREEVIEW to YES.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+DISABLE_INDEX = NO
+
+# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
+# structure should be generated to display hierarchical information. If the tag
+# value is set to YES, a side panel will be generated containing a tree-like
+# index structure (just like the one that is generated for HTML Help). For this
+# to work a browser that supports JavaScript, DHTML, CSS and frames is required
+# (i.e. any modern browser). Windows users are probably better off using the
+# HTML help feature. Via custom stylesheets (see HTML_EXTRA_STYLESHEET) one can
+# further fine-tune the look of the index. As an example, the default style
+# sheet generated by doxygen has an example that shows how to put an image at
+# the root of the tree instead of the PROJECT_NAME. Since the tree basically has
+# the same information as the tab index, you could consider setting
+# DISABLE_INDEX to YES when enabling this option.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+GENERATE_TREEVIEW = NO
+
+# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that
+# doxygen will group on one line in the generated HTML documentation.
+#
+# Note that a value of 0 will completely suppress the enum values from appearing
+# in the overview section.
+# Minimum value: 0, maximum value: 20, default value: 4.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+ENUM_VALUES_PER_LINE = 4
+
+# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be used
+# to set the initial width (in pixels) of the frame in which the tree is shown.
+# Minimum value: 0, maximum value: 1500, default value: 250.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+TREEVIEW_WIDTH = 250
+
+# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open links to
+# external symbols imported via tag files in a separate window.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+EXT_LINKS_IN_WINDOW = NO
+
+# Use this tag to change the font size of LaTeX formulas included as images in
+# the HTML documentation. When you change the font size after a successful
+# doxygen run you need to manually remove any form_*.png images from the HTML
+# output directory to force them to be regenerated.
+# Minimum value: 8, maximum value: 50, default value: 10.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+FORMULA_FONTSIZE = 10
+
+# Use the FORMULA_TRANPARENT tag to determine whether or not the images
+# generated for formulas are transparent PNGs. Transparent PNGs are not
+# supported properly for IE 6.0, but are supported on all modern browsers.
+#
+# Note that when changing this option you need to delete any form_*.png files in
+# the HTML output directory before the changes have effect.
+# The default value is: YES.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+FORMULA_TRANSPARENT = YES
+
+# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see
+# http://www.mathjax.org) which uses client side Javascript for the rendering
+# instead of using prerendered bitmaps. Use this if you do not have LaTeX
+# installed or if you want to formulas look prettier in the HTML output. When
+# enabled you may also need to install MathJax separately and configure the path
+# to it using the MATHJAX_RELPATH option.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+USE_MATHJAX = NO
+
+# When MathJax is enabled you can set the default output format to be used for
+# the MathJax output. See the MathJax site (see:
+# http://docs.mathjax.org/en/latest/output.html) for more details.
+# Possible values are: HTML-CSS (which is slower, but has the best
+# compatibility), NativeMML (i.e. MathML) and SVG.
+# The default value is: HTML-CSS.
+# This tag requires that the tag USE_MATHJAX is set to YES.
+
+MATHJAX_FORMAT = HTML-CSS
+
+# When MathJax is enabled you need to specify the location relative to the HTML
+# output directory using the MATHJAX_RELPATH option. The destination directory
+# should contain the MathJax.js script. For instance, if the mathjax directory
+# is located at the same level as the HTML output directory, then
+# MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax
+# Content Delivery Network so you can quickly see the result without installing
+# MathJax. However, it is strongly recommended to install a local copy of
+# MathJax from http://www.mathjax.org before deployment.
+# The default value is: http://cdn.mathjax.org/mathjax/latest.
+# This tag requires that the tag USE_MATHJAX is set to YES.
+
+MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest
+
+# The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax
+# extension names that should be enabled during MathJax rendering. For example
+# MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols
+# This tag requires that the tag USE_MATHJAX is set to YES.
+
+MATHJAX_EXTENSIONS =
+
+# The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces
+# of code that will be used on startup of the MathJax code. See the MathJax site
+# (see: http://docs.mathjax.org/en/latest/output.html) for more details. For an
+# example see the documentation.
+# This tag requires that the tag USE_MATHJAX is set to YES.
+
+MATHJAX_CODEFILE =
+
+# When the SEARCHENGINE tag is enabled doxygen will generate a search box for
+# the HTML output. The underlying search engine uses javascript and DHTML and
+# should work on any modern browser. Note that when using HTML help
+# (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET)
+# there is already a search function so this one should typically be disabled.
+# For large projects the javascript based search engine can be slow, then
+# enabling SERVER_BASED_SEARCH may provide a better solution. It is possible to
+# search using the keyboard; to jump to the search box use <access key> + S
+# (what the <access key> is depends on the OS and browser, but it is typically
+# <CTRL>, <ALT>/<option>, or both). Inside the search box use the <cursor down
+# key> to jump into the search results window, the results can be navigated
+# using the <cursor keys>. Press <Enter> to select an item or <escape> to cancel
+# the search. The filter options can be selected when the cursor is inside the
+# search box by pressing <Shift>+<cursor down>. Also here use the <cursor keys>
+# to select a filter and <Enter> or <escape> to activate or cancel the filter
+# option.
+# The default value is: YES.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+SEARCHENGINE = NO
+
+# When the SERVER_BASED_SEARCH tag is enabled the search engine will be
+# implemented using a web server instead of a web client using Javascript. There
+# are two flavors of web server based searching depending on the EXTERNAL_SEARCH
+# setting. When disabled, doxygen will generate a PHP script for searching and
+# an index file used by the script. When EXTERNAL_SEARCH is enabled the indexing
+# and searching needs to be provided by external tools. See the section
+# "External Indexing and Searching" for details.
+# The default value is: NO.
+# This tag requires that the tag SEARCHENGINE is set to YES.
+
+SERVER_BASED_SEARCH = NO
+
+# When EXTERNAL_SEARCH tag is enabled doxygen will no longer generate the PHP
+# script for searching. Instead the search results are written to an XML file
+# which needs to be processed by an external indexer. Doxygen will invoke an
+# external search engine pointed to by the SEARCHENGINE_URL option to obtain the
+# search results.
+#
+# Doxygen ships with an example indexer ( doxyindexer) and search engine
+# (doxysearch.cgi) which are based on the open source search engine library
+# Xapian (see: http://xapian.org/).
+#
+# See the section "External Indexing and Searching" for details.
+# The default value is: NO.
+# This tag requires that the tag SEARCHENGINE is set to YES.
+
+EXTERNAL_SEARCH = NO
+
+# The SEARCHENGINE_URL should point to a search engine hosted by a web server
+# which will return the search results when EXTERNAL_SEARCH is enabled.
+#
+# Doxygen ships with an example indexer ( doxyindexer) and search engine
+# (doxysearch.cgi) which are based on the open source search engine library
+# Xapian (see: http://xapian.org/). See the section "External Indexing and
+# Searching" for details.
+# This tag requires that the tag SEARCHENGINE is set to YES.
+
+SEARCHENGINE_URL =
+
+# When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the unindexed
+# search data is written to a file for indexing by an external tool. With the
+# SEARCHDATA_FILE tag the name of this file can be specified.
+# The default file is: searchdata.xml.
+# This tag requires that the tag SEARCHENGINE is set to YES.
+
+SEARCHDATA_FILE = searchdata.xml
+
+# When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the
+# EXTERNAL_SEARCH_ID tag can be used as an identifier for the project. This is
+# useful in combination with EXTRA_SEARCH_MAPPINGS to search through multiple
+# projects and redirect the results back to the right project.
+# This tag requires that the tag SEARCHENGINE is set to YES.
+
+EXTERNAL_SEARCH_ID =
+
+# The EXTRA_SEARCH_MAPPINGS tag can be used to enable searching through doxygen
+# projects other than the one defined by this configuration file, but that are
+# all added to the same external search index. Each project needs to have a
+# unique id set via EXTERNAL_SEARCH_ID. The search mapping then maps the id of
+# to a relative location where the documentation can be found. The format is:
+# EXTRA_SEARCH_MAPPINGS = tagname1=loc1 tagname2=loc2 ...
+# This tag requires that the tag SEARCHENGINE is set to YES.
+
+EXTRA_SEARCH_MAPPINGS =
+
+#---------------------------------------------------------------------------
+# Configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_LATEX tag is set to YES doxygen will generate LaTeX output.
+# The default value is: YES.
+
+GENERATE_LATEX = YES
+
+# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. If a
+# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
+# it.
+# The default directory is: latex.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_OUTPUT = latex
+
+# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
+# invoked.
+#
+# Note that when enabling USE_PDFLATEX this option is only used for generating
+# bitmaps for formulas in the HTML output, but not in the Makefile that is
+# written to the output directory.
+# The default file is: latex.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_CMD_NAME = latex
+
+# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to generate
+# index for LaTeX.
+# The default file is: makeindex.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+MAKEINDEX_CMD_NAME = makeindex
+
+# If the COMPACT_LATEX tag is set to YES doxygen generates more compact LaTeX
+# documents. This may be useful for small projects and may help to save some
+# trees in general.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+COMPACT_LATEX = NO
+
+# The PAPER_TYPE tag can be used to set the paper type that is used by the
+# printer.
+# Possible values are: a4 (210 x 297 mm), letter (8.5 x 11 inches), legal (8.5 x
+# 14 inches) and executive (7.25 x 10.5 inches).
+# The default value is: a4.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+PAPER_TYPE = a4wide
+
+# The EXTRA_PACKAGES tag can be used to specify one or more LaTeX package names
+# that should be included in the LaTeX output. To get the times font for
+# instance you can specify
+# EXTRA_PACKAGES=times
+# If left blank no extra packages will be included.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+EXTRA_PACKAGES =
+
+# The LATEX_HEADER tag can be used to specify a personal LaTeX header for the
+# generated LaTeX document. The header should contain everything until the first
+# chapter. If it is left blank doxygen will generate a standard header. See
+# section "Doxygen usage" for information on how to let doxygen write the
+# default header to a separate file.
+#
+# Note: Only use a user-defined header if you know what you are doing! The
+# following commands have a special meaning inside the header: $title,
+# $datetime, $date, $doxygenversion, $projectname, $projectnumber,
+# $projectbrief, $projectlogo. Doxygen will replace $title with the empy string,
+# for the replacement values of the other commands the user is refered to
+# HTML_HEADER.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_HEADER =
+
+# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for the
+# generated LaTeX document. The footer should contain everything after the last
+# chapter. If it is left blank doxygen will generate a standard footer. See
+# LATEX_HEADER for more information on how to generate a default footer and what
+# special commands can be used inside the footer.
+#
+# Note: Only use a user-defined footer if you know what you are doing!
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_FOOTER =
+
+# The LATEX_EXTRA_FILES tag can be used to specify one or more extra images or
+# other source files which should be copied to the LATEX_OUTPUT output
+# directory. Note that the files will be copied as-is; there are no commands or
+# markers available.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_EXTRA_FILES =
+
+# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated is
+# prepared for conversion to PDF (using ps2pdf or pdflatex). The PDF file will
+# contain links (just like the HTML output) instead of page references. This
+# makes the output suitable for online browsing using a PDF viewer.
+# The default value is: YES.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+PDF_HYPERLINKS = YES
+
+# If the USE_PDFLATEX tag is set to YES, doxygen will use pdflatex to generate
+# the PDF file directly from the LaTeX files. Set this option to YES to get a
+# higher quality PDF documentation.
+# The default value is: YES.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+USE_PDFLATEX = NO
+
+# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \batchmode
+# command to the generated LaTeX files. This will instruct LaTeX to keep running
+# if errors occur, instead of asking the user for help. This option is also used
+# when generating formulas in HTML.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_BATCHMODE = NO
+
+# If the LATEX_HIDE_INDICES tag is set to YES then doxygen will not include the
+# index chapters (such as File Index, Compound Index, etc.) in the output.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_HIDE_INDICES = NO
+
+# If the LATEX_SOURCE_CODE tag is set to YES then doxygen will include source
+# code with syntax highlighting in the LaTeX output.
+#
+# Note that which sources are shown also depends on other settings such as
+# SOURCE_BROWSER.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_SOURCE_CODE = NO
+
+# The LATEX_BIB_STYLE tag can be used to specify the style to use for the
+# bibliography, e.g. plainnat, or ieeetr. See
+# http://en.wikipedia.org/wiki/BibTeX and \cite for more info.
+# The default value is: plain.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_BIB_STYLE = plain
+
+#---------------------------------------------------------------------------
+# Configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_RTF tag is set to YES doxygen will generate RTF output. The
+# RTF output is optimized for Word 97 and may not look too pretty with other RTF
+# readers/editors.
+# The default value is: NO.
+
+GENERATE_RTF = NO
+
+# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. If a
+# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
+# it.
+# The default directory is: rtf.
+# This tag requires that the tag GENERATE_RTF is set to YES.
+
+RTF_OUTPUT = rtf
+
+# If the COMPACT_RTF tag is set to YES doxygen generates more compact RTF
+# documents. This may be useful for small projects and may help to save some
+# trees in general.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_RTF is set to YES.
+
+COMPACT_RTF = NO
+
+# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated will
+# contain hyperlink fields. The RTF file will contain links (just like the HTML
+# output) instead of page references. This makes the output suitable for online
+# browsing using Word or some other Word compatible readers that support those
+# fields.
+#
+# Note: WordPad (write) and others do not support links.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_RTF is set to YES.
+
+RTF_HYPERLINKS = NO
+
+# Load stylesheet definitions from file. Syntax is similar to doxygen's config
+# file, i.e. a series of assignments. You only have to provide replacements,
+# missing definitions are set to their default value.
+#
+# See also section "Doxygen usage" for information on how to generate the
+# default style sheet that doxygen normally uses.
+# This tag requires that the tag GENERATE_RTF is set to YES.
+
+RTF_STYLESHEET_FILE =
+
+# Set optional variables used in the generation of an RTF document. Syntax is
+# similar to doxygen's config file. A template extensions file can be generated
+# using doxygen -e rtf extensionFile.
+# This tag requires that the tag GENERATE_RTF is set to YES.
+
+RTF_EXTENSIONS_FILE =
+
+#---------------------------------------------------------------------------
+# Configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_MAN tag is set to YES doxygen will generate man pages for
+# classes and files.
+# The default value is: NO.
+
+GENERATE_MAN = NO
+
+# The MAN_OUTPUT tag is used to specify where the man pages will be put. If a
+# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
+# it. A directory man3 will be created inside the directory specified by
+# MAN_OUTPUT.
+# The default directory is: man.
+# This tag requires that the tag GENERATE_MAN is set to YES.
+
+MAN_OUTPUT = man
+
+# The MAN_EXTENSION tag determines the extension that is added to the generated
+# man pages. In case the manual section does not start with a number, the number
+# 3 is prepended. The dot (.) at the beginning of the MAN_EXTENSION tag is
+# optional.
+# The default value is: .3.
+# This tag requires that the tag GENERATE_MAN is set to YES.
+
+MAN_EXTENSION = .3
+
+# The MAN_SUBDIR tag determines the name of the directory created within
+# MAN_OUTPUT in which the man pages are placed. If defaults to man followed by
+# MAN_EXTENSION with the initial . removed.
+# This tag requires that the tag GENERATE_MAN is set to YES.
+
+MAN_SUBDIR =
+
+# If the MAN_LINKS tag is set to YES and doxygen generates man output, then it
+# will generate one additional man file for each entity documented in the real
+# man page(s). These additional files only source the real man page, but without
+# them the man command would be unable to find the correct page.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_MAN is set to YES.
+
+MAN_LINKS = NO
+
+#---------------------------------------------------------------------------
+# Configuration options related to the XML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_XML tag is set to YES doxygen will generate an XML file that
+# captures the structure of the code including all documentation.
+# The default value is: NO.
+
+GENERATE_XML = NO
+
+# The XML_OUTPUT tag is used to specify where the XML pages will be put. If a
+# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
+# it.
+# The default directory is: xml.
+# This tag requires that the tag GENERATE_XML is set to YES.
+
+XML_OUTPUT = xml
+
+# If the XML_PROGRAMLISTING tag is set to YES doxygen will dump the program
+# listings (including syntax highlighting and cross-referencing information) to
+# the XML output. Note that enabling this will significantly increase the size
+# of the XML output.
+# The default value is: YES.
+# This tag requires that the tag GENERATE_XML is set to YES.
+
+XML_PROGRAMLISTING = YES
+
+#---------------------------------------------------------------------------
+# Configuration options related to the DOCBOOK output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_DOCBOOK tag is set to YES doxygen will generate Docbook files
+# that can be used to generate PDF.
+# The default value is: NO.
+
+GENERATE_DOCBOOK = NO
+
+# The DOCBOOK_OUTPUT tag is used to specify where the Docbook pages will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be put in
+# front of it.
+# The default directory is: docbook.
+# This tag requires that the tag GENERATE_DOCBOOK is set to YES.
+
+DOCBOOK_OUTPUT = docbook
+
+# If the DOCBOOK_PROGRAMLISTING tag is set to YES doxygen will include the
+# program listings (including syntax highlighting and cross-referencing
+# information) to the DOCBOOK output. Note that enabling this will significantly
+# increase the size of the DOCBOOK output.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_DOCBOOK is set to YES.
+
+DOCBOOK_PROGRAMLISTING = NO
+
+#---------------------------------------------------------------------------
+# Configuration options for the AutoGen Definitions output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_AUTOGEN_DEF tag is set to YES doxygen will generate an AutoGen
+# Definitions (see http://autogen.sf.net) file that captures the structure of
+# the code including all documentation. Note that this feature is still
+# experimental and incomplete at the moment.
+# The default value is: NO.
+
+GENERATE_AUTOGEN_DEF = NO
+
+#---------------------------------------------------------------------------
+# Configuration options related to the Perl module output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_PERLMOD tag is set to YES doxygen will generate a Perl module
+# file that captures the structure of the code including all documentation.
+#
+# Note that this feature is still experimental and incomplete at the moment.
+# The default value is: NO.
+
+GENERATE_PERLMOD = NO
+
+# If the PERLMOD_LATEX tag is set to YES doxygen will generate the necessary
+# Makefile rules, Perl scripts and LaTeX code to be able to generate PDF and DVI
+# output from the Perl module output.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_PERLMOD is set to YES.
+
+PERLMOD_LATEX = NO
+
+# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be nicely
+# formatted so it can be parsed by a human reader. This is useful if you want to
+# understand what is going on. On the other hand, if this tag is set to NO the
+# size of the Perl module output will be much smaller and Perl will parse it
+# just the same.
+# The default value is: YES.
+# This tag requires that the tag GENERATE_PERLMOD is set to YES.
+
+PERLMOD_PRETTY = YES
+
+# The names of the make variables in the generated doxyrules.make file are
+# prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. This is useful
+# so different doxyrules.make files included by the same Makefile don't
+# overwrite each other's variables.
+# This tag requires that the tag GENERATE_PERLMOD is set to YES.
+
+PERLMOD_MAKEVAR_PREFIX =
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+
+# If the ENABLE_PREPROCESSING tag is set to YES doxygen will evaluate all
+# C-preprocessor directives found in the sources and include files.
+# The default value is: YES.
+
+ENABLE_PREPROCESSING = YES
+
+# If the MACRO_EXPANSION tag is set to YES doxygen will expand all macro names
+# in the source code. If set to NO only conditional compilation will be
+# performed. Macro expansion can be done in a controlled way by setting
+# EXPAND_ONLY_PREDEF to YES.
+# The default value is: NO.
+# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+
+MACRO_EXPANSION = NO
+
+# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES then
+# the macro expansion is limited to the macros specified with the PREDEFINED and
+# EXPAND_AS_DEFINED tags.
+# The default value is: NO.
+# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+
+EXPAND_ONLY_PREDEF = NO
+
+# If the SEARCH_INCLUDES tag is set to YES the includes files in the
+# INCLUDE_PATH will be searched if a #include is found.
+# The default value is: YES.
+# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+
+SEARCH_INCLUDES = YES
+
+# The INCLUDE_PATH tag can be used to specify one or more directories that
+# contain include files that are not input files but should be processed by the
+# preprocessor.
+# This tag requires that the tag SEARCH_INCLUDES is set to YES.
+
+INCLUDE_PATH =
+
+# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
+# patterns (like *.h and *.hpp) to filter out the header-files in the
+# directories. If left blank, the patterns specified with FILE_PATTERNS will be
+# used.
+# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+
+INCLUDE_FILE_PATTERNS =
+
+# The PREDEFINED tag can be used to specify one or more macro names that are
+# defined before the preprocessor is started (similar to the -D option of e.g.
+# gcc). The argument of the tag is a list of macros of the form: name or
+# name=definition (no spaces). If the definition and the "=" are omitted, "=1"
+# is assumed. To prevent a macro definition from being undefined via #undef or
+# recursively expanded use the := operator instead of the = operator.
+# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+
+PREDEFINED =
+
+# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this
+# tag can be used to specify a list of macro names that should be expanded. The
+# macro definition that is found in the sources will be used. Use the PREDEFINED
+# tag if you want to use a different macro definition that overrules the
+# definition found in the source code.
+# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+
+EXPAND_AS_DEFINED =
+
+# If the SKIP_FUNCTION_MACROS tag is set to YES then doxygen's preprocessor will
+# remove all references to function-like macros that are alone on a line, have
+# an all uppercase name, and do not end with a semicolon. Such function macros
+# are typically used for boiler-plate code, and will confuse the parser if not
+# removed.
+# The default value is: YES.
+# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+
+SKIP_FUNCTION_MACROS = YES
+
+#---------------------------------------------------------------------------
+# Configuration options related to external references
+#---------------------------------------------------------------------------
+
+# The TAGFILES tag can be used to specify one or more tag files. For each tag
+# file the location of the external documentation should be added. The format of
+# a tag file without this location is as follows:
+# TAGFILES = file1 file2 ...
+# Adding location for the tag files is done as follows:
+# TAGFILES = file1=loc1 "file2 = loc2" ...
+# where loc1 and loc2 can be relative or absolute paths or URLs. See the
+# section "Linking to external documentation" for more information about the use
+# of tag files.
+# Note: Each tag file must have a unique name (where the name does NOT include
+# the path). If a tag file is not located in the directory in which doxygen is
+# run, you must also specify the path to the tagfile here.
+
+TAGFILES =
+
+# When a file name is specified after GENERATE_TAGFILE, doxygen will create a
+# tag file that is based on the input files it reads. See section "Linking to
+# external documentation" for more information about the usage of tag files.
+
+GENERATE_TAGFILE =
+
+# If the ALLEXTERNALS tag is set to YES all external class will be listed in the
+# class index. If set to NO only the inherited external classes will be listed.
+# The default value is: NO.
+
+ALLEXTERNALS = NO
+
+# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed in
+# the modules index. If set to NO, only the current project's groups will be
+# listed.
+# The default value is: YES.
+
+EXTERNAL_GROUPS = YES
+
+# If the EXTERNAL_PAGES tag is set to YES all external pages will be listed in
+# the related pages index. If set to NO, only the current project's pages will
+# be listed.
+# The default value is: YES.
+
+EXTERNAL_PAGES = YES
+
+# The PERL_PATH should be the absolute path and name of the perl script
+# interpreter (i.e. the result of 'which perl').
+# The default file (with absolute path) is: /usr/bin/perl.
+
+PERL_PATH = /usr/bin/perl
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+
+# If the CLASS_DIAGRAMS tag is set to YES doxygen will generate a class diagram
+# (in HTML and LaTeX) for classes with base or super classes. Setting the tag to
+# NO turns the diagrams off. Note that this option also works with HAVE_DOT
+# disabled, but it is recommended to install and use dot, since it yields more
+# powerful graphs.
+# The default value is: YES.
+
+CLASS_DIAGRAMS = YES
+
+# You can define message sequence charts within doxygen comments using the \msc
+# command. Doxygen will then run the mscgen tool (see:
+# http://www.mcternan.me.uk/mscgen/)) to produce the chart and insert it in the
+# documentation. The MSCGEN_PATH tag allows you to specify the directory where
+# the mscgen tool resides. If left empty the tool is assumed to be found in the
+# default search path.
+
+MSCGEN_PATH =
+
+# You can include diagrams made with dia in doxygen documentation. Doxygen will
+# then run dia to produce the diagram and insert it in the documentation. The
+# DIA_PATH tag allows you to specify the directory where the dia binary resides.
+# If left empty dia is assumed to be found in the default search path.
+
+DIA_PATH =
+
+# If set to YES, the inheritance and collaboration graphs will hide inheritance
+# and usage relations if the target is undocumented or is not a class.
+# The default value is: YES.
+
+HIDE_UNDOC_RELATIONS = YES
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
+# available from the path. This tool is part of Graphviz (see:
+# http://www.graphviz.org/), a graph visualization toolkit from AT&T and Lucent
+# Bell Labs. The other options in this section have no effect if this option is
+# set to NO
+# The default value is: YES.
+
+HAVE_DOT = YES
+
+# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is allowed
+# to run in parallel. When set to 0 doxygen will base this on the number of
+# processors available in the system. You can set it explicitly to a value
+# larger than 0 to get control over the balance between CPU load and processing
+# speed.
+# Minimum value: 0, maximum value: 32, default value: 0.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOT_NUM_THREADS = 0
+
+# When you want a differently looking font in the dot files that doxygen
+# generates you can specify the font name using DOT_FONTNAME. You need to make
+# sure dot is able to find the font, which can be done by putting it in a
+# standard location or by setting the DOTFONTPATH environment variable or by
+# setting DOT_FONTPATH to the directory containing the font.
+# The default value is: Helvetica.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOT_FONTNAME = FreeSans
+
+# The DOT_FONTSIZE tag can be used to set the size (in points) of the font of
+# dot graphs.
+# Minimum value: 4, maximum value: 24, default value: 10.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOT_FONTSIZE = 10
+
+# By default doxygen will tell dot to use the default font as specified with
+# DOT_FONTNAME. If you specify a different font using DOT_FONTNAME you can set
+# the path where dot can find it using this tag.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOT_FONTPATH =
+
+# If the CLASS_GRAPH tag is set to YES then doxygen will generate a graph for
+# each documented class showing the direct and indirect inheritance relations.
+# Setting this tag to YES will force the CLASS_DIAGRAMS tag to NO.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+CLASS_GRAPH = YES
+
+# If the COLLABORATION_GRAPH tag is set to YES then doxygen will generate a
+# graph for each documented class showing the direct and indirect implementation
+# dependencies (inheritance, containment, and class references variables) of the
+# class with other documented classes.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+COLLABORATION_GRAPH = YES
+
+# If the GROUP_GRAPHS tag is set to YES then doxygen will generate a graph for
+# groups, showing the direct groups dependencies.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+GROUP_GRAPHS = YES
+
+# If the UML_LOOK tag is set to YES doxygen will generate inheritance and
+# collaboration diagrams in a style similar to the OMG's Unified Modeling
+# Language.
+# The default value is: NO.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+UML_LOOK = NO
+
+# If the UML_LOOK tag is enabled, the fields and methods are shown inside the
+# class node. If there are many fields or methods and many nodes the graph may
+# become too big to be useful. The UML_LIMIT_NUM_FIELDS threshold limits the
+# number of items for each type to make the size more manageable. Set this to 0
+# for no limit. Note that the threshold may be exceeded by 50% before the limit
+# is enforced. So when you set the threshold to 10, up to 15 fields may appear,
+# but if the number exceeds 15, the total amount of fields shown is limited to
+# 10.
+# Minimum value: 0, maximum value: 100, default value: 10.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+UML_LIMIT_NUM_FIELDS = 10
+
+# If the TEMPLATE_RELATIONS tag is set to YES then the inheritance and
+# collaboration graphs will show the relations between templates and their
+# instances.
+# The default value is: NO.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+TEMPLATE_RELATIONS = NO
+
+# If the INCLUDE_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are set to
+# YES then doxygen will generate a graph for each documented file showing the
+# direct and indirect include dependencies of the file with other documented
+# files.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+INCLUDE_GRAPH = YES
+
+# If the INCLUDED_BY_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are
+# set to YES then doxygen will generate a graph for each documented file showing
+# the direct and indirect include dependencies of the file with other documented
+# files.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+INCLUDED_BY_GRAPH = YES
+
+# If the CALL_GRAPH tag is set to YES then doxygen will generate a call
+# dependency graph for every global function or class method.
+#
+# Note that enabling this option will significantly increase the time of a run.
+# So in most cases it will be better to enable call graphs for selected
+# functions only using the \callgraph command.
+# The default value is: NO.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+CALL_GRAPH = NO
+
+# If the CALLER_GRAPH tag is set to YES then doxygen will generate a caller
+# dependency graph for every global function or class method.
+#
+# Note that enabling this option will significantly increase the time of a run.
+# So in most cases it will be better to enable caller graphs for selected
+# functions only using the \callergraph command.
+# The default value is: NO.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+CALLER_GRAPH = NO
+
+# If the GRAPHICAL_HIERARCHY tag is set to YES then doxygen will graphical
+# hierarchy of all classes instead of a textual one.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+GRAPHICAL_HIERARCHY = YES
+
+# If the DIRECTORY_GRAPH tag is set to YES then doxygen will show the
+# dependencies a directory has on other directories in a graphical way. The
+# dependency relations are determined by the #include relations between the
+# files in the directories.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DIRECTORY_GRAPH = YES
+
+# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
+# generated by dot.
+# Note: If you choose svg you need to set HTML_FILE_EXTENSION to xhtml in order
+# to make the SVG files visible in IE 9+ (other browsers do not have this
+# requirement).
+# Possible values are: png, png:cairo, png:cairo:cairo, png:cairo:gd, png:gd,
+# png:gd:gd, jpg, jpg:cairo, jpg:cairo:gd, jpg:gd, jpg:gd:gd, gif, gif:cairo,
+# gif:cairo:gd, gif:gd, gif:gd:gd and svg.
+# The default value is: png.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOT_IMAGE_FORMAT = png
+
+# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to
+# enable generation of interactive SVG images that allow zooming and panning.
+#
+# Note that this requires a modern browser other than Internet Explorer. Tested
+# and working are Firefox, Chrome, Safari, and Opera.
+# Note: For IE 9+ you need to set HTML_FILE_EXTENSION to xhtml in order to make
+# the SVG files visible. Older versions of IE do not have SVG support.
+# The default value is: NO.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+INTERACTIVE_SVG = NO
+
+# The DOT_PATH tag can be used to specify the path where the dot tool can be
+# found. If left blank, it is assumed the dot tool can be found in the path.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOT_PATH =
+
+# The DOTFILE_DIRS tag can be used to specify one or more directories that
+# contain dot files that are included in the documentation (see the \dotfile
+# command).
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOTFILE_DIRS =
+
+# The MSCFILE_DIRS tag can be used to specify one or more directories that
+# contain msc files that are included in the documentation (see the \mscfile
+# command).
+
+MSCFILE_DIRS =
+
+# The DIAFILE_DIRS tag can be used to specify one or more directories that
+# contain dia files that are included in the documentation (see the \diafile
+# command).
+
+DIAFILE_DIRS =
+
+# When using plantuml, the PLANTUML_JAR_PATH tag should be used to specify the
+# path where java can find the plantuml.jar file. If left blank, it is assumed
+# PlantUML is not used or called during a preprocessing step. Doxygen will
+# generate a warning when it encounters a \startuml command in this case and
+# will not generate output for the diagram.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+PLANTUML_JAR_PATH =
+
+# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of nodes
+# that will be shown in the graph. If the number of nodes in a graph becomes
+# larger than this value, doxygen will truncate the graph, which is visualized
+# by representing a node as a red box. Note that doxygen if the number of direct
+# children of the root node in a graph is already larger than
+# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note that
+# the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
+# Minimum value: 0, maximum value: 10000, default value: 50.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOT_GRAPH_MAX_NODES = 50
+
+# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the graphs
+# generated by dot. A depth value of 3 means that only nodes reachable from the
+# root by following a path via at most 3 edges will be shown. Nodes that lay
+# further from the root node will be omitted. Note that setting this option to 1
+# or 2 may greatly reduce the computation time needed for large code bases. Also
+# note that the size of a graph can be further restricted by
+# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
+# Minimum value: 0, maximum value: 1000, default value: 0.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+MAX_DOT_GRAPH_DEPTH = 0
+
+# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
+# background. This is disabled by default, because dot on Windows does not seem
+# to support this out of the box.
+#
+# Warning: Depending on the platform used, enabling this option may lead to
+# badly anti-aliased labels on the edges of a graph (i.e. they become hard to
+# read).
+# The default value is: NO.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOT_TRANSPARENT = NO
+
+# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output
+# files in one run (i.e. multiple -o and -T options on the command line). This
+# makes dot run faster, but since only newer versions of dot (>1.8.10) support
+# this, this feature is disabled by default.
+# The default value is: NO.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOT_MULTI_TARGETS = NO
+
+# If the GENERATE_LEGEND tag is set to YES doxygen will generate a legend page
+# explaining the meaning of the various boxes and arrows in the dot generated
+# graphs.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+GENERATE_LEGEND = YES
+
+# If the DOT_CLEANUP tag is set to YES doxygen will remove the intermediate dot
+# files that are used to generate the various graphs.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOT_CLEANUP = YES
Index: tags/siscone-3.0.2/AUTHORS
===================================================================
--- tags/siscone-3.0.2/AUTHORS (revision 0)
+++ tags/siscone-3.0.2/AUTHORS (revision 398)
@@ -0,0 +1,15 @@
+This program was written by Gregory Soyez(1) and Gavin Salam(2)
+
+Address: (1) IPhT, CEA Saclay
+ Orme des Merisiers, Bat 774
+ F-91191 Gif-sur-Yvette Cedex
+ France
+
+ (2) PH-TH, CERN, CH-1211 Geneva 23, Switzerland;
+ LPTHE, UPMC (Univ. Paris 6), 75252 Paris cedex 05, France.
+
+phone : +33 69 08 40 11
+ +41 22 767 2462
+
+email : soyez@fastjet.fr
+ gavin.salam@cern.ch
Index: tags/siscone-3.0.2/ChangeLog
===================================================================
--- tags/siscone-3.0.2/ChangeLog (revision 0)
+++ tags/siscone-3.0.2/ChangeLog (revision 398)
@@ -0,0 +1,1554 @@
+2016-03-16 Gregory Soyez <soyez@fastjet.fr>
+
+ Release of SISCone 3.0.2
+
+ * NEWS:
+ tweaked as suggested by Gavin
+
+ * doc/html/usage.html:
+ * doc/html/index.html:
+ backported a change done on the Hepforge pages
+
+ * doc/html/algorithm.html:
+ * doc/html/index.html:
+ * doc/html/sm_issue.html:
+ * doc/html/download.html:
+ * doc/html/perfs.html:
+ * doc/html/usage.html:
+ set version number to 3.0.2; updated a few links and mention the
+ new release
+
+ * Doxyfile:
+ * siscone/siscone.cpp:
+ * siscone/spherical/siscone.cpp:
+ * configure.ac:
+ set version number to 3.0.2
+
+ * NEWS:
+ drafted for v3.0.2
+
+2016-03-10 Gregory Soyez <soyez@fastjet.fr>
+
+ * siscone/split_merge.h:
+ * siscone/spherical/split_merge.h:
+ switched the auto_ptr into unique_ptr when
+ SISCONE_USES_UNIQUE_PTR_AS_AUTO_PTR is defined
+
+ * configure.ac:
+ fine-tuned the configure test for auto-ptr deprecation [for god
+ knows what reason, -Werror does not turn -Wdeprecated-declarations
+ into errors for gcc-5.2.1... so I replaced it with
+ -Werror=deprecated-declarations which does]
+
+ * configure.ac:
+ added a series of tests to check if the compiler considers
+ auto_ptr as deprecated and, if yes, supports unique_ptr
+
+2016-03-03 Gregory Soyez <soyez@fastjet.fr>
+
+ * siscone/spherical/siscone.cpp:
+ * siscone/siscone.cpp:
+ restored the original _banner_ostr stream format flags after
+ printing out the banner
+
+ * siscone/spherical/split_merge.cpp:
+ * siscone/split_merge.cpp:
+ removed unnecessary (dead) code at the end of get_sm_var2()
+
+ * siscone/spherical/split_merge.h:
+ * siscone/spherical/split_merge.cpp:
+ * siscone/split_merge.h:
+ * siscone/split_merge.cpp:
+ initialised pass to CJET_INEXISTENT_PASS by default
+
+ * siscone/vicinity.cpp:
+ initialised ve_list before calling set_particle_list
+
+2016-02-29 Gregory Soyez <soyez@fastjet.fr>
+
+ * doc/html/download.html:
+ updated link to html browsing og the svn repo
+
+ * doc/html/usage.html:
+ updated a couple of links to the FJ doxygen pages
+
+ * configure.ac:
+ * siscone/siscone.cpp:
+ * siscone/spherical/siscone.cpp:
+ * Doxyfile:
+ switched version number over to 3.0.2-devel
+
+2016-02-29 Gregory Soyez <soyez@fastjet.fr>
+
+ Release of SISCone 3.0.1
+
+ * NEWS:
+ * CHECKLIST:
+ * Doxyfile:
+ * configure.ac:
+ * doc/html/*.html:
+ * siscone/siscone.cpp:
+ * siscone/spherical/siscone.cpp:
+ prepared for the release of SISCone 3.0.1
+
+2016-02-24 Gregory Soyez <soyez@fastjet.fr>
+
+ * siscone/spherical/geom_2d.h:
+ get_theta_cell(...): fixed rounding issue for theta==pi
+ [Bug reported by Andrii Verbytskyi, see
+ 2016-02-SphericalSISCone-throws in the FastJet issue tracker]
+
+ * siscone/spherical/geom_2d.cpp:
+ add_particle(...): made sure the full phi range is included for
+ theta=0 or theta=pi
+
+ * siscone/spherical/geom_2d.h:
+ fixed typo in comment:
+
+ * siscone/spherical/split_merge.cpp:
+ * siscone/split_merge.cpp:
+ fixed bad variale in debugging outpout and added debugging info
+
+
+2014-09-10 Gregory Soyez <soyez@fastjet.fr>
+
+ * Doxyfile:
+ * configure.ac:
+ * siscone/siscone.cpp:
+ * siscone/spherical/siscone.cpp:
+ set version number to 3.0.1-devel
+
+2014-09-09 Gregory Soyez <soyez@fastjet.fr>
+
+ * SISCone 3.0.0
+
+ * doc/html/usage.html:
+ * doc/html/perfs.html:
+ added a brief discussion about the algogithm complexity.
+
+2014-09-09 Gavin Salam <gavin.salam@cern.ch>
+
+ * NEWS:
+ * doc/html/index.html:
+ * doc/html/usage.html:
+ small phrasing changes
+
+2014-09-09 Gregory Soyez <soyez@fastjet.fr>
+
+ * configure.ac:
+ * NEWS:
+ * siscone/siscone.cpp:
+ * siscone/spherical/siscone.cpp:
+ * Doxyfile:
+ preparing for the release of SISCone 3.0.0
+
+ * doc/html/*.html:
+ changed the version number to 3.0.0
+ included the release information
+ updated Gavin's email address
+
+ * doc/html/usage.html:
+ added a description of SISCone with progressive removal
+
+ * Doxyfile:
+ Updated for more recent versions of doxygen [ran doxygen -u from
+ doxygen 1.8.8]
+
+2014-09-04 Gregory Soyez <soyez@fastjet.fr>
+
+ * siscone/split_merge.cpp:
+ * siscone/spherical/split_merge.cpp:
+ in progressive removal mode, set the 'pass' index associated to
+ each jet to the index of the iteration at which it has been
+ obtained
+
+ * siscone/siscone.h:
+ * siscone/siscone.cpp:
+ * siscone/spherical/siscone.h:
+ * siscone/spherical/siscone.cpp:
+ put the duplicated code for initialisation in a spearate method
+
+ * siscone/split_merge.cpp:
+ fixed a bug introduced in a recent commit: jet_candidate.sm_var2
+ was not assigned prolperly for non-user-defined scales
+
+ * siscone/spherical/split_merge.cpp:
+ * siscone/spherical/split_merge.h:
+ propagated recent modifications of SISCone to the spherical
+ version:
+ . reworked some comments (including the misplaced one about
+ collinear-safety)
+ . default for SM_var2_hardest_cut_off changed from -1 to
+ -numeric_limits<double>::max() [largely redundant]
+ . added support for user-defined scale when run in
+ "progressive-removal mode"
+
+ * siscone/split_merge.h:
+ . removed temporary comments at the top of the file
+ . added a dummy virtual dtor to Csplit_merge::Cuser_scale_base
+
+2014-09-04 Gavin SALAM <gavin.salam@cern.ch> + Gregory
+
+ * siscone/split_merge.cpp:
+ SM_var2_hardest_cutoff no longer applied to PR case.
+
+ Modified sm_var2 in (PR) _user_scale case to now be the signed
+ square of the scale variable (to properly handle negative values
+ of the scale).
+
+ default for SM_var2_hardest_cut_off changed from -1 to
+ -numeric_limits<double>::max(); (this change is largely redundant,
+ given that SM_var2_hardest_cutoff is no longer used for PR, while
+ the SM case only allows default scale choices, which are all
+ positive definite).
+
+ replaced <math.h> with <cmath>;
+
+ * siscone/split_merge.h:
+ default Cuser_scale_base::is_larger(...) now uses cached values of
+ scale in Cjet.
+
+ small fixes to a number of comments, including misplaced warning
+ about collinear unsafety.
+
+ * siscone/siscone.h:
+ small changes to comments to clarify situation of an unused
+ variable in progressive removal
+
+2014-09-04 Gregory Soyez <soyez@fastjet.fr>
+
+ * siscone/split_merge.cpp:
+ * siscone/siscone/split_merge.h:
+ added material to support user-defined scale choices in
+ progressive-removal mode.
+
+ One needs to overload the Csplit_merge::Cuser_scale_base class and
+ pass a pointer to the split-merge using set_user_scale().
+
+2014-09-03 Gregory Soyez <soyez@fastjet.fr>
+
+ * siscone/spherical/siscone.h:
+ * siscone/spherical/siscone.cpp:
+ * siscone/spherical/split_merge.h:
+ * siscone/spherical/split_merge.cpp:
+ ported "siscone with progressive removal" to the spherical
+ coordinates version
+
+ * siscone/siscone.h:
+ fixed typo in variable name
+
+ * siscone/split_merge.cpp:
+ imposed the SM_var2_hardest_cut_off in the progressive case too
+ + made sure at least one candidate jet was found
+
+ * siscone/siscone.h:
+ * siscone/siscone.cpp:
+ added compute_jets_progressive_removal(...) which implements a
+ "progressive removal" version of SISCone. This successively
+ computes stable cones and removes the hardest stable cone as a jet
+ until no particles are left or no stable cones are found.
+
+ Question: what do we do with 'protocones_list'? [for the time
+ being, it's left empty]
+
+ * siscone/split_merge.h:
+ * siscone/split_merge.cpp:
+ added 'add_hardest_protocones_to_jets' which computes the hardest
+ of the stable cones passed as arguments, declares it as a jet and
+ removes its content from the remaining list of particles. This
+ should be used instead of add_protocones()+perform() if one wants a
+ progressive-removal version of SISCone.
+
+2013-04-09 Gregory Soyez <soyez@fastjet.fr>
+
+ * doc/html/index.html:
+ fixed trivial typo (developper -> developer)
+
+ * switched version number to 2.0.7-devel
+
+2013-04-09 Gregory Soyez <soyez@fastjet.fr>
+
+ * Release of SISCone 2.0.6
+
+ * NEWS, doc/html/index.html
+ set the release date to April 9th
+
+ * Doxyfile
+ Set version number to 2.0.6
+
+2013-04-08 Gregory Soyez <soyez@fastjet.fr>
+
+ * doc/html/*.html:
+ * configure.ac:
+ switched version number to 2.0.6
+
+ * NEWS:
+ preparing for SISCone 2.0.6
+
+ * setversion.sh: minor fix (used bash instead of sh)
+
+ * CHECKLIST: *** ADDED ***
+ helper checklist for the release process
+
+2013-04-06 Gavin Salam <gavin.salam@cern.ch>
+
+ * configure.ac:
+ updated minimal required autotools version to 2.63
+
+2013-02-05 Gavin Salam <gavin.salam@cern.ch>
+
+ * autogen.sh: tried to be more tolerant of different libtool
+ versions (some take --version, others -V). Still have problems
+ on OS X 10.8 with macports , but autoreconf works fine.
+
+ * configure.ac:
+ replaced AM_CONFIG_HEADER with with AC_CONFIG_HEADERS, following
+ error with autoconf 2.69 on OS X 10.8 with macports.
+
+2013-02-04 Gregory Soyez <soyez@fastjet.fr>
+
+ * siscone/Makefile.am:
+ do not install config.h
+
+ * siscone/spherical/Makefile.am:
+ fixed directory for headers installation for the spherical
+ version of SISCone
+
+2012-01-17 Gregory Soyez <soyez@fastjet.fr>
+
+ * NEWS:
+ SISCone 2.0.5
+
+ * NEWS:
+ * configure.ac:
+ * Doxyfile:
+ prepared for the release of SISCone 2.0.5
+
+ * siscone/spherical/Makefile.qm:
+ used $(includedir) instead of $(prefix)/include
+
+2012-01-13 Gregory Soyez <soyez@fastjet.fr>
+
+ * siscone/Makefile.am:
+ used $(includedir) instead of $(prefix)/include
+
+2011-11-25 Gregory Soyez <soyez@fastjet.fr>
+
+ * NEWS:
+ SISCone 2.0.4
+
+ * NEWS:
+ updated in preparation for the 2.0.4 release
+
+ * doc/html/home.png: *** ADDED ***
+ * doc/html/usage.html:
+ * siscone/siscone_error.h:
+ * doc/html/index.html:
+ fixed typos; updated html links.
+
+ * configure.ac:
+ * Doxyfile:
+ * doc/html/*.html:
+ updated the version number to 2.0.4 and the release information
+
+ * siscone/spherical/siscone.cpp:
+ * siscone/spherical/siscone.h:
+ * siscone/siscone.cpp:
+ * siscone/siscone.h:
+ allowed to redirect the banner to a different stream than cout
+
+2011-11-16 Gregory Soyez <soyez@fastjet.fr>
+
+ * examples/test.cpp:
+ cast a vector size (of type size_t) onto unsigned int to avoid a
+ compiler warning (on either 32 or 64-bit machines)
+
+2011-11-15 Gavin Salam <salam@lpthe.jussieu.fr>
+
+ * AUTHORS:
+ updated my address.
+
+2011-11-15 Gregory Soyez <soyez@fastjet.fr>
+
+ * siscone/protocones.cpp (is_inside, proceed_with_stability):
+ * siscone/spherical/split_merge.cpp (init):
+ * siscone/split_merge.cpp (init):
+ * siscone/siscone_error.h:
+ * siscone/area.cpp (compute*_areas):
+ renamed or commented out a few local variables and method
+ arguments to avoid shadowing class members (gcc -Wshadow)
+
+ * examples/spherical.cpp:
+ * examples/sample.cpp:
+ removed unused argc, argv parameters
+
+ * examples/spherical.cpp:
+ * examples/sample.cpp:
+ * examples/times.cpp:
+ * examples/test.cpp:
+ * examples/area.cpp:
+ * examples/main.cpp:
+ * siscone/spherical/split_merge.cpp (save_contents, show):
+ * siscone/split_merge.cpp (save_contents, show):
+ * siscone/quadtree.cpp (save, save_leaves):
+ got rid of a few format warnings by replacing %le and %lf by %e
+ and %f (the l prefix applying to int and unsigned int) + a couple
+ of signed/unsigned mismatches (%d -> %u)
+
+ * configure.ac:
+ switched version number to 2.0.4-devel
+
+2011-10-05 Gregory Soyez <soyez@fastjet.fr>
+
+ * NEWS:
+ SISCone 2.0.3
+
+ * AUTHORS:
+ updated addresses and phone numbers
+
+ * configure.ac:
+ * Doxyfile:
+ * doc/html/*.html:
+ updated the version number and the release information
+
+ * Doxyfile:
+ removed the treeview
+
+ * siscone/reference.cpp:
+ removed redundant operator + (following a gcc warning)
+ Checked with FastJet's regression check that it was indeed not
+ used
+
+ * siscone/spherical/protocones.cpp:
+ removed an unused variable
+
+2011-08-09 Gregory Soyez <soyez@fastjet.fr>
+
+ * siscone/spherical/split_merge.h:
+ fixed the description of E_tilde. It was
+ sum of E_i [ 1 + sin^2(theta_iJ) ]
+ but in practice we used
+ sum of E_i [ 1 +|p_i x p_J|^2/(|p_i|^2 E_J^2)]
+ as mentioned further down in the ChangeLog (that avoids
+ potential issues when a protojet has a zero 3-momentum)
+
+2011-05-17 Gregory Soyez <soyez@fastjet.fr>
+
+ * configure.ac, Doxyfile & NEWS:
+ SISCone 2.0.2
+
+2010-10-27 Gregory Soyez <soyez@cern.ch>
+
+ * siscone/makefile.static:
+ recursed make clean in the spherical dir
+
+ * siscone/spherical/makefile.static:
+ included main siscone header directory
+
+ * siscone/siscone.cpp, siscone/spherical/siscone.cpp:
+ The config.h header should be present from autoheader in the
+ autotools build and from the sed command in the main
+ makefile.static for build using the static makefiles.
+
+2009-05-29 Gregory Soyez <gsoyez@quark.phy.bnl.gov>
+
+ * configure.ac & NEWS:
+ SISCone 2.0.1
+
+2009-05-28 Gregory Soyez <gsoyez@quark.phy.bnl.gov>
+
+ * Doxyfile (PROJECT_NUMBER):
+ doc/html/*.html:
+ switched the version number to 2.0.1
+
+ * INSTALL (Notes):
+ fixed the comment on the static/shared default build
+
+ * configure.ac:
+ enabled shared libs by defaut (following a long discussion
+ regarding static vs. shared libraries, we finally decided to
+ make a minimal modification compared to the previous release,
+ i.e. keep shared libraries on)
+
+2009-05-25 Gregory Soyez <gsoyez@quark.phy.bnl.gov>
+
+ * configure.ac:
+ switched back to static libraries
+
+ * siscone/Makefile.am:
+ examples/Makefile.am:
+ siscone/spherical/Makefile.am:
+ replace a few ${var} by $(var) to be more compatible
+ with Makefile rules
+
+
+2009-05-01 Gregory Soyez <gsoyez@quark.phy.bnl.gov>
+
+ * siscone/spherical/hash.cpp (siscone_spherical):
+ renamed _R into _radius (problem with some Mac systems).
+ Note: some of the comments were mentioning R2 as a parameter
+ rather than R, so this has been fixed at the same time.
+
+ * configure.ac:
+ build shared libs by default
+ This is a bug-fix for FastJet that now uses shared libs by
+ default too
+
+ * configure.ac & Doxyfile:
+ switched version number to 2.0.1-devel
+
+2009-04-17 Gregory Soyez <gsoyez@quark.phy.bnl.gov>
+
+ * NEWS & configure.ac:
+ SISCone 2.0.0
+
+ * doc/html/index.html:
+ Doxyfile:
+ configure.ac:
+ switched the version number to 2.0.0
+
+2009-03-17 Gregory Soyez <gsoyez@quark.phy.bnl.gov>
+
+ * siscone/split_merge.cpp (siscone):
+ moved the computation of the rapidity limits AFTER the
+ exclusion of the particles with pz>=E
+
+
+2009-03-12 Gregory Soyez <gsoyez@quark.phy.bnl.gov>
+
+ * configure.ac:
+ switched version to 2.0-devel
+
+ * NEWS:
+ updated to include the new things in the upcoming release
+
+ * Doxyfile:
+ updated together with an additional bunch of doxygen-compliant
+ comments in the source files
+
+
+2008-08-06 Gregory Soyez <gsoyez@quark.phy.bnl.gov>
+
+ * siscone/siscone.cpp (siscone):
+ make sure that the full 4-vector information is included in the
+ protocones list.
+
+
+2008-07-29 Gregory Soyez <gsoyez@quark.phy.bnl.gov>
+
+ * siscone/siscone.cpp:
+ siscone/spherical/siscone.cpp:
+ check that the config.h file is available.
+ Otherwise, use fixed values for PACKAGE and VERSION.
+
+
+2008-07-23 Gregory Soyez <gsoyez@quark.phy.bnl.gov>
+
+ * siscone/spherical/siscone.h (siscone_spherical):
+ set E_tilde as the default SM variable.
+
+ * siscone/spherical/split_merge.{h,cpp} (siscone_spherical):
+
+ addressed the issue of IRC safety related to the choice of the
+ split-merge ordering variable. We kept E (an unsafe choice) for
+ its simplicity and added E_tilde defined as
+
+ / |p_i X p_J|^2 \
+ \sum_{i\in J} E_i | 1 + --------------- |
+ \ |p_i|^2 E_J^2 /
+
+ The use of E_J instead of p_J in the denominator prevents the
+ case where jets have zero momentum (e.g. monster jets with
+ momentum conservation)
+
+ Note that this variable is only used for the ordering; the
+ computation of the overlap is always using the energy.
+
+
+2008-07-18 Gregory Soyez <gsoyez@quark.phy.bnl.gov>
+
+ * siscone/siscone.cpp (siscone)
+ siscone/spherical/siscone.cpp (siscone_spherical):
+ package_name() returns PACKAGE_NAME, not VERSION!
+
+ * siscone/spherical/Makefile.am:
+ added a path for siscone/config.h to be correctly included
+
+ * siscone/Makefile.am:
+ prevent config.h from being shipped with the distribution
+
+
+2008-07-07 Gregory Soyez <gsoyez@quark.phy.bnl.gov>
+
+ * siscone/spherical/split_merge.cpp (siscone_spherical):
+ transformed the pt2 cut-off on particles into an
+ energy (squared) cut-off.
+
+
+2008-07-07 Gregory Soyez <gsoyez@quark.phy.bnl.gov>
+
+ * Spherical version included in the main trunk
+ (see below for details)
+
+ * Copied the 'spherical branch' into the siscone/spherical
+ folder.
+ Copied the sample program into the example folder.
+ Imported the ChangeLog from the branch
+
+ Steps remaining in the main trunk: (. = todo, - = done)
+ - updating the makefiles
+ - deleted the "defines.h" file in the subdir
+ the main one is used.
+ - tested (make distcheck + sample running)
+
+ Questions:
+ - do we also copy the unchanged files? (It will mess a bit the
+ filenames but they concerns material hidden to the end-user,
+ so I'd keep them in the trunk
+ It concerns circulator, reference, ranlux and siscone_error.
+ - do we remove the quadtree in the spherical dir?
+ (I'd say 'yes', not done currently)
+ - keep the "unused" files in the branch? (area, quadtree, ...)
+
+
+2008-07-02 Gregory Soyez <gsoyez@quark.phy.bnl.gov>
+
+ * started the process of merging the spherical version of SISCone
+ into the main trunk. The new version will be inserted in the
+ "siscone/spherical" directory. We shall put it under the
+ 'siscone_spherical' namespace and rename the relevant classes
+ using a 'CSph' prefic instead of the 'C' prefix used in the main
+ trunk.
+ Steps to be done in the branch: (. = todo, - = done)
+ - move the relevant files in a 'siscone/spherical' directory
+ - add a siscone/Makefile.am in the branch (+small updates)
+ - change the namespace
+ - rename the classes and update the names in the code
+ Note that some of the classes have been kept from the main
+ version (e.g. everything in reference.h, siscone_error.h +
+ isolated classes like circulator, two_vector). This should
+ not affect the end-user.
+ - in the examples, move the main sample into a 'spherical' one
+ - test on the branch
+ DONE.
+
+2008-06-16 Gregory Soyez <gsoyez@quark.phy.bnl.gov>
+
+ * siscone/vicinity.cpp (siscone): revised the normalisation of the
+ cocircular range.
+
+ * siscone/split_merge.cpp (siscone): recomputed the norm of
+ the result of a collinear merging. This is required as
+ the norm is used in stable-cone search and not recomputed
+ automatically.
+
+ * siscone/protocones.cpp (siscone): normalised directions
+ used to determine the angles. This might well be the reason
+ of the co-circular problem.
+
+ * siscone/geom_2d.cpp (siscone): removed an unused variable
+
+
+2008-06-14 Gregory Soyez <gsoyez@quark.phy.bnl.gov>
+
+ * Note: this version passed ~3e8 safety tests (including arcs,
+ soft particles, reordering and single/multi-pass).
+
+ * siscone/vicinity.cpp (siscone): added cocirc-tests
+ WARNING: this is a naive adaptation from the cylindrical case.
+
+ * siscone/momentum.h (siscone): reverted most of the last
+ modification: since the simple computation using a cos()
+ requires the computation of the norm (not its squared because
+ the sign of the cos matters) it is most complicated than the one
+ with the tangent. Note that we're free of the problem mentionned
+ below as the only place where it can happen is in the
+ computation of the vicinity and there we compute distances
+ internally rather than calling is_closer.
+ Finally, we've added a is_closer_safe with the computation
+ using te cosine.
+
+2008-06-13 Gregory Soyez <gsoyez@quark.phy.bnl.gov>
+ * siscone/vicinity.cpp (siscone):
+ pre-added co-circularity management
+
+ * siscone/momentum.h (siscone):
+ replaced the tangent used in distances comparison by
+ a cosine (the tangent is more precise at small R but
+ we'll probably never get down to that small values of R).
+ The reason for the replacement is that it gives wrong
+ results for vicinity computation for 2R>pi/2.
+ This present computation is also faster (no x-product).
+
+ All calls to that function have been updated too.
+
+
+2008-06-12 Gregory Soyez <gsoyez@quark.phy.bnl.gov>
+
+ * Description: this is the first complete adaptation to the
+ SISCone jet-search using spherical coordinatee.
+ This branch is motivated by potential applications to
+ cosmic-rays and follows a request by Yvonne Küssel
+ <Yvonne.Kuessel@gmx.de>
+
+ * Summary of modifications:
+ - use the distance on a sphere instead of the eta-phi one This
+ is the most important change and comes with
+ modifications... well... ... everywhere. Most of the infos
+ about the distance are in the momentum.{h,cpp} files. There
+ are other important pieces when computing the candidate
+ centres (in vicinity.cpp). And the theta_phi range (previously
+ eta_phi!) in geom2d.cpp has also been relooked.
+ - The spit--merge(SM) uses the energy instead of pttilde by
+ default for the ordering
+ - The final jets ae ordered in E instead of pt.
+ - we don't remove particles with infinite rapidity (both in SC
+ search and SM)
+ - for the cone consistency tests, we use |px|+|py|+|pz| instead
+ of |px|+|py|
+ - we have removed the cut on soft particles in
+ Csplit_merge::merge_collinear_and_remove_soft() since it was
+ mainly used for area speed up.
+ - Csplit_merge::use_pt_weighted_splitting is replaced by
+ Csplit_merge::use_E_weighted_splitting when it is defined, the
+ weight is of course 1/E^2 instead of 1/pt^2
+ - To emphasise the fact that this is not the main SISCone trunk,
+ we've added one sentence in the header of every file and a
+ WARNING in the SISCone banner.
+
+ * Still to be done
+ - implement co-circularity (currently the range is set to 0)
+ - in the split--merge, check the precision of the collinearity
+ test?
+
+ * Other points to think about
+ - for the split of 2 protojets, we're currently making many
+ calls to a full distance computation. This can surely be
+ improved when no weighting is asked...
+ - completely remove the quadtree?
+ - remove the area support?
+ - remove the Ctheta_phi range?
+ or improve it (the cell initialisation assume a square shape,
+ not a circle, but already with a square, the geometry is
+ rather involved)
+
+ * Final word: still need a whole bunch of tests (noticeably IRC
+ safety, speed). Note that the stable-cone search has been
+ checked "graphically".
+
+
+2008-05-20 Gregory Soyez <gsoyez@quark.phy.bnl.gov>
+
+ * siscone/hash.cpp (siscone):
+ Adapted the size of the hash to scale like Nn(=N^2R^2) instead
+ of N^2. This allows to save a fair amount of memory.
+
+
+2008-05-16 Gregory Soyez <gsoyez@quark.phy.bnl.gov>
+
+ * siscone/defines.h
+ siscone/hash.{h,cpp} (siscone)
+ siscone/protocones.{h,cpp} (siscone):
+ siscone/siscone.{h,cpp} (siscone):
+ add some debug information about the occupancy of the hash
+ when DEBUG_STABLE_CONES is defined
+
+ * examples/test.cpp: update the code to use Csiscone directly
+ instead of separate calls to stable cone search and split--merge
+ stage. This should be less confusing for end-users.
+
+2008-05-15 Gregory Soyez <gsoyez@quark.phy.bnl.gov>
+
+ * configure.ac:
+ in the last CXXFLAGS fix, the default has been set at a wrong
+ place (practically, CXXFLAGS was set to the system default value
+ -O2 -g and thus not replaced with our local default).
+ This is fixed now.
+
+2008-03-24 Gregory Soyez <g.soyez@ulg.ac.be>
+
+ * configure.ac:
+ fix CXXFLAGS in such a way as to allow the user to set their own
+ default.
+
+
+2008-03-17 Gregory Soyez <g.soyez@ulg.ac.be>
+
+ * siscone/defines.h:
+ siscone/siscone.h/cpp
+ examples/option.cpp
+ BUGS:
+ Because of potentil conflicts with other packages, the
+ tags defined in config.h are no longer included in
+ defines.h but only in SISCone source files.
+ As a practical consequence, the program name and version
+ number are now accessed through siscone_package_name() and
+ siscone_version() both defined in siscone.h and inside
+ the siscone namespace. See examples/options.cpp for
+ an example.
+ This solves the corresponding bug reported by Seuster.
+
+
+2008-03-15 Gavin Salam <salam@lpthe.jussieu.fr>
+
+ * BUGS:
+ added entry related to PACKAGE/VERSION/etc reported by Seuster.
+
+2008-03-12 Gregory Soyez <g.soyez@ulg.ac.be>
+
+ * siscone/split_merge.h/cpp (siscone):
+
+ This is a non-negligible modification: we have added the
+ possibility to modify the way particles are split during the
+ split-merge step.
+ Assume one has to split protojets 1 and 2. The standard split
+ associates a common particle j to the closest centre
+ i.e. compares the distances D_{1j} vs. D_{2j}.
+ Now, by calling Csplit_merge::set_pt_weighted_splitting(true),
+ it is possible to perform the splitting according to the anti-kt
+ distance i.e. comparing D_{1j}/k_{t1} vs. D_{2j}/k_{t2}.
+ This new option should allow to produce more
+ rigid (soft-resilient) jets.
+ Note that the default is to use the standard distance comparison
+ so backward compatibility is not broken.
+
+
+2008-03-11 Gregory Soyez <g.soyez@ulg.ac.be>
+
+ * siscone/area.cpp (siscone):
+ the jet+area finding now really returns the number of jets
+ as does the standard clustering
+
+ * siscone/area.cpp (siscone):
+ don't include ghosts in stable-cone search when only the
+ passive area is requested.
+ This is a huge speed improvement as the execution time (when
+ only passive area is requested) is now (with Ntot = N+Nghosts)
+ O(N^2 log(N) + Ntot^2)
+ instead of
+ O(Ntot^2 log(Ntot) + Ntot^2)
+
+ * configure.ac:
+ switched the main trunk to SISCone-1.4.0-devel
+
+
+2008-03-07 Gavin SALAM <salam@lpthe.jussieu.fr>
+
+ * configure.ac:
+ switched version to 1.3.1
+
+2008-01-17 Gavin Salam <salam@lpthe.jussieu.fr>
+
+ * configure.ac:
+ switched version number over to 1.3.1-devel
+
+2008-01-15 Gregory Soyez <g.soyez@ulg.ac.be>
+
+ * siscone/geom_2d.h (M_PI):
+ added definition of M_PI if needed (VC compilation)
+
+ * siscone/protocones.cpp (siscone):
+ added the algorithm header (VC compilation)
+
+2007-11-12 Gregory Soyez <g.soyez@ulg.ac.be>
+
+ * NEWS & configure.ac:
+ SISCone 1.3.0
+
+
+2007-11-10 Gavin Salam <salam@lpthe.jussieu.fr>
+
+ * configure.ac:
+ * examples/Makefile.am:
+ * examples/events/Makefile.am:
+ made sure some sample events were included in the dist
+
+2007-11-07 Gavin SALAM <salam@lpthe.jussieu.fr>
+
+ * configure.ac:
+ switched +="" to A=A"" to eliminate an error on mac
+
+2007-10-24 Gregory Soyez <g.soyez@ulg.ac.be>
+
+ * examples/options.cpp: fix a missing "siscone/" in header include
+
+ * examples/Makefile.am: fix a problem with make distcheck
+
+ * configure.ac: the --enable-shared cmd-line option is already
+ handled by libtool. We just need to add AM_DISABLE_SHARED to
+ disable the shared lib by default (can still be changed by using
+ --enable-shared)
+ Also, we set the minimal version of autoconf to 2.57.
+
+ * examples/Makefile.am: do not install anything (just build
+ examples locally)
+
+ * examples/main.cpp (main): print a more specific error message
+ when the event file cannot be opened
+
+
+2007-10-03 Gregory Soyez <g.soyez@ulg.ac.be>
+
+ * siscone/defines.h: read available information from config.h
+
+ * In examples, include headers from the 'siscone' folder
+
+ * Move the src folder into a new 'siscone' folder
+
+
+2007-10-02 Gregory Soyez <g.soyez@ulg.ac.be>
+
+ * add configure script for the build process. This comes with a
+ bunch of new files: autogen.sh, configure.ac, and a Makefile.am
+ in each directory. See the INSTALL files for more details
+
+ * replace each Makefile by makefile.static
+ Makefile-based build is now made through
+ make -f makefile.static
+
+ * examples/area.cpp: add a sample program for SISCone jet area
+ computation
+
+
+2007-06-24 Gregory Soyez <g.soyez@ulg.ac.be>
+
+ * src/defines.h: SISCone 1.2.0
+
+
+2007-06-15 Gregory Soyez <g.soyez@ulg.ac.be>
+
+
+ * src/geom_2d.h/cpp: use a 32x32 eta-phi-plane tiling. The range
+ is then defined by two binary fields. This allows easy overlap
+ test and merging. For protojets splitting, the new ranges are
+ built by adding particles one-by-one.
+
+ * src/split_merge.cpp (siscone):
+ - align code with the modifications in geom_2d.h/cpp
+ - the output of save_contents has slightly been improved
+
+ * src/area.h/cpp: add methods to compute only the active or passive
+ area
+
+ * examples/main.cpp: add pass-by-pass statistics in the verbose
+ output
+
+ * examples/options.cpp: fix bug when passing an unknown long
+ option to getopt_long
+
+
+2007-06-02 Gregory Soyez <g.soyez@ulg.ac.be>
+
+ * examples/sample.cpp: add a few lines to show how one can browse
+ the output jets of compute_jets.
+
+ * examples/times.cpp: only save runtime using the siscone class
+ instead of a separate determination.
+
+2007-05-09 Gavin Salam <salam@lpthe.jussieu.fr>
+
+ * src/split_merge.cpp:
+ soft_pt2_cutoff -> stable_cone_soft_pt2_cutoff
+ fixed infinite loop for non-zero stable_cone_soft_pt2_cutoff
+
+2007-05-09 Gregory Soyez <g.soyez@ulg.ac.be>
+
+ * src/split_merge.cpp|h:
+ When building the list of particles to be passed to stable-cone
+ search, allow to remove particles below a pt2 threshold
+ soft_pt2_cutoff.
+
+2007-04-27 Gavin SALAM <salam@lpthe.jussieu.fr>
+
+ * src/geom_2d.cpp:
+ corrected bugs in range_union -- now passes test that 1000
+ events are identical to what we had previously.
+
+2007-04-26 Gregory Soyez <g.soyez@ulg.ac.be>
+
+ * src/split_merge.cpp (siscone): add range support to the
+ split--merge. When computing overlap, we first check that the
+ two ranges overlap. In splitting, ranges are set to the parent
+ ranges. In merging, range is set as the union of the parent
+ ranges.
+
+ * src/split_merge.h: add a range variable to the Cjet class
+
+ * src/geom_2d.cpp/h (siscone): add the Ceta_phi_range to handle
+ covering ranges in the ete-phi plane. This goes with a function
+ to test overlap and another to compute union.
+
+ * src/momentum.h: Move geometry tools into geom_2d.h (new file)
+
+
+2007-04-24 Gavin SALAM <salam@lpthe.jussieu.fr> + Matteo
+
+ * src/defines.h (VERSION):
+ updated version number to 1.1.2-devel
+
+ * src/split_merge.cpp (include):
+ moved test on SM_var2_hardest_cut_off to beginning of loop, to
+ ensure that we don't get a first jet that's below the cutoff.
+
+2007-04-20 Gregory Soyez <g.soyez@ulg.ac.be>
+
+ * src/split_merge.h: remove the "protected" attribute for
+ 'SM_var2_hardest_cut_off' for easier inclusion in fastjet. Note
+ however that the 'protected' declaration in the previous version
+ was used to prevent from dangerous usage of the variable. This
+ is still applicable now!
+
+2007-04-18 Gregory Soyez <g.soyez@ulg.ac.be>
+
+ * src/area.cpp: Add a parameter '_hard_only' which allow to
+ compute only the hard jets area (without the purely ghosted
+ ones.
+
+ * src/split_merge.h/cpp: Add a cut-off on the SM_var of the
+ hardest protojet. This is useful for computation of the area of
+ the hard jets without computing the purel ghosted ones. Note
+ that this cut-off is colinear-unsafe so has to be used with
+ great care.
+
+2007-04-13 Gregory Soyez <g.soyez@ulg.ac.be>
+
+ * src/area.cpp: add Carea, the class to compute jet area
+
+2007-03-16 Gregory Soyez <g.soyez@ulg.ac.be>
+
+ * SISCone 1.1.1 (tags/siscone-1.1.1)
+
+2007-03-15 Gregory Soyez <g.soyez@ulg.ac.be>
+
+ * doc/html/usage.html: update the html doc for the recent
+ modifications of the split-merge algorithm.
+
+ * src/split_merge.cpp: improve the recomputation method when two
+ jets are very close in the ordering when SM var is set to SM_Et
+
+2007-03-15 Gavin SALAM <salam@lpthe.jussieu.fr>
+
+ * src/split_merge.cpp:
+ modified fix to multiple-pass bug, in hope of being minimally
+ sensitive to rounding errors
+
+2007-03-15 Gregory Soyez <g.soyez@ulg.ac.be>
+
+ * src/siscone.h: set the default number of passes to 0
+
+ * examples/main.cpp: adding two command line parameters to the
+ siscone application:
+ - npass controls the number of passes (0 by default)
+ - sm controls the choice for the split--merge variable
+
+2007-03-14 Gregory Soyez <g.soyez@ulg.ac.be>
+
+ * src/momentum.h: add Et (inline) member function
+
+ * src/siscone.h: remove backward-compatibility computation members to
+ make things more clear.
+
+ * src/split_merge.cpp:
+ - fix multiple-pass bug
+ - add Et SM variable management
+
+2007-03-14 Gavin Salam <salam@lpthe.jussieu.fr>
+
+ * src/split_merge.cpp:
+ put an assert for zero-size jets (common sign of a bug...);
+ ensured that "recomputed" protocones (with full momentum) also
+ have their eta-phi recalculated.
+
+2007-03-12 Gavin SALAM <salam@lpthe.jussieu.fr>
+
+ * src/split_merge.cpp:
+ added some more debugging output.
+
+2007-03-10 Gavin Salam <salam@lpthe.jussieu.fr>
+
+ * src/split_merge.cpp:
+ fixed some typos and a bug in the EPSILON_SPLITMERGE case for
+ pt-tilde.
+
+2007-03-09 Gregory Soyez <g.soyez@ulg.ac.be>
+
+ * src/siscone.h: The default value for the SM variable is set to
+ pttilde
+
+ * src/split_merge.h/cpp: Update the split--merge procedure so that
+ it takes into account the choice for the split--merge
+ variable. Among the four choices, (pt_tilde, mt, pt and Et),
+ pt_tilde is the default (mt and pt can lead to IR unsafety). Et
+ is not yet implemented. We strongly advise to keep default value.
+
+2007-03-09 Gavin Salam <salam@lpthe.jussieu.fr>
+
+ * src/siscone.h|cpp:
+ * src/split_merge.h|cpp:
+ introduced an enum, Esplit_merge_scale (naming convention in
+ analogy with the leading "C" for classes), which contains values
+ SM_pt, SM_Et, SM_mt, SM_pttilde, and put in routines that take
+ the enum (as well as leaving in old ones)
+
+2007-03-06 Gavin SALAM <salam@lpthe.jussieu.fr>
+
+ * src/split_merge.cpp:
+ added transverse mass to info printed out about protojets with
+ the debug mode on (helpful in investigating limiting IR cases)
+
+2007-03-02 Gregory Soyez <g.soyez@ulg.ac.be>
+
+ * SISCone 1.1.0 (tags/siscone-1.1.0)
+
+2007-03-02 Gavin Salam <salam@lpthe.jussieu.fr>
+
+ * src/split_merge.cpp:
+ transformed a quiet error on illegal f values into a throw.
+
+ * src/siscone.cpp:
+ throw an error on illegal R values.
+
+2007-03-01 Gavin Salam <salam@lpthe.jussieu.fr>
+
+ * src/split_merge.cpp|h:
+ added a new member variable, most_ambiguous_split, which records
+ the degree of ambiguity of the most ambiguous decision about
+ attributing a particle to one or other jet during a split step.
+ Useful for testing purposes.
+
+2007-03-01 Gregory Soyez <g.soyez@ulg.ac.be>
+
+ * src/split_merge.cpp: set the full momentum
+ information on stable cones when we add them
+ to the protojet list
+
+ * src/siscone.h,cpp: add comments concerning the
+ split_merge_on_transverse_mass parameter
+
+ * src/defines.h (VERSION): set to 1.1.0beta
+
+ * src/split_merge.cpp (siscone):
+ - set ptmin as a real pt cut-off (independent on the
+ choice of variable for the SM)
+ - code cleaned (involves other files e.g. defines.h
+ momentum.h/cpp, siscone.h/cpp)
+
+ * set the website to the HEPForge one in headers
+
+ * replaced 'content' by 'contents' everywhere
+ WARNING: it implies Cjet::contents and
+ Csplit_merge::save_contents
+
+ * src/quadtree.cpp (siscone): replace 'childs' with 'children'
+
+
+2007-02-21 Gregory Soyez <g.soyez@ulg.ac.be>
+
+ * src/protocones.cpp (siscone):
+ - remove all functions that are no longer necessary and replace
+ them by their new version. This includes the computatin of the
+ cone content, its re-computation, the check for co-circularity
+ and the test for stable cones in the co-circular situations.
+ - add a few comments of potentially tricky points.
+ - remove "cout" statements.
+ - remove 'largest_cocircular_range' which is no longer used
+
+ * src/vicinity.h:
+ - "largest_cocircular_range" removed.
+ - quadtree related stuff removed. As a consequence,
+ 'build_from_list' is renamed 'build'. The usage of the
+ quadtree can now only be used in
+ 'Cstable_cone::proceed_with_stability' hence, the USE_QUADTREE
+ define has been renamed USE_QUADTREE_FOR_STABILITY_TEST.
+ - Comments aligned to make the code clearer.
+
+ * src/momentum.h: Add mass() and mass2() member functions to
+ Cmomentum().
+ Put inline functions in the header rather than in the source
+ file.
+
+ * add C++ mark ("// -*- C++ -*-") in the headers where it was
+ missing
+
+2007-02-20 Gavin Salam <salam@lpthe.jussieu.fr>
+
+ * src/split_merge.cpp:
+ enhanced check on infinite rapidities to include also
+ meaningless rapidities.
+
+ * src/split_merge.cpp|h:
+ * src/siscone.cpp:
+ sorted out an issue on multi-pass runs caused by earlier fix for
+ transverse mass ordering.
+
+2007-02-20 [am-pm] Gavin Salam <salam@lpthe.jussieu.fr>
+
+ * src/split_merge.cpp:
+ fixed a bug that appeared once split_merge_on_transverse_mass
+ got moved into the Csplit_merge_ptcomparison class
+
+ * src/protocones.cpp|h:
+ introduced compute_cone_contents_nodist(), which calculates the
+ initial cone contents by circulating around all in/out
+ operations and collecting the net result --- this avoids any
+ distance calculations and so removes a potential source of
+ rounding error. (Any remaining rounding error is dealt with by
+ cocircularity tests).
+
+ * src/defines.h
+ added more info about the meaning of the different EPSILON
+ scales.
+
+2007-02-19 [evening] Gavin Salam <salam@lpthe.jussieu.fr>
+
+ * src/defines.h:
+ introduced const bool split_merge_on_transverse_mass, which
+ determines whether the split merge occurs on transverse mass
+ instead of pt -- the latter turns out to be IR unsafe in
+ mom-conserving events for moderately large values of R (R>1)
+
+ * src/split_merge.cpp:
+ implemented the split-merge ordering on transverse masses,
+ including the limit of there being small differences.
+
+ * src/momentum.h:
+ introduced perpmass2() which returns the transverse mass,
+ pt^2+m^2
+
+
+2007-02-19 [pm] Gavin Salam <salam@lpthe.jussieu.fr>
+
+ NB: seg-faults are being seen sporadically when fastjet writes its
+ description & need to be understood (but very rare and valgrind
+ gives nothing on small numbers of events...)
+
+ * src/defines.h:
+ added optional #define EPSILON_SPLITMERGE, which if defined,
+ sets a threshold for pt differences below which the ordering is
+ determined from the explicit particle content...
+
+ * src/split_merge.cpp|h:
+ trying to introduce more "exact" pt comparison in split merge to
+ deal with multiple scales -- this involves a new
+ Csplit_merge_ptcomparison class which allows the set to carry
+ out comparisons while making use of knowledge about the particle
+ momenta inside the split_merge class.
+
+ * src/circulator.h:
+ added != and == comparison operators.
+
+ * src/protocones.h|cpp:
+ added Cstable_cones::test_cone_cocircular_p3() for carrying out
+ a p^3 check of stability -- NB seems a bit slower for small p,
+ but obviously much better for large p... Tests of 2*10^5
+ particles show no errors, longer tests to be done later...
+
+2007-02-19 [am, early pm] Gavin Salam <salam@lpthe.jussieu.fr>
+
+ * src/vicinity.h|cpp:
+ introduced the Cvicinity_inclusion class to allow one to carry
+ out checks both on the inclusion in the cone and in its
+ "cocircular" border. Made corresponding changes elsewhere.
+
+ * src/protocones.h|cpp:
+ wrote new_cocircular_check() and ran a certain number of tests
+ on it; currently it is this one that is being called from
+ update_cone(), but it still uses the original 2^p routine for
+ actually checking the cone status.
+
+ * src/[elsewhere]
+ added a lot of (now commented) debugging statements to help fix
+ bugs in the new_cocircular_check().
+
+2007-02-18 [pm - later] Gavin Salam <salam@lpthe.jussieu.fr>
+
+ * src/circulator.h: *** ADDED ***
+ class for a circulator, used below.
+
+ * src/protocones.(h|cpp):
+ wrote prepare_cocircular_lists(), and checked that it's working
+ sensibly on some simple test events; also added code for
+ esetablishing the largest cocircular range among the children of
+ the current parent (should be used later to establish a more
+ reliable in/out status).
+
+ NB: the call to this function has added another 1-2% slowdown,
+ and we're now about 3-4% slower than before starting this
+ morning. But this should be the last of the changes that adds
+ significant extra time use?
+
+ * src/vicinity.(h|cpp):
+ support code for the protocones modification
+
+2007-02-18 [pm] Gavin Salam <salam@lpthe.jussieu.fr>
+
+ * src/defines.h:
+ changed default EPSILON values to reflect what will be needed
+ with the new approach.
+
+ * src/vicinity.cpp:
+ carried out the calculation of cocircular_range inside the
+ append_to_vicinity member function; the extra
+ calculations/storage etc lead to a 2-3% slow-down for the
+ standard fastjet (354 particle) test event with R=1.
+
+ * src/momentum.h:
+ added a small 2-vector class, needed as a shorthand in
+ vicinity.cpp, plus various small utility routines.
+
+ * src/vicinity.h:
+ introduced cocircular_range and cocircular (list) as members of
+ Cvicinity_elm
+
+ * src/momentum.h:
+ introduced phi_in_range, dphi and abs_dphi inline functions.
+
+2007-02-18 [am] Gavin Salam <salam@lpthe.jussieu.fr>
+
+ * src/vicinity.cpp (include):
+ switched to twopi from defines.h instead of the pi2 class member
+
+ * src/siscone_error.(cpp|h): *** ADDED ***
+ this is a simple class for throwing errors.
+
+ * src/protocones.cpp:
+ caused test_cone cocircular to throw errors when it receives
+ more than 32 points
+
+ carried out replacement client -> candidate
+
+ * src/defines.h:
+ introduced definition of twopi, which is used in many place (only
+ some usage instances have been replaced for now).
+
+
+2007-02-16 Gregory Soyez <g.soyez@ulg.ac.be>
+
+ * src/defines.h: consider the limit on cocircularity and
+ collinearity as different ones. This introduces the
+ EPSILON_COCIRCULAR definition.
+
+ * src/protocones.cpp (siscone):
+ 1. the list of cocircular situations already encountered is
+ maintained with a pair of references (the cone contents and
+ its border) instead of its coordinates.
+ 2. we have improved the recomputation of the cone contents by
+ dynamically tracking he particles inside of the cone. This
+ adds a list of included particles in Cvicinity as well as a
+ pointer to elements of that list in vicinity elements.
+
+2007-02-15 Gregory Soyez <g.soyez@ulg.ac.be>
+
+ * src/protocones.cpp: Code has been restructured to clearly
+ separate the cocircular case
+
+ * dealt woth cocircularity and 2\pi periodicity and added
+ an inline fction
+
+2007-02-14 Gregory Soyez <g.soyez@ulg.ac.be>
+
+ * src/reference.cpp (siscone): ensures that the reference is not
+ zero
+
+ * src/protocones.cpp (siscone): Fix a bug with the interference
+ between the recomputation of jets and the update of cocircular
+ points
+
+ * src/protocones.cpp (siscone): add tests for recomputation of the
+ cone content for the case of cocircular points
+
+ * src/protocones.cpp (siscone): when testing the threshold for
+ recomputation of te cone content, we add a test putting
+ automatically the cone to 0 when it is empty.
+
+2007-02-13 Gregory Soyez <g.soyez@ulg.ac.be>
+
+ * We add a test of cocircularity: when more the p>2 particles are
+ found on the same circle, we branch to a different test of cone
+ stability. This new part of the algorithm tests all possible
+ inclusions/exclusions of the particles along the circle in a
+ 2^p-type algorithm. Note that findling large values of p is
+ highly improbable !
+
+2007-02-12 Gregory Soyez <g.soyez@ulg.ac.be>
+
+ * when traversing the centre list (in stable cones search), we
+ start with the centre which is the most separated from its
+ neighbours. This allows to minimize the possibility that we
+ miscomputed the computation of the initial cone content due to
+ possible rounding errors when two centres are too close.
+
+2007-02-12 Gregory Soyez <g.soyez@ulg.ac.be>
+
+ * in collinear merging, take care of the periodicity in phi
+
+ * put the threshold for collinear merging in defines.h
+ (EPSILON_COLLINEAR)
+
+2007-02-12 Gregory Soyez <g.soyez@ulg.ac.be>
+
+ * undo the previous modification and use another approach to deal
+ with collinear particles: we keep the p_remain list as it was
+ before (see revision 84). Instead, after computing p_remain, we
+ compute p_uncol which is obtained from p_remain by merging
+ collinear particles. In the siscone main loop, we then use
+ p_uncol instead of p_remain for the search for stable
+ cones. Note that with this modification, the 'parent_index'
+ field of Cmomentum is back to its original definition as a
+ 'int'.
+
+2007-02-12 Gregory Soyez <g.soyez@ulg.ac.be>
+
+ * remove initialisation of parent_index in momentum.cpp and
+ vicinity.cpp This is allowed because of the Npass loop in
+ siscone. Indeed, parent_index is only used internally in
+ split_merge and init at the very beginning of the loop by a call
+ to init_pleft
+
+ * replaced "int parent_index" by "vector<int> parent_index" and
+ align the code in split_merge.cpp
+
+ * add a few lines off code in split_merge.cpp to account for
+ collinear particles.
+
+ * Note concerning the previous update: the change has been
+ validated and is no longer considered as temporary
+
+2007-02-12 Gregory Soyez <g.soyez@ulg.ac.be>
+
+ * Changed the test for recomputation of cone content in Cstable_cones
+ see defines.h for details
+ (this change may be temporary)
+
+2007-02-10 Gregory Soyez <g.soyez@ulg.ac.be>
+
+ * fixed doxygen documentation issues:
+ - undocumented or renamed parameters
+ - include various links into a custom html footer
+
+2007-01-25 Gregory Soyez <g.soyez@ulg.ac.be>
+
+ * fixed memory leak for Cvicinity::ve_list
+ in Cvicinity::set_particle_list()
+
+2007-01-23 Gavin SALAM <salam@lpthe.jussieu.fr>
+
+ * added _ptmin argument to Csiscone::recompute_jets(...)
+
+2007-01-22 Gregory Soyez <g.soyez@ulg.ac.be>
+
+ * add ptmin threshold on protojets during split-merge
+ * modify example program to allow for the --ptmin option
+
+2007-01-20 Gregory Soyez <g.soyez@ulg.ac.be>
+
+ * fix typo mistake in split_merge.cpp
+
+2007-01-18 Gregory Soyez <g.soyez@ulg.ac.be>
+
+ * insert a header on top of each source files to give brief information
+ about its content, the SISCone project and copyright
+
+2007-01-03 Gregory Soyez <g.soyez@ulg.ac.be>
+
+ * remove the usage of the quadtree in stable cones detection.
+ Usage of the quadtree in vicinity list creation and final stability
+ tests can be switched on buy defining USE_QUADTREE in defines.h.
+ This step was not fully achieved in the last update.
+
+2006-12-28 Gregory Soyez <g.soyez@ulg.ac.be>
+
+ * remove the usage of the quadtree in stable cones detection.
+ Usage of the quadtree in vicinity list creation and final stability
+ tests can be switched on by defining USE_QUADTREE in defines.h
+
+2006-12-28 Gavin Salam <salam@lpthe.jussieu.fr>
+
+ * commented out various "template std::vector<...>" lines to solve
+ compilation problem on Macs.
+
+ * modified the make depend targets so that they do not include
+ "standard" include files (which differ from one system to
+ another).
+
+ * fixed log(_Np) bug pointed out by Matteo; fixed program name in
+ defines.h
+
+2006-12-28 Gregory Soyez <g.soyez@ulg.ac.be>
+
+ * replace variables with name being "underscore" followed by
+ a single letter by longer names since they lead to compilation
+ problems under Mac. In practice, we renamed _N with _Np in hash.cpp/h
+ and _R by _radius in protocones.cpp/h and siscone.cpp/h
+
+2006-12-27 Gregory Soyez <g.soyez@ulg.ac.be>
+
+ * arranged for "make dist" to create a file with the same version
+ name in the directory and the tar file; made the tar-file
+ read-only (to avoid involuntarily overwrite); removed svn file
+ from the examples/events subdirectory.
+
+2006-12-26 Gregory Soyez <g.soyez@ulg.ac.be>
+
+ * updated the 'dist' target in the Makefile: include mem_check
+ with the correct path and build archive so that it unpacks into
+ a siscone-1.0-beta directory
+
+ * fix typos in INSTALL
+
+2006-12-26 Gavin Salam <salam@lpthe.jussieu.fr>
+
+ * Changed banner so that first char is # (to allow the rest of the
+ line to be considered a comment by things like gnuplot).
+
+ * moved scones -> siscone (and sorted out various "ignores")
+
+ * Reordered changelog so that later stuff appears first (I think
+ this is standard? Makes it easier to see what's been happening
+ recently...)
+
+ * Tidying up: moved jets.gri and mem_check into the examples
+ directory; added -f to "rm" command in make clean to avoid
+ errors; modified siscones->siscone in a couple of places in
+ doc.
+
+ * Brought the README and INSTALL files up to date
+
+ * set some svn:ignore property so as to ignore .dat files (to
+ reduce "noise" with svn status).
+
+ * added #!/bin/bash to head of examples/mem_check
+
+2006-12-22 Gregory Soyez <g.soyez@ulg.ac.be>
+
+ * rename scones namespace into siscone
+
+ * put ranlux stuff into the namespace (we don't want to
+ pollute the gobal namespace
+
+ * add doc/devel as directory for developer's documentation
+ (using Doxygen)
+
+ * scones.h/cpp is renamed siscone.h/cpp
+
+ * creation of an 'examples' directory for various programs
+ only the library libsiscone.a is left in the src dir
+ Malefiles are modified accordingly
+
+
+2006-12-21 Gavin Salam <salam@lpthe.jussieu.fr>
+
+ * added the MERGE_IDENTICAL_PROTOCONES_DEFAULT_TRUE define to
+ allow one to make MERGE_IDENTICAL_PROTOCONES to be set true by
+ default if need be. (This makes it a bit easier to make a quick
+ modification to run a test).
+
+ * changed some of the related comments
+
+ * replaced occurrences of "extensive" with "multipass"
+
+ * Added the ChangeLog file!
+
+
+2006-12-21 START OF CHANGELOG
+
Index: tags/siscone-3.0.2/README
===================================================================
--- tags/siscone-3.0.2/README (revision 0)
+++ tags/siscone-3.0.2/README (revision 398)
@@ -0,0 +1,5 @@
+See html docmentation in doc/html or developer's doxygen documentation
+in doc/devel/html (you may need to run doxygen for the latter to be
+present).
+
+For installation instructions see the INSTALL file.
Index: tags/siscone-3.0.2/BUGS
===================================================================
--- tags/siscone-3.0.2/BUGS (revision 0)
+++ tags/siscone-3.0.2/BUGS (revision 398)
@@ -0,0 +1,3 @@
+//!\file BUGS
+//!\bug No critical bugs are known at present time.
+//!\bug Please send bug reports to gsoyez@quark.phy.bnl.gov or salam@lpthe.jussieu.fr
Index: tags/siscone-3.0.2/config.h.in
===================================================================
--- tags/siscone-3.0.2/config.h.in (revision 0)
+++ tags/siscone-3.0.2/config.h.in (revision 398)
@@ -0,0 +1,65 @@
+/* config.h.in. Generated from configure.ac by autoheader. */
+
+/* Define to 1 if you have the <dlfcn.h> header file. */
+#undef HAVE_DLFCN_H
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#undef HAVE_INTTYPES_H
+
+/* Define to 1 if you have the `m' library (-lm). */
+#undef HAVE_LIBM
+
+/* Define to 1 if you have the <memory.h> header file. */
+#undef HAVE_MEMORY_H
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#undef HAVE_STDINT_H
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#undef HAVE_STDLIB_H
+
+/* Define to 1 if you have the <strings.h> header file. */
+#undef HAVE_STRINGS_H
+
+/* Define to 1 if you have the <string.h> header file. */
+#undef HAVE_STRING_H
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#undef HAVE_SYS_STAT_H
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#undef HAVE_SYS_TYPES_H
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#undef HAVE_UNISTD_H
+
+/* Define to the sub-directory in which libtool stores uninstalled libraries.
+ */
+#undef LT_OBJDIR
+
+/* Name of package */
+#undef PACKAGE
+
+/* Define to the address where bug reports for this package should be sent. */
+#undef PACKAGE_BUGREPORT
+
+/* Define to the full name of this package. */
+#undef PACKAGE_NAME
+
+/* Define to the full name and version of this package. */
+#undef PACKAGE_STRING
+
+/* Define to the one symbol short name of this package. */
+#undef PACKAGE_TARNAME
+
+/* Define to the home page for this package. */
+#undef PACKAGE_URL
+
+/* Define to the version of this package. */
+#undef PACKAGE_VERSION
+
+/* Define to 1 if you have the ANSI C header files. */
+#undef STDC_HEADERS
+
+/* Version number of package */
+#undef VERSION
Index: tags/siscone-3.0.2/siscone/hash.h
===================================================================
--- tags/siscone-3.0.2/siscone/hash.h (revision 0)
+++ tags/siscone-3.0.2/siscone/hash.h (revision 398)
@@ -0,0 +1,122 @@
+// -*- C++ -*-
+///////////////////////////////////////////////////////////////////////////////
+// File: hash.h //
+// Description: header file for classes hash_element and hash_cones //
+// This file is part of the SISCone project. //
+// For more details, see http://projects.hepforge.org/siscone //
+// //
+// Copyright (c) 2006 Gavin Salam and Gregory Soyez //
+// //
+// This program is free software; you can redistribute it and/or modify //
+// it under the terms of the GNU General Public License as published by //
+// the Free Software Foundation; either version 2 of the License, or //
+// (at your option) any later version. //
+// //
+// This program is distributed in the hope that it will be useful, //
+// but WITHOUT ANY WARRANTY; without even the implied warranty of //
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
+// GNU General Public License for more details. //
+// //
+// You should have received a copy of the GNU General Public License //
+// along with this program; if not, write to the Free Software //
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
+// //
+// $Revision:: $//
+// $Date:: $//
+///////////////////////////////////////////////////////////////////////////////
+
+#ifndef __HASH_H__
+#define __HASH_H__
+
+#include "momentum.h"
+#include "reference.h"
+
+namespace siscone{
+
+/**
+ * \class hash_element
+ * information on store cones candidates.
+ *
+ * We store in this class the information used to count all
+ * protocones in a first pass. This first pass only count
+ * cones with different references and test their stbility
+ * with the parent-child particles (border particles).
+ */
+class hash_element{
+ public:
+ Creference ref; ///< reference
+ double eta; ///< centre: eta coordinate
+ double phi; ///< centre: phi coordinate
+ bool is_stable; ///< true if stable w.r.t. "border particles"
+
+ hash_element *next; ///< pointer to the next element
+};
+
+/**
+ * \class hash_cones
+ * list of cones candidates.
+ *
+ * We store in this class all the hash_elements and give
+ * functions to manipulate them.
+ */
+class hash_cones{
+ public:
+ /// constructor with initialisation
+ /// \param _Np number of particles
+ /// \param _R2 cone radius (squared)
+ hash_cones(int _Np, double _R2);
+
+ /// destructor
+ ~hash_cones();
+
+ /**
+ * insert a new candidate into the hash.
+ * \param v 4-momentum of te cone to add
+ * \param parent parent particle defining the cone
+ * \param child child particle defining the cone
+ * \param p_io whether the parent has to belong to the cone or not
+ * \param c_io whether the child has to belong to the cone or not
+ * \return 0 on success, 1 on error
+ */
+ int insert(Cmomentum *v, Cmomentum *parent, Cmomentum *child, bool p_io, bool c_io);
+
+ /**
+ * insert a new candidate into the hash.
+ * \param v 4-momentum of te cone to add
+ * Note, in this case, we assume stability. We also assume
+ * that eta and phi are computed for v
+ * \return 0 on success, 1 on error
+ */
+ int insert(Cmomentum *v);
+
+ /// the cone data itself
+ hash_element **hash_array;
+
+ /// number of elements
+ int n_cones;
+
+ /// number of occupied cells
+#ifdef DEBUG_STABLE_CONES
+ int n_occupied_cells;
+#endif
+
+ /// number of cells-1
+ int mask;
+
+ /// circle radius (squared)
+ /// NOTE: need to be set before any call to 'insert'
+ double R2;
+
+ /**
+ * test if a particle is inside a cone of given centre.
+ * check if the particle of coordinates 'v' is inside the circle of radius R
+ * centered at 'centre'.
+ * \param centre centre of the circle
+ * \param v particle to test
+ * \return true if inside, false if outside
+ */
+ inline bool is_inside(Cmomentum *centre, Cmomentum *v);
+};
+
+}
+#endif
Property changes on: tags/siscone-3.0.2/siscone/hash.h
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Date Rev
\ No newline at end of property
Index: tags/siscone-3.0.2/siscone/Makefile.am
===================================================================
--- tags/siscone-3.0.2/siscone/Makefile.am (revision 0)
+++ tags/siscone-3.0.2/siscone/Makefile.am (revision 398)
@@ -0,0 +1,31 @@
+SUBDIRS = . spherical
+
+# build information for the SISCone library
+# this is built as a libtool lib.
+lib_LTLIBRARIES = libsiscone.la
+libsiscone_la_SOURCES = ranlux.cpp reference.cpp geom_2d.cpp\
+ momentum.cpp hash.cpp quadtree.cpp vicinity.cpp\
+ protocones.cpp split_merge.cpp siscone.cpp\
+ siscone_error.cpp area.cpp
+
+EXTRA_DIST = makefile.static
+
+# install the SISCone headers
+sisconeincludedir = $(includedir)/siscone
+sisconeinclude_HEADERS = area.h\
+ circulator.h\
+ defines.h\
+ geom_2d.h\
+ hash.h\
+ momentum.h\
+ protocones.h\
+ quadtree.h\
+ ranlux.h\
+ reference.h\
+ siscone_error.h\
+ siscone.h\
+ split_merge.h\
+ vicinity.h
+
+# Don't distribute config.h. Note that it'll be accessible through -I.
+nodist_noinst_HEADERS = config.h
Index: tags/siscone-3.0.2/siscone/spherical/geom_2d.h
===================================================================
--- tags/siscone-3.0.2/siscone/spherical/geom_2d.h (revision 0)
+++ tags/siscone-3.0.2/siscone/spherical/geom_2d.h (revision 398)
@@ -0,0 +1,112 @@
+// -*- C++ -*-
+///////////////////////////////////////////////////////////////////////////////
+// File: geom_2d.h //
+// Description: header file for two-dimensional geometry tools //
+// This file is part of the SISCone project. //
+// WARNING: this is not the main SISCone trunk but //
+// an adaptation to spherical coordinates //
+// For more details, see http://projects.hepforge.org/siscone //
+// //
+// Copyright (c) 2006-2008 Gavin Salam and Gregory Soyez //
+// //
+// This program is free software; you can redistribute it and/or modify //
+// it under the terms of the GNU General Public License as published by //
+// the Free Software Foundation; either version 2 of the License, or //
+// (at your option) any later version. //
+// //
+// This program is distributed in the hope that it will be useful, //
+// but WITHOUT ANY WARRANTY; without even the implied warranty of //
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
+// GNU General Public License for more details. //
+// //
+// You should have received a copy of the GNU General Public License //
+// along with this program; if not, write to the Free Software //
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
+// //
+// $Revision:: $//
+// $Date:: $//
+///////////////////////////////////////////////////////////////////////////////
+
+#ifndef __SPH_GEOM_2D_H__
+#define __SPH_GEOM_2D_H__
+
+#include <iostream>
+#include <math.h>
+#include <siscone/defines.h>
+#include <siscone/geom_2d.h>
+
+#ifndef M_PI
+#define M_PI 3.141592653589793238462643383279502884197
+#endif
+
+namespace siscone_spherical{
+
+/**
+ * \class CSphtheta_phi_range
+ * \brief class for holding a covering range in eta-phi
+ *
+ * This class deals with ranges in the eta-phi plane. It
+ * implements methods to test if two ranges overlap and
+ * to take the union of two overlapping intervals.
+ */
+class CSphtheta_phi_range{
+public:
+ /// default ctor
+ CSphtheta_phi_range();
+
+ /// ctor with initialisation
+ /// we initialise with a centre (in theta,phi) and a radius
+ /// \param c_theta theta coordinate of the centre
+ /// \param c_phi phi coordinate of the centre
+ /// \param R radius
+ CSphtheta_phi_range(double c_theta, double c_phi, double R);
+
+ /// assignment of range
+ /// \param r range to assign to current one
+ CSphtheta_phi_range& operator = (const CSphtheta_phi_range &r);
+
+ /// add a particle to the range
+ /// \param theta theta coordinate of the particle
+ /// \param phi phi coordinate of the particle
+ /// \return 0 on success, 1 on error
+ int add_particle(const double theta, const double phi);
+
+ /// theta range as a binary coding of covered cells
+ unsigned int theta_range;
+
+ /// phi range as a binary coding of covered cells
+ unsigned int phi_range;
+
+ /// extremal value for theta
+ static double theta_min; ///< minimal value for theta (set to 0)
+ static double theta_max; ///< maximal value for theta (set to pi)
+
+private:
+ /// return the cell index corrsponding to a theta value
+ inline unsigned int get_theta_cell(double theta){
+ if (theta>=theta_max) return 1<<31;
+ return (unsigned int) (1 << ((int) (32*((theta-theta_min)/(theta_max-theta_min)))));
+ }
+
+ /// return the cell index corrsponding to a phi value
+ inline unsigned int get_phi_cell(double phi){
+ return (unsigned int) (1 << ((int) (32*phi/twopi+16)%32));
+ }
+};
+
+/// test overlap
+/// \param r1 first range
+/// \param r2 second range
+/// \return true if overlap, false otherwise.
+bool is_range_overlap(const CSphtheta_phi_range &r1, const CSphtheta_phi_range &r2);
+
+/// compute union
+/// Note: we assume that the two intervals overlap
+/// \param r1 first range
+/// \param r2 second range
+/// \return union of the two ranges
+const CSphtheta_phi_range range_union(const CSphtheta_phi_range &r1, const CSphtheta_phi_range &r2);
+
+}
+
+#endif
Property changes on: tags/siscone-3.0.2/siscone/spherical/geom_2d.h
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Date Revision
\ No newline at end of property
Index: tags/siscone-3.0.2/siscone/spherical/makefile.static
===================================================================
--- tags/siscone-3.0.2/siscone/spherical/makefile.static (revision 0)
+++ tags/siscone-3.0.2/siscone/spherical/makefile.static (revision 398)
@@ -0,0 +1,64 @@
+CC = g++
+LIBOUT = libsiscone_spherical.a
+CFLAGS = -Wall -g -O3 -ffast-math -I../..
+
+LDFLAGS = -lm #-lprofiler -lpthread -ltcmalloc
+ifeq ($(shell whoami),salam)
+ # needed for Gavin to include tcmalloc
+ LDFLAGS += -L/ada1/lpthe/salam/software/local/lib
+endif
+
+OBJS = geom_2d.o momentum.o hash.o\
+ vicinity.o protocones.o split_merge.o siscone.o
+
+SRCS = $(patsubst %.o,%.cpp,$(OBJS))
+
+
+%.o: %.cpp %.h
+ $(CC) -c $(CFLAGS) $<
+
+%.o: %.cpp
+ $(CC) -c $(CFLAGS) $<
+
+all: $(OBJS)
+ ar cru $(LIBOUT) $(OBJS)
+ ranlib $(LIBOUT)
+
+.PHONY: clean
+
+clean:
+ rm -f *.o *~
+
+
+# note the -Y option below avoids including all the standard
+# include directories (which change from one system to another)
+depend:
+ makedepend -I../.. -f makefile.static -- -Y -- $(SRCS)
+# DO NOT DELETE
+
+geom_2d.o: geom_2d.h ../../siscone/defines.h ../../siscone/geom_2d.h
+geom_2d.o: ../../siscone/defines.h
+momentum.o: momentum.h ../../siscone/reference.h geom_2d.h
+momentum.o: ../../siscone/defines.h ../../siscone/geom_2d.h
+momentum.o: ../../siscone/defines.h
+hash.o: hash.h momentum.h ../../siscone/reference.h geom_2d.h
+hash.o: ../../siscone/defines.h ../../siscone/geom_2d.h
+hash.o: ../../siscone/defines.h
+vicinity.o: vicinity.h ../../siscone/vicinity.h momentum.h
+vicinity.o: ../../siscone/reference.h geom_2d.h ../../siscone/defines.h
+vicinity.o: ../../siscone/geom_2d.h ../../siscone/defines.h
+vicinity.o: ../../siscone/quadtree.h
+protocones.o: ../../siscone/defines.h ../../siscone/siscone_error.h
+protocones.o: ../../siscone/circulator.h protocones.h momentum.h
+protocones.o: ../../siscone/reference.h geom_2d.h ../../siscone/geom_2d.h
+protocones.o: ../../siscone/defines.h vicinity.h ../../siscone/vicinity.h
+protocones.o: ../../siscone/quadtree.h hash.h
+split_merge.o: ../../siscone/siscone_error.h split_merge.h
+split_merge.o: ../../siscone/defines.h geom_2d.h ../../siscone/geom_2d.h
+split_merge.o: ../../siscone/defines.h momentum.h ../../siscone/reference.h
+siscone.o: ../../siscone/config.h ../../siscone/ranlux.h
+siscone.o: ../../siscone/siscone_error.h ../../siscone/defines.h momentum.h
+siscone.o: ../../siscone/reference.h geom_2d.h ../../siscone/geom_2d.h
+siscone.o: ../../siscone/defines.h siscone.h protocones.h vicinity.h
+siscone.o: ../../siscone/vicinity.h ../../siscone/quadtree.h hash.h
+siscone.o: split_merge.h
Index: tags/siscone-3.0.2/siscone/spherical/hash.cpp
===================================================================
--- tags/siscone-3.0.2/siscone/spherical/hash.cpp (revision 0)
+++ tags/siscone-3.0.2/siscone/spherical/hash.cpp (revision 398)
@@ -0,0 +1,207 @@
+///////////////////////////////////////////////////////////////////////////////
+// File: hash.cpp //
+// Description: source file for classes sph_hash_element and sph_hash_cones //
+// This file is part of the SISCone project. //
+// WARNING: this is not the main SISCone trunk but //
+// an adaptation to spherical coordinates //
+// For more details, see http://projects.hepforge.org/siscone //
+// //
+// Copyright (c) 2006-2008 Gavin Salam and Gregory Soyez //
+// //
+// This program is free software; you can redistribute it and/or modify //
+// it under the terms of the GNU General Public License as published by //
+// the Free Software Foundation; either version 2 of the License, or //
+// (at your option) any later version. //
+// //
+// This program is distributed in the hope that it will be useful, //
+// but WITHOUT ANY WARRANTY; without even the implied warranty of //
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
+// GNU General Public License for more details. //
+// //
+// You should have received a copy of the GNU General Public License //
+// along with this program; if not, write to the Free Software //
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
+// //
+// $Revision:: $//
+// $Date:: $//
+///////////////////////////////////////////////////////////////////////////////
+
+#include <math.h>
+#include <stdio.h>
+#include "hash.h"
+#include <iostream>
+
+namespace siscone_spherical{
+
+using namespace std;
+
+/**************************************************************
+ * implementation of sph_hash_cones *
+ * list of cones candidates. *
+ * We store in this class all the sph_hash_element and give *
+ * functions to manipulate them. *
+ **************************************************************/
+
+// constructor with initialisation
+// - _Np number of particles
+// - _radius cone radius
+//-----------------------------------
+sph_hash_cones::sph_hash_cones(int _Np, double _radius){
+ int i;
+
+ n_cones = 0;
+#ifdef DEBUG_STABLE_CONES
+ n_occupied_cells = 0;
+#endif
+
+ // determine hash size
+ // for a ymax=5 and R=0.7, we observed an occupancy around 1/8 N^2 ~ N2 R2/4
+ //mask = 1 << (int) (2*log(double(_Np))/log(2.0));
+ //if (mask<=1) mask=2;
+ int nbits = (int) (log(_Np*_radius*_radius*_Np/4.0)/log(2.0));
+ if (nbits<1) nbits=1;
+ mask = 1 << nbits;
+
+ // create hash
+ hash_array = new sph_hash_element*[mask];
+ mask--;
+
+ // set the array to 0
+ //? needed ?
+ for (i=0;i<mask+1;i++)
+ hash_array[i] = NULL;
+
+ tan2R = tan(_radius);
+ tan2R *= tan2R;
+}
+
+// destructor
+//------------
+sph_hash_cones::~sph_hash_cones(){
+ int i;
+ sph_hash_element *elm;
+
+ for (i=0;i<mask+1;i++){
+ while (hash_array[i]!=NULL){
+ elm = hash_array[i];
+ hash_array[i] = hash_array[i]->next;
+ delete elm;
+ }
+ }
+
+ delete[] hash_array;
+}
+
+
+/*
+ * insert a new candidate into the hash.
+ * - v 4-momentum of the cone to add
+ * - parent parent particle defining the cone
+ * - child child particle defining the cone
+ * - p_io whether the parent has to belong to the cone or not
+ * - c_io whether the child has to belong to the cone or not
+ * return 0 on success, 1 on error
+ ***********************************************************************/
+int sph_hash_cones::insert(CSphmomentum *v, CSphmomentum *parent, CSphmomentum *child, bool p_io, bool c_io){
+ sph_hash_element *elm;
+ int index = (v->ref.ref[0]) & mask;
+
+ // check the array cell corresponding to our reference
+ elm = hash_array[index];
+
+#ifdef DEBUG_STABLE_CONES
+ if (elm==NULL)
+ n_occupied_cells++;
+#endif
+
+ do{
+ // if it is not present, add it
+ if (elm==NULL){
+ // create element
+ elm = new sph_hash_element;
+
+ // set its varibles
+ // Note: at this level, eta and phi have already been computed
+ // through CSphmomentum::build_thetaphi.
+ elm->centre = *v;
+
+ // if at least one of the two is_closer tests gives a result != from the expected,
+ // the || will be true hence !(...) false as wanted
+ elm->is_stable = !((is_closer(v, parent, tan2R)^p_io)||(is_closer(v, child, tan2R)^c_io));
+ //cout << "-- new status of " << v->ref[0] << ":" << elm->is_stable << endl;
+
+ // update hash
+ elm->next = hash_array[index];
+ hash_array[index] = elm;
+
+ n_cones++;
+ return 0;
+ }
+
+ // if the cone is already there, simply update stability status
+ if (v->ref == elm->centre.ref){
+ // there is only an update to perform to see if the cone is still stable
+ if (elm->is_stable){
+ elm->is_stable = !((is_closer(v, parent, tan2R)^p_io)||(is_closer(v, child, tan2R)^c_io));
+ //cout << " parent/child: "
+ // << parent->ref[0] << ":" << is_closer(v, parent) << ":" << p_io << " "
+ // << child->ref[0] << ":" << is_closer(v, child) << ":" << c_io << endl;
+ //cout << "-- rep status of " << v->ref[0] << ":" << elm->is_stable << endl;
+ //cout << v->eta << " " << v->phi << endl;
+ //cout << (child->eta) << " " << child->phi << endl;
+ }
+ return 0;
+ }
+
+ elm = elm->next;
+ } while (1);
+
+ return 1;
+}
+
+/*
+ * insert a new candidate into the hash.
+ * - v 4-momentum of te cone to add
+ * Note, in this case, we assume stability. We also assume
+ * that eta and phi are computed for v
+ * return 0 on success, 1 on error
+ ***********************************************************************/
+int sph_hash_cones::insert(CSphmomentum *v){
+ sph_hash_element *elm;
+ int index = (v->ref.ref[0]) & mask;
+ //cout << "-- stable candidate: " << v->ref[0] << ":" << endl;
+
+ // check the array cell corresponding to our reference
+ elm = hash_array[index];
+ do{
+ // if it is not present, add it
+ if (elm==NULL){
+ // create element
+ elm = new sph_hash_element;
+
+ // set its varibles
+ // Note: at this level, eta and phi have already been computed
+ // through CSphmomentum::build_thetaphi.
+ elm->centre = *v;
+ elm->is_stable = true;
+
+ // update hash
+ elm->next = hash_array[index];
+ hash_array[index] = elm;
+
+ n_cones++;
+ return 0;
+ }
+
+ // if the cone is already there, we have nothing to do
+ if (v->ref == elm->centre.ref){
+ return 0;
+ }
+
+ elm = elm->next;
+ } while (1);
+
+ return 1;
+}
+
+}
Property changes on: tags/siscone-3.0.2/siscone/spherical/hash.cpp
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Date Rev
\ No newline at end of property
Index: tags/siscone-3.0.2/siscone/spherical/Makefile.am
===================================================================
--- tags/siscone-3.0.2/siscone/spherical/Makefile.am (revision 0)
+++ tags/siscone-3.0.2/siscone/spherical/Makefile.am (revision 398)
@@ -0,0 +1,24 @@
+# build information for the SISCone library
+# this is built as a libtool lib.
+lib_LTLIBRARIES = libsiscone_spherical.la
+
+# On top of the configured flags, we need to access the the
+# top dir for includes of the form <siscone/*.h> to work
+# Note that we use "siscone/..." for clarity.
+# Then we need to access the config.h file which is one step away
+# since we use <siscone/config.h> (for consistency), this means ../..
+libsiscone_spherical_la_CXXFLAGS = $(AM_CXXFLAGS) -I$(srcdir)/../.. -I../..
+libsiscone_spherical_la_SOURCES = geom_2d.cpp momentum.cpp hash.cpp\
+ vicinity.cpp protocones.cpp split_merge.cpp siscone.cpp
+
+EXTRA_DIST = makefile.static
+
+# install the SISCone headers
+sisconeincludedir = $(includedir)/siscone/spherical
+sisconeinclude_HEADERS = geom_2d.h\
+ hash.h\
+ momentum.h\
+ protocones.h\
+ siscone.h\
+ split_merge.h\
+ vicinity.h
Index: tags/siscone-3.0.2/siscone/spherical/hash.h
===================================================================
--- tags/siscone-3.0.2/siscone/spherical/hash.h (revision 0)
+++ tags/siscone-3.0.2/siscone/spherical/hash.h (revision 398)
@@ -0,0 +1,113 @@
+// -*- C++ -*-
+///////////////////////////////////////////////////////////////////////////////
+// File: hash.h //
+// Description: header file for classes hash_element and hash_cones //
+// This file is part of the SISCone project. //
+// WARNING: this is not the main SISCone trunk but //
+// an adaptation to spherical coordinates //
+// For more details, see http://projects.hepforge.org/siscone //
+// //
+// Copyright (c) 2006-2008 Gavin Salam and Gregory Soyez //
+// //
+// This program is free software; you can redistribute it and/or modify //
+// it under the terms of the GNU General Public License as published by //
+// the Free Software Foundation; either version 2 of the License, or //
+// (at your option) any later version. //
+// //
+// This program is distributed in the hope that it will be useful, //
+// but WITHOUT ANY WARRANTY; without even the implied warranty of //
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
+// GNU General Public License for more details. //
+// //
+// You should have received a copy of the GNU General Public License //
+// along with this program; if not, write to the Free Software //
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
+// //
+// $Revision:: $//
+// $Date:: $//
+///////////////////////////////////////////////////////////////////////////////
+
+#ifndef __SPH_HASH_H__
+#define __SPH_HASH_H__
+
+#include "momentum.h"
+
+namespace siscone_spherical{
+
+/**
+ * \class sph_hash_element
+ * information on store cones candidates.
+ *
+ * We store in this class the information used to count all
+ * protocones in a first pass. This first pass only count
+ * cones with different references and test their stbility
+ * with the parent-child particles (border particles).
+ */
+class sph_hash_element{
+ public:
+ CSph3vector centre; ///< centre of the cone
+ bool is_stable; ///< true if stable w.r.t. "border particles"
+
+ sph_hash_element *next; ///< pointer to the next element
+};
+
+/**
+ * \class sph_hash_cones
+ * list of cones candidates.
+ *
+ * We store in this class all the hash_elements and give
+ * functions to manipulate them.
+ */
+class sph_hash_cones{
+ public:
+ /// \param _Np number of particles
+ /// \param _radius cone radius
+ sph_hash_cones(int _Np, double _radius);
+
+ /// destructor
+ ~sph_hash_cones();
+
+ /**
+ * insert a new candidate into the hash.
+ * \param v 4-momentum of te cone to add
+ * \param parent parent particle defining the cone
+ * \param child child particle defining the cone
+ * \param p_io whether the parent has to belong to the cone or not
+ * \param c_io whether the child has to belong to the cone or not
+ * \return 0 on success, 1 on error
+ */
+ int insert(CSphmomentum *v, CSphmomentum *parent, CSphmomentum *child, bool p_io, bool c_io);
+
+ /**
+ * insert a new candidate into the hash.
+ * \param v 4-momentum of te cone to add
+ * Note, in this case, we assume stability. We also assume
+ * that eta and phi are computed for v
+ * \return 0 on success, 1 on error
+ */
+ int insert(CSphmomentum *v);
+
+ /// the cone data itself
+ sph_hash_element **hash_array;
+
+ /// number of elements
+ int n_cones;
+
+ /// number of occupied cells
+#ifdef DEBUG_STABLE_CONES
+ int n_occupied_cells;
+#endif
+
+ /// number of cells-1
+ int mask;
+
+ /// circle radius (squared)
+ /// NOTE: need to be set before any call to 'insert'
+ double R2;
+
+ /// its squreed tangent
+ double tan2R;
+};
+
+}
+#endif
Property changes on: tags/siscone-3.0.2/siscone/spherical/hash.h
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Date Rev
\ No newline at end of property
Index: tags/siscone-3.0.2/siscone/spherical/protocones.cpp
===================================================================
--- tags/siscone-3.0.2/siscone/spherical/protocones.cpp (revision 0)
+++ tags/siscone-3.0.2/siscone/spherical/protocones.cpp (revision 398)
@@ -0,0 +1,862 @@
+///////////////////////////////////////////////////////////////////////////////
+// File: protocones.cpp //
+// Description: source file for stable cones determination (Cstable_cones) //
+// This file is part of the SISCone project. //
+// WARNING: this is not the main SISCone trunk but //
+// an adaptation to spherical coordinates //
+// For more details, see http://projects.hepforge.org/siscone //
+// //
+// Copyright (c) 2006-2008 Gavin Salam and Gregory Soyez //
+// //
+// This program is free software; you can redistribute it and/or modify //
+// it under the terms of the GNU General Public License as published by //
+// the Free Software Foundation; either version 2 of the License, or //
+// (at your option) any later version. //
+// //
+// This program is distributed in the hope that it will be useful, //
+// but WITHOUT ANY WARRANTY; without even the implied warranty of //
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
+// GNU General Public License for more details. //
+// //
+// You should have received a copy of the GNU General Public License //
+// along with this program; if not, write to the Free Software //
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
+// //
+// $Revision:: $//
+// $Date:: $//
+///////////////////////////////////////////////////////////////////////////////
+
+/*******************************************************
+ * Introductory note: *
+ * Since this file has many member functions, we have *
+ * structured them in categories: *
+ * INITIALISATION FUNCTIONS *
+ * - ctor() *
+ * - ctor(particle_list) *
+ * - dtor() *
+ * - init(particle_list) *
+ * ALGORITHM MAIN ENTRY *
+ * - get_stable_cone(radius) *
+ * ALGORITHM MAIN STEPS *
+ * - init_cone() *
+ * - test_cone() *
+ * - update_cone() *
+ * - proceed_with_stability() *
+ * ALGORITHM MAIN STEPS FOR COCIRCULAR SITUATIONS *
+ * - cocircular_pt_less(v1, v2) *
+ * - prepare_cocircular_list() *
+ * - test_cone_cocircular() *
+ * - test_stability(candidate, border_list) *
+ * - updat_cone_cocircular() *
+ * RECOMPUTATION OF CONE CONTENTS *
+ * - compute_cone_contents() *
+ * - recompute_cone_contents() *
+ * - recompute_cone_contents_if_needed() *
+ * VARIOUS TOOLS *
+ * - circle_intersect() *
+ * - is_inside() *
+ * - abs_dangle() *
+ *******************************************************/
+
+#include <siscone/defines.h>
+#include <siscone/siscone_error.h>
+#include <siscone/circulator.h>
+#include "protocones.h"
+#include <math.h>
+#include <iostream>
+#include <algorithm>
+
+namespace siscone_spherical{
+
+using namespace std;
+
+/**********************************************************************
+ * CSphstable_cones implementation *
+ * Computes the list of stable comes from a particle list. *
+ * This class does the first fundamental task of te cone algorithm: *
+ * it is used to compute the list of stable cones given a list *
+ * of particles. *
+ **********************************************************************/
+
+////////////////////////////////////////////////////////
+// INITIALISATION FUNCTIONS //
+// - ctor() //
+// - ctor(particle_list) //
+// - dtor() //
+// - init(particle_list) //
+////////////////////////////////////////////////////////
+
+// default ctor
+//--------------
+CSphstable_cones::CSphstable_cones(){
+ nb_tot = 0;
+ hc = NULL;
+}
+
+// ctor with initialisation
+//--------------------------
+CSphstable_cones::CSphstable_cones(vector<CSphmomentum> &_particle_list)
+ : CSphvicinity(_particle_list){
+
+ nb_tot = 0;
+ hc = NULL;
+}
+
+// default dtor
+//--------------
+CSphstable_cones::~CSphstable_cones(){
+ if (hc!=NULL) delete hc;
+}
+
+/*
+ * initialisation
+ * - _particle_list list of particles
+ * - _n number of particles
+ *********************************************************************/
+void CSphstable_cones::init(vector<CSphmomentum> &_particle_list){
+ // check already allocated mem
+ if (hc!=NULL){
+ delete hc;
+ }
+ if (protocones.size()!=0)
+ protocones.clear();
+
+ multiple_centre_done.clear();
+
+ // initialisation
+ set_particle_list(_particle_list);
+}
+
+
+////////////////////////////////////////////////////////
+// ALGORITHM MAIN ENTRY //
+// - get_stable_cone(radius) //
+////////////////////////////////////////////////////////
+
+/*
+ * compute stable cones.
+ * This function really does the job i.e. computes
+ * the list of stable cones (in a seedless way)
+ * - _radius: radius of the cones
+ * The number of stable cones found is returned
+ *********************************************************************/
+int CSphstable_cones::get_stable_cones(double _radius){
+ int p_idx;
+
+ // check if everything is correctly initialised
+ if (n_part==0){
+ return 0;
+ }
+
+ R = _radius;
+ R2 = R*R;
+ tan2R = tan(R);
+ tan2R *= tan2R;
+
+ // allow hash for cones candidates
+ hc = new sph_hash_cones(n_part, R);
+
+ // browse all particles
+ for (p_idx=0;p_idx<n_part;p_idx++){
+ // step 0: compute the child list CL.
+ // Note that this automatically sets the parent P
+ build(&plist[p_idx], 2.0*R);
+
+ // special case:
+ // if the vicinity is empty, the parent particle is a
+ // stable cone by itself. Add it to protocones list.
+ if (vicinity_size==0){
+ protocones.push_back(*parent);
+ continue;
+ }
+
+#ifdef DEBUG_STABLE_CONES
+ cout << endl << endl;
+ cout << "plot 'particles.dat' u 2:1 pt 1 ps 3" << endl;
+ cout << "set label 1 'x' at " << parent->_phi << ", " << parent->_theta << endl;
+#endif
+
+ // step 1: initialise with the first cone candidate
+ init_cone();
+
+ do{
+ // step 2: test cone stability for that pair (P,C)
+ test_cone();
+
+ // step 3: go to the next cone child candidate C
+ } while (!update_cone());
+ }
+
+ return proceed_with_stability();
+}
+
+
+////////////////////////////////////////////////////////
+// ALGORITHM MAIN STEPS //
+// - init_cone() //
+// - test_cone() //
+// - update_cone() //
+// - proceed_with_stability() //
+////////////////////////////////////////////////////////
+
+/*
+ * initialise the cone.
+ * We take the first particle in the angular ordering to compute
+ * this one
+ * return 0 on success, 1 on error
+ *********************************************************************/
+int CSphstable_cones::init_cone(){
+ // The previous version of the algorithm was starting the
+ // loop around vicinity elements with the "most isolated" child.
+ // given the nodist method to calculate the cone contents, we no
+ // longer need to worry about which cone comes first...
+ first_cone=0;
+
+ // now make sure we have lists of the cocircular particles
+ prepare_cocircular_lists();
+
+ //TODO? deal with a configuration with only degeneracies ?
+ // The only possibility seems a regular hexagon with a parent point
+ // in the centre. And this situation is by itself unclear.
+ // Hence, we do nothing here !
+
+ // init set child C
+ centre = vicinity[first_cone];
+ child = centre->v;
+ centre_idx = first_cone;
+
+ // build the initial cone (nodist: avoids calculating distances --
+ // just deduces contents by circulating around all in/out operations)
+ // this function also sets the list of included particles
+ compute_cone_contents();
+
+ return 0;
+}
+
+
+/*
+ * test cones.
+ * We check if the cone(s) built with the present parent and child
+ * are stable
+ * return 0 on success 1 on error
+ *********************************************************************/
+int CSphstable_cones::test_cone(){
+ siscone::Creference weighted_cone_ref;
+
+ // depending on the side we are taking the child particle,
+ // we test different configuration.
+ // Each time, two configurations are tested in such a way that
+ // all 4 possible cases (parent or child in or out the cone)
+ // are tested when taking the pair of particle parent+child
+ // and child+parent.
+
+ // here are the tests entering the first series:
+ // 1. check if the cone is already inserted
+ // 2. check cone stability for the parent and child particles
+
+ //UPDATED(see below): if (centre->side){
+ //UPDATED(see below): // test when both particles are not in the cone
+ //UPDATED(see below): // or when both are in.
+ //UPDATED(see below): // Note: for the totally exclusive case, test emptyness before
+ //UPDATED(see below): cone_candidate = cone;
+ //UPDATED(see below): if (cone.ref.not_empty()){
+ //UPDATED(see below): hc->insert(&cone_candidate, parent, child, false, false);
+ //UPDATED(see below): }
+ //UPDATED(see below):
+ //UPDATED(see below): cone_candidate = cone;
+ //UPDATED(see below): cone_candidate+= *parent + *child;
+ //UPDATED(see below): hc->insert(&cone_candidate, parent, child, true, true);
+ //UPDATED(see below): } else {
+ //UPDATED(see below): // test when 1! of the particles is in the cone
+ //UPDATED(see below): cone_candidate = cone + *parent;
+ //UPDATED(see below): hc->insert(&cone_candidate, parent, child, true, false);
+ //UPDATED(see below):
+ //UPDATED(see below): cone_candidate = cone + *child;
+ //UPDATED(see below): hc->insert(&cone_candidate, parent, child, false, true);
+ //UPDATED(see below): }
+ //UPDATED(see below):
+ //UPDATED(see below): nb_tot+=2;
+
+ // instead of testing 2 inclusion/exclusion states for every pair, we test the 4 of them
+ // when the parent has an energy bigger than the child
+ if (parent->E >= child->E){
+ // test when both particles are not in the cone
+ // Note: for the totally exclusive case, test emptiness before
+ cone_candidate = cone;
+ if (cone.ref.not_empty()){
+ hc->insert(&cone_candidate, parent, child, false, false);
+ }
+
+ // test when 1! of the particles is in the cone
+ cone_candidate += *parent;
+ hc->insert(&cone_candidate, parent, child, true, false);
+
+ cone_candidate = cone;
+ cone_candidate += *child;
+ hc->insert(&cone_candidate, parent, child, false, true);
+
+ // test when both are in.
+ cone_candidate += *parent;
+ hc->insert(&cone_candidate, parent, child, true, true);
+
+ nb_tot += 4;
+ }
+
+
+ return 0;
+}
+
+
+/*
+ * update the cone
+ * go to the next child for that parent and update 'cone' appropriately
+ * return 0 if update candidate found, 1 otherwise
+ ***********************************************************************/
+int CSphstable_cones::update_cone(){
+#ifdef DEBUG_STABLE_CONES
+ cout << "call 'circles_plot.gp' '" << centre->centre.px << "' '"
+ << centre->centre.py << "' '" << centre->centre.pz << "'" << endl
+ << "pause -1 '(" << centre->angle << " " << (centre->side ? '+' : '-') << ")";
+#endif
+
+ // get the next child and centre
+ centre_idx++;
+ if (centre_idx==vicinity_size)
+ centre_idx=0;
+ if (centre_idx==first_cone)
+ return 1;
+
+ // update the cone w.r.t. the old child
+ // only required if the old child is entering inside in which
+ // case we need to add it. We also know that the child is
+ // inside iff its side is -.
+ if (!centre->side){
+#ifdef DEBUG_STABLE_CONES
+ cout << " old_enter";
+#endif
+ // update cone
+ cone += (*child);
+
+ // update info on particles inside
+ centre->is_inside->cone = true;
+
+ // update stability check quantities
+ dpt += fabs(child->px)+fabs(child->py)+fabs(child->pz);
+ }
+
+ // update centre and child to correspond to the new position
+ centre = vicinity[centre_idx];
+ child = centre->v;
+
+ // check cocircularity
+ // note that if cocirculaity is detected (i.e. if we receive 1
+ // in the next test), we need to recall 'update_cone' directly
+ // since tests and remaining part of te update has been performed
+ //if (cocircular_check())
+ if (cocircular_check()){
+#ifdef DEBUG_STABLE_CONES
+ cout << " Co-circular case detected" << endl;
+#endif
+ return update_cone();
+ }
+
+ // update the cone w.r.t. the new child
+ // only required if the new child was already inside in which
+ // case we need to remove it. We also know that the child is
+ // inside iff its side is +.
+ if ((centre->side) && (cone.ref.not_empty())){
+#ifdef DEBUG_STABLE_CONES
+ cout << " new exit";
+#endif
+
+ // update cone
+ cone -= (*child);
+
+ // update info on particles inside
+ centre->is_inside->cone = false;
+
+ // update stability check quantities
+ dpt += fabs(child->px)+fabs(child->py)+fabs(child->pz); //child->perp2();
+ }
+
+ // check that the addition and subtraction of vectors does
+ // not lead to too much rounding error
+ // for that, we compute the sum of pt modifications and of |pt|
+ // since last recomputation and once the ratio overpasses a threshold
+ // we recompute vicinity.
+ if ((dpt>PT_TSHOLD*(fabs(cone.px)+fabs(cone.py)+fabs(cone.pz))) && (cone.ref.not_empty())){
+ recompute_cone_contents();
+ }
+ if (cone.ref.is_empty()){
+ cone = CSphmomentum();
+ dpt=0.0;
+ }
+
+#ifdef DEBUG_STABLE_CONES
+ cout << "'" << endl;
+#endif
+
+ return 0;
+}
+
+
+/*
+ * compute stability of all enumerated candidates.
+ * For all candidate cones which are stable w.r.t. their border particles,
+ * pass the last test: stability with quadtree intersection
+ ************************************************************************/
+int CSphstable_cones::proceed_with_stability(){
+ int i;
+ sph_hash_element *elm;
+
+ for (i=0;i<=hc->mask;i++){
+ // test ith cell of the hash array
+ elm = hc->hash_array[i];
+
+ // browse elements therein
+ while (elm!=NULL){
+ // test stability
+ if (elm->is_stable){
+ // stability is not ensured by all pairs of "edges" already browsed
+#ifdef USE_QUADTREE_FOR_STABILITY_TEST
+ // => testing stability with quadtree intersection
+ if (quadtree->circle_intersect(elm->eta, elm->phi, R2)==elm->ref)
+#else
+ // => testing stability with the particle-list intersection
+ if (circle_intersect(elm->centre)==elm->centre.ref)
+#endif
+ protocones.push_back(CSphmomentum(elm->centre,1.0));
+ }
+
+ // jump to the next one
+ elm = elm->next;
+ }
+ }
+
+ // free hash
+ // we do that at this level because hash eats rather a lot of memory
+ // we want to free it before running the split/merge algorithm
+#ifdef DEBUG_STABLE_CONES
+ nb_hash_cones = hc->n_cones;
+ nb_hash_occupied = hc->n_occupied_cells;
+#endif
+
+ delete hc;
+ hc=NULL;
+
+ return protocones.size();
+}
+
+
+////////////////////////////////////////////////////////
+// ALGORITHM MAIN STEPS FOR COCIRCULAR SITUATIONS //
+// - cocircular_pt_less(v1, v2) //
+// - prepare_cocircular_list() //
+// - test_cone_cocircular() //
+// - test_stability(candidate, border_vect) //
+// - updat_cone_cocircular() //
+////////////////////////////////////////////////////////
+
+/// pt-ordering of momenta used for the cocircular case
+//NEVER USED
+//bool cocircular_pt_less(CSphmomentum *v1, CSphmomentum *v2){
+// return v1->perp2() < v2->perp2();
+//}
+
+/*
+ * run through the vicinity of the current parent and for each child
+ * establish which other members are cocircular... Note that the list
+ * associated with each child contains references to vicinity
+ * elements: thus two vicinity elements each associated with one given
+ * particle may appear in a list -- this needs to be watched out for
+ * later on...
+ **********************************************************************/
+void CSphstable_cones::prepare_cocircular_lists() {
+ siscone::circulator<vector<CSphvicinity_elm*>::iterator > here(vicinity.begin(),
+ vicinity.begin(),
+ vicinity.end());
+
+ siscone::circulator<vector<CSphvicinity_elm*>::iterator > search(here);
+
+ do {
+ CSphvicinity_elm* here_pntr = *here();
+ search.set_position(here);
+
+ // search forwards for things that should have "here" included in
+ // their cocircularity list
+ while (true) {
+ ++search;
+ if ( siscone::abs_dphi((*search())->angle, here_pntr->angle) <
+ here_pntr->cocircular_range
+ && search() != here()) {
+ (*search())->cocircular.push_back(here_pntr);
+ } else {
+ break;
+ }
+ }
+
+ // search backwards
+ search.set_position(here);
+ while (true) {
+ --search;
+ if ( siscone::abs_dphi((*search())->angle, here_pntr->angle) <
+ here_pntr->cocircular_range
+ && search() != here()) {
+ (*search())->cocircular.push_back(here_pntr);
+ } else {
+ break;
+ }
+ }
+
+ ++here;
+ } while (here() != vicinity.begin());
+}
+
+/*
+ * Testing cocircular configurations in p^3 time,
+ * rather than 2^p time; we will test all contiguous subsets of points
+ * on the border --- note that this is till probably overkill, since
+ * in principle we only have to test situations where up to a
+ * half-circle is filled (but going to a full circle is simpler)
+ ******************************************************************/
+void CSphstable_cones::test_cone_cocircular(CSphmomentum & borderless_cone,
+ list<CSphmomentum *> & border_list) {
+ // in spherical coordinates, we don't have a universal x-y axis system
+ // to measure the angles. So we first determine one minimising
+ // the uncertainties
+ CSph3vector angl_dir1, angl_dir2;
+ centre->centre.get_angular_directions(angl_dir1, angl_dir2);
+ angl_dir1/=angl_dir1._norm;
+ angl_dir2/=angl_dir2._norm;
+
+ // now we have te reference axis, create the CSphborder_store structure
+ vector<CSphborder_store> border_vect;
+ border_vect.reserve(border_list.size());
+ for (list<CSphmomentum *>::iterator it = border_list.begin();
+ it != border_list.end(); it++) {
+ border_vect.push_back(CSphborder_store(*it, centre->centre, angl_dir1, angl_dir2));
+ }
+
+ // get them into order of angle
+ sort(border_vect.begin(), border_vect.end());
+
+ // set up some circulators, since these will help us go around the
+ // circle easily
+ siscone::circulator<vector<CSphborder_store>::iterator >
+ start(border_vect.begin(), border_vect.begin(),border_vect.end());
+ siscone::circulator<vector<CSphborder_store>::iterator > mid(start), end(start);
+
+ // test the borderless cone
+ CSphmomentum candidate = borderless_cone;
+ //candidate.build_etaphi();
+ if (candidate.ref.not_empty())
+ test_stability(candidate, border_vect);
+
+ do {
+ // reset status wrt inclusion in the cone
+ mid = start;
+ do {
+ mid()->is_in = false;
+ } while (++mid != start);
+
+ // now run over all inclusion possibilities with this starting point
+ candidate = borderless_cone;
+ while (++mid != start) {
+ // will begin with start+1 and go up to start-1
+ mid()->is_in = true;
+ candidate += *(mid()->mom);
+ test_stability(candidate, border_vect);
+ }
+
+ } while (++start != end);
+
+ // mid corresponds to momentum that we need to include to get the
+ // full cone
+ mid()->is_in = true;
+ candidate += *(mid()->mom);
+ test_stability(candidate, border_vect);
+}
+
+
+/**
+ * carry out the computations needed for the stability check of the
+ * candidate, using the border_vect to indicate which particles
+ * should / should not be in the stable cone; if the cone is stable
+ * insert it into the hash.
+ **********************************************************************/
+void CSphstable_cones::test_stability(CSphmomentum & candidate, const vector<CSphborder_store> & border_vect) {
+
+ // this almost certainly has not been done...
+ //candidate.build_etaphi();
+
+ bool stable = true;
+ for (unsigned i = 0; i < border_vect.size(); i++) {
+ if (is_closer(&candidate, border_vect[i].mom,tan2R) ^ (border_vect[i].is_in)) {
+ stable = false;
+ break; // it's unstable so there's no point continuing
+ }
+ }
+
+ if (stable) hc->insert(&candidate);
+}
+
+/*
+ * check if we are in a situation of cocircularity.
+ * if it is the case, update and test in the corresponding way
+ * return 'false' if no cocircularity detected, 'true' otherwise
+ * Note that if cocircularity is detected, we need to
+ * recall 'update' from 'update' !!!
+ ***************************************************************/
+bool CSphstable_cones::cocircular_check(){
+ // check if many configurations have the same centre.
+ // if this is the case, branch on the algorithm for this
+ // special case.
+ // Note that those situation, being considered separately in
+ // test_cone_multiple, must only be considered here if all
+ // angles are on the same side (this avoid multiple counting)
+
+ if (centre->cocircular.empty()) return false;
+
+ // first get cone into status required at end...
+ if ((centre->side) && (cone.ref.not_empty())){
+ // update cone
+ cone -= (*child);
+
+ // update info on particles inside
+ centre->is_inside->cone = false;
+
+ // update stability check quantities
+ dpt += fabs(child->px)+fabs(child->py)+fabs(child->pz); //child->perp2();
+ }
+
+
+ // now establish the list of unique children in the list
+ // first make sure parent and child are in!
+
+ list<siscone::Cvicinity_inclusion *> removed_from_cone;
+ list<siscone::Cvicinity_inclusion *> put_in_border;
+ list<CSphmomentum *> border_list;
+
+ CSphmomentum cone_removal;
+ CSphmomentum border = *parent;
+ border_list.push_back(parent);
+
+ // make sure child appears in the border region
+ centre->cocircular.push_back(centre);
+
+ // now establish the full contents of the cone minus the cocircular
+ // region and of the cocircular region itself
+ for(list<CSphvicinity_elm *>::iterator it = centre->cocircular.begin();
+ it != centre->cocircular.end(); it++) {
+
+ if ((*it)->is_inside->cone) {
+ cone_removal += *((*it)->v);
+ (*it)->is_inside->cone = false;
+ removed_from_cone.push_back((*it)->is_inside);
+ }
+
+ // if a point appears twice (i.e. with + and - sign) in the list of
+ // points on the border, we take care not to include it twice.
+ // Note that this situation may appear when a point is at a distance
+ // close to 2R from the parent
+ if (!(*it)->is_inside->cocirc) {
+ border += *((*it)->v);
+ (*it)->is_inside->cocirc = true;
+ put_in_border.push_back((*it)->is_inside);
+ border_list.push_back((*it)->v);
+ //cout << " adding particle " << (*it)->v->_theta << ", " << (*it)->v->_phi << " to the border list" << endl;
+ }
+ }
+
+
+ // figure out whether this pairing has been observed before
+ CSphmomentum borderless_cone = cone;
+ borderless_cone -= cone_removal;
+ bool consider = true;
+ for (unsigned int i=0;i<multiple_centre_done.size();i++){
+ if ((multiple_centre_done[i].first ==borderless_cone.ref) &&
+ (multiple_centre_done[i].second==border.ref))
+ consider = false;
+ }
+
+ // now prepare the hard work
+ if (consider) {
+ // record the fact that we've now seen this combination
+ multiple_centre_done.push_back(pair<siscone::Creference,siscone::Creference>(borderless_cone.ref,
+ border.ref));
+
+ // first figure out whether our cone momentum is good
+ double local_dpt = fabs(cone_removal.px) + fabs(cone_removal.py);
+ double total_dpt = dpt + local_dpt;
+
+ recompute_cone_contents_if_needed(borderless_cone, total_dpt);
+ if (total_dpt == 0) {
+ // a recomputation has taken place -- so take advantage of this
+ // and update the member cone momentum
+ cone = borderless_cone + cone_removal;
+ dpt = local_dpt;
+ }
+
+ test_cone_cocircular(borderless_cone, border_list);
+ }
+
+
+ // relabel things that were in the cone but got removed
+ for(list<siscone::Cvicinity_inclusion *>::iterator is_in = removed_from_cone.begin();
+ is_in != removed_from_cone.end(); is_in++) {
+ (*is_in)->cone = true;
+ }
+
+ // relabel things that got put into the border
+ for(list<siscone::Cvicinity_inclusion *>::iterator is_in = put_in_border.begin();
+ is_in != put_in_border.end(); is_in++) {
+ (*is_in)->cocirc = false;
+ }
+
+ // we're done with everything -- return true to signal to user that we've
+ // been through the co-circularity rigmarole
+ return true;
+}
+
+
+////////////////////////////////////////////////////////
+// RECOMPUTATION OF CONE CONTENTS //
+// - compute_cone_contents() //
+// - recompute_cone_contents() //
+// - recompute_cone_contents_if_needed() //
+////////////////////////////////////////////////////////
+
+/**
+ * compute the cone contents by going once around the full set of
+ * circles and tracking the entry/exit status each time
+ * given parent, child and centre compute the momentum
+ * of the particle inside the cone
+ * This sets up the inclusion information, which can then be directly
+ * used to calculate the cone momentum.
+ **********************************************************************/
+void CSphstable_cones::compute_cone_contents() {
+ siscone::circulator<vector<CSphvicinity_elm*>::iterator >
+ start(vicinity.begin()+first_cone, vicinity.begin(), vicinity.end());
+
+ siscone::circulator<vector<CSphvicinity_elm*>::iterator > here(start);
+
+ // note that in the following algorithm, the cone contents never includes
+ // the child. Indeed, if it has positive sign, then it will be set as
+ // outside at the last step in the loop. If it has negative sign, then the
+ // loop will at some point go to the corresponding situation with positive
+ // sign and set the inclusion status to 0.
+
+ do {
+ // as we leave this position a particle enters if its side is
+ // negative (i.e. the centre is the one at -ve angle wrt to the
+ // parent-child line
+ if (!(*here())->side) ((*here())->is_inside->cone) = 1;
+
+ // move on to the next position
+ ++here;
+
+ // as we arrive at this position a particle leaves if its side is positive
+ if ((*here())->side) ((*here())->is_inside->cone) = 0;
+ } while (here != start);
+
+ // once we've reached the start the 'is_inside' information should be
+ // 100% complete, so we can use it to calculate the cone contents
+ // and then exit
+ recompute_cone_contents();
+ return;
+
+}
+
+
+/*
+ * compute the cone momentum from particle list.
+ * in this version, we use the 'pincluded' information
+ * from the CSphvicinity class
+ */
+void CSphstable_cones::recompute_cone_contents(){
+ unsigned int i;
+
+ // set momentum to 0
+ cone = CSphmomentum();
+
+ // Important note: we can browse only the particles
+ // in vicinity since all particles in the cone are
+ // withing a distance 2R w.r.t. parent hence in vicinity.
+ // Among those, we only add the particles for which 'is_inside' is true !
+ // This methos rather than a direct comparison avoids rounding errors
+ for (i=0;i<vicinity_size;i++){
+ // to avoid double-counting, only use particles with + angle
+ if ((vicinity[i]->side) && (vicinity[i]->is_inside->cone))
+ cone += *vicinity[i]->v;
+ }
+
+ // set check variables back to 0
+ dpt = 0.0;
+}
+
+
+/*
+ * if we have gone beyond the acceptable threshold of change, compute
+ * the cone momentum from particle list. in this version, we use the
+ * 'pincluded' information from the CSphvicinity class, but we don't
+ * change the member cone, only the locally supplied one
+ */
+void CSphstable_cones::recompute_cone_contents_if_needed(CSphmomentum & this_cone,
+ double & this_dpt){
+
+ if (this_dpt > PT_TSHOLD*(fabs(this_cone.px)+fabs(this_cone.py))) {
+ if (cone.ref.is_empty()) {
+ this_cone = CSphmomentum();
+ } else {
+ // set momentum to 0
+ this_cone = CSphmomentum();
+
+ // Important note: we can browse only the particles
+ // in vicinity since all particles in the this_cone are
+ // withing a distance 2R w.r.t. parent hence in vicinity.
+ // Among those, we only add the particles for which 'is_inside' is true !
+ // This methos rather than a direct comparison avoids rounding errors
+ for (unsigned int i=0;i<vicinity_size;i++){
+ // to avoid double-counting, only use particles with + angle
+ if ((vicinity[i]->side) && (vicinity[i]->is_inside->cone))
+ this_cone += *vicinity[i]->v;
+ }
+
+ }
+ // set check variables back to 0
+ this_dpt = 0.0;
+ }
+
+}
+
+
+////////////////////////////////////////////////////////
+// VARIOUS TOOLS //
+// - circle_intersect() //
+// - is_inside() //
+// - abs_dangle() //
+////////////////////////////////////////////////////////
+
+
+/*
+ * circle intersection.
+ * computes the intersection with a circle of given centre and radius.
+ * The output takes the form of a checkxor of the intersection's particles
+ * - cx circle centre x coordinate
+ * - cy circle centre y coordinate
+ * return the checkxor for the intersection
+ ******************************************************************/
+siscone::Creference CSphstable_cones::circle_intersect(CSph3vector &cone_centre){
+ siscone::Creference intersection;
+ int i;
+
+ for (i=0;i<n_part;i++){
+ // really check if the distance is less than R
+ if (is_closer(&cone_centre, &(plist[i]), tan2R))
+ intersection+=plist[i].ref;
+ }
+
+ return intersection;
+}
+
+}
Property changes on: tags/siscone-3.0.2/siscone/spherical/protocones.cpp
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Date Rev
\ No newline at end of property
Index: tags/siscone-3.0.2/siscone/spherical/vicinity.cpp
===================================================================
--- tags/siscone-3.0.2/siscone/spherical/vicinity.cpp (revision 0)
+++ tags/siscone-3.0.2/siscone/spherical/vicinity.cpp (revision 398)
@@ -0,0 +1,300 @@
+///////////////////////////////////////////////////////////////////////////////
+// File: vicinity.cpp //
+// Description: source file for particle vicinity (Cvicinity class) //
+// This file is part of the SISCone project. //
+// WARNING: this is not the main SISCone trunk but //
+// an adaptation to spherical coordinates //
+// For more details, see http://projects.hepforge.org/siscone //
+// //
+// Copyright (c) 2006-2008 Gavin Salam and Gregory Soyez //
+// //
+// This program is free software; you can redistribute it and/or modify //
+// it under the terms of the GNU General Public License as published by //
+// the Free Software Foundation; either version 2 of the License, or //
+// (at your option) any later version. //
+// //
+// This program is distributed in the hope that it will be useful, //
+// but WITHOUT ANY WARRANTY; without even the implied warranty of //
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
+// GNU General Public License for more details. //
+// //
+// You should have received a copy of the GNU General Public License //
+// along with this program; if not, write to the Free Software //
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
+// //
+// $Revision:: $//
+// $Date:: $//
+///////////////////////////////////////////////////////////////////////////////
+
+#include "vicinity.h"
+#include <math.h>
+#include <algorithm>
+#include <iostream>
+
+namespace siscone_spherical{
+
+using namespace std;
+
+/*************************************************************
+ * CSphvicinity_elm implementation *
+ * element in the vicinity of a parent. *
+ * class used to manage one points in the vicinity *
+ * of a parent point. *
+ *************************************************************/
+
+// ordering pointers to CSphvicinity_elm
+//---------------------------------------
+bool ve_less(CSphvicinity_elm *ve1, CSphvicinity_elm *ve2){
+ return ve1->angle < ve2->angle;
+}
+
+
+/*************************************************************
+ * CSphvicinity implementation *
+ * list of element in the vicinity of a parent. *
+ * class used to manage the points which are in the vicinity *
+ * of a parent point. The construction of the list can be *
+ * made from a list of points or from a quadtree. *
+ *************************************************************/
+
+// default constructor
+//---------------------
+CSphvicinity::CSphvicinity(){
+ n_part = 0;
+
+ ve_list = NULL;
+#ifdef USE_QUADTREE_FOR_STABILITY_TEST
+ quadtree = NULL;
+#endif
+
+ parent = NULL;
+ VR2 = VR = 0.0;
+
+}
+
+// constructor with initialisation
+//---------------------------------
+CSphvicinity::CSphvicinity(vector<CSphmomentum> &_particle_list){
+ parent = NULL;
+ ve_list = NULL;
+#ifdef USE_QUADTREE_FOR_STABILITY_TEST
+ quadtree = NULL;
+#endif
+ cosVR = VR2 = tan2R = VR = 0.0;
+
+ set_particle_list(_particle_list);
+}
+
+// default destructor
+//--------------------
+CSphvicinity::~CSphvicinity(){
+ if (ve_list!=NULL)
+ delete[] ve_list;
+
+#ifdef USE_QUADTREE_FOR_STABILITY_TEST
+ if (quadtree!=NULL)
+ delete quadtree;
+#endif
+}
+
+/*
+ * set the particle_list
+ * - particle_list list of particles (type CSphmomentum)
+ * - n number of particles in the list
+ ************************************************************/
+void CSphvicinity::set_particle_list(vector<CSphmomentum> &_particle_list){
+ int i,j;
+#ifdef USE_QUADTREE_FOR_STABILITY_TEST
+ double eta_max=0.0;
+#endif
+
+ // if the particle list is not empty, destroy it !
+ if (ve_list!=NULL){
+ delete[] ve_list;
+ }
+ vicinity.clear();
+#ifdef USE_QUADTREE_FOR_STABILITY_TEST
+ if (quadtree!=NULL)
+ delete quadtree;
+#endif
+
+ // allocate memory array for particles
+ // Note: - we compute max for |eta|
+ // - we allocate indices to particles
+ n_part = 0;
+ plist.clear();
+ pincluded.clear();
+ for (i=0;i<(int) _particle_list.size();i++){
+ // if a particle is colinear with the beam (infinite rapidity)
+ // we do not take it into account
+ //if (fabs(_particle_list[i].pz)!=_particle_list[i].E){
+ plist.push_back(_particle_list[i]);
+ pincluded.push_back(siscone::Cvicinity_inclusion()); // zero inclusion status
+
+ // the parent_index is handled in the split_merge because
+ // of our multiple-pass procedure.
+ // Hence, it is not required here any longer.
+ // plist[n_part].parent_index = i;
+ plist[n_part].index = n_part;
+
+ // make sure the reference is randomly created
+ plist[n_part].ref.randomize();
+
+#ifdef USE_QUADTREE_FOR_STABILITY_TEST
+ if (fabs(plist[n_part].eta)>eta_max) eta_max=fabs(plist[n_part].eta);
+#endif
+ n_part++;
+ //}
+ }
+
+ // allocate quadtree and vicinity_elm list
+ // note: we set phi in [-pi:pi] as it is the natural range for atan2!
+ ve_list = new CSphvicinity_elm[2*n_part];
+#ifdef USE_QUADTREE_FOR_STABILITY_TEST
+ eta_max+=0.1;
+ quadtree = new siscone::Cquadtree(0.0, 0.0, eta_max, M_PI);
+#endif
+
+ // append particle to the vicinity_elm list
+ j = 0;
+ for (i=0;i<n_part;i++){
+#ifdef USE_QUADTREE_FOR_STABILITY_TEST
+ quadtree->add(&plist[i]);
+#endif
+ ve_list[j].v = ve_list[j+1].v = &plist[i];
+ ve_list[j].is_inside = ve_list[j+1].is_inside = &(pincluded[i]);
+ j+=2;
+ }
+
+}
+
+
+/*
+ * build the vicinity list from a list of points.
+ * - _parent reference particle
+ * - _VR vicinity radius
+ ************************************************************/
+void CSphvicinity::build(CSphmomentum *_parent, double _VR){
+ int i;
+
+ // set parent and radius
+ parent = _parent;
+
+ VR = _VR;
+ VR2 = VR*VR;
+ cosVR = cos(VR);
+ R2 = 0.25*VR2;
+ R = 0.5*VR;
+ double tmp = tan(R);
+ tan2R = tmp*tmp;
+
+ D2_R = 2.0*(1-cos(R));
+ //tmp = sqrt(D2_R);
+ inv_R_EPS_COCIRC = 1.0 / R / EPSILON_COCIRCULAR;
+ inv_R_2EPS_COCIRC = 0.5 / R / EPSILON_COCIRCULAR;
+
+ // clear vicinity
+ vicinity.clear();
+
+ // init parent variables
+ // we cpte the direction of the centre and two orthogonal ones
+ // to measure the angles. Those are taken orthogonal to the
+ // axis of smallest components (of the centre) to increase precision
+ parent_centre = (*parent)/parent->_norm;
+ parent_centre.get_angular_directions(angular_dir1, angular_dir2);
+ angular_dir1 /= angular_dir1._norm;
+ angular_dir2 /= angular_dir2._norm;
+
+ // really browse the particle list
+ for (i=0;i<n_part;i++){
+ append_to_vicinity(&plist[i]);
+ }
+
+ // sort the vicinity
+ sort(vicinity.begin(), vicinity.end(), ve_less);
+
+ vicinity_size = vicinity.size();
+}
+
+
+/// strictly increasing function of the angle
+//TODO//
+inline double sort_angle(double s, double c){
+ if (s==0) return (c>0) ? 0.0 : 2.0;
+ double t=c/s;
+ return (s>0) ? 1-t/(1+fabs(t)) : 3-t/(1+fabs(t));
+}
+
+
+/*
+ * append a particle to the 'vicinity' list after
+ * having computed the angular-ordering quantities
+ * - v vector to test
+ **********************************************************/
+void CSphvicinity::append_to_vicinity(CSphmomentum *v){
+ // skip the particle itself)
+ if (v==parent)
+ return;
+
+ int i=2*(v->index);
+
+ // compute the distance of the i-th particle with the parent
+ double dot = dot_product3(parent_centre,*v);
+ CSph3vector vnormal = *v;
+ vnormal/=v->_norm;
+ dot/=v->_norm;
+
+ // really check if the distance is less than VR
+ if (dot>cosVR){
+ CSph3vector cross = cross_product3(parent_centre,vnormal);
+
+ // for the centres
+ CSph3vector median = (parent_centre+vnormal);
+ double amplT = sqrt((tan2R*(1+dot)+(dot-1))*(1+dot));
+ CSph3vector transverse = amplT*cross/cross._norm;
+
+ // first angle (+)
+ ve_list[i].centre = median + transverse;
+ ve_list[i].centre.build_norm();
+ ve_list[i].centre/=ve_list[i].centre._norm;
+ CSph3vector diff = ve_list[i].centre - parent_centre;
+ //ve_list[i].angle = atan2(dot_product3(angular_dir2, diff),dot_product3(angular_dir1, diff));
+ ve_list[i].angle = sort_angle(dot_product3(angular_dir2, diff),dot_product3(angular_dir1, diff));
+ ve_list[i].side = true;
+ ve_list[i].cocircular.clear();
+ vicinity.push_back(&(ve_list[i]));
+
+ // second angle (-)
+ ve_list[i+1].centre = median - transverse;
+ ve_list[i+1].centre.build_norm();
+ ve_list[i+1].centre/=ve_list[i+1].centre._norm;
+ diff = ve_list[i+1].centre - parent_centre;
+ ve_list[i+1].angle = sort_angle(dot_product3(angular_dir2, diff),dot_product3(angular_dir1, diff));
+ ve_list[i+1].side = false;
+ ve_list[i+1].cocircular.clear();
+ vicinity.push_back(&(ve_list[i+1]));
+
+ // now work out the cocircularity range for the two points (range
+ // of angle within which the points stay within a distance
+ // EPSILON_COCIRCULAR of circule
+ // P = parent; C = child; O = Origin (center of circle)
+ CSph3vector OP = parent_centre - ve_list[i+1].centre;
+ CSph3vector OC = vnormal - ve_list[i+1].centre;
+
+ // two sources of error are (GPS CCN29-19) epsilon/(R sin theta)
+ // and sqrt(2*epsilon/(R (1-cos theta))) and the way things work
+ // out, it is the _smaller_ of the two that is relevant [NB have
+ // changed definition of theta here relative to that used in
+ // CCN29] [NB2: write things so as to avoid zero denominators and
+ // to minimize the multiplications, divisions and above all sqrts
+ // -- that means that c & s are defined including a factor of VR2]
+ double inv_err1 = cross_product3(OP,OC)._norm * inv_R_EPS_COCIRC;
+ double inv_err2_sq = (D2_R-dot_product3(OP,OC)) * inv_R_2EPS_COCIRC;
+ ve_list[i].cocircular_range = siscone::pow2(inv_err1) > inv_err2_sq ?
+ 1.0/inv_err1 :
+ sqrt(1.0/inv_err2_sq);
+ ve_list[i+1].cocircular_range = ve_list[i].cocircular_range;
+ }
+}
+
+}
Property changes on: tags/siscone-3.0.2/siscone/spherical/vicinity.cpp
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Date Rev
\ No newline at end of property
Index: tags/siscone-3.0.2/siscone/spherical/protocones.h
===================================================================
--- tags/siscone-3.0.2/siscone/spherical/protocones.h (revision 0)
+++ tags/siscone-3.0.2/siscone/spherical/protocones.h (revision 398)
@@ -0,0 +1,262 @@
+// -*- C++ -*-
+///////////////////////////////////////////////////////////////////////////////
+// File: protocones.h //
+// Description: header file for stable cones determination (Cstable_cones) //
+// This file is part of the SISCone project. //
+// WARNING: this is not the main SISCone trunk but //
+// an adaptation to spherical coordinates //
+// For more details, see http://projects.hepforge.org/siscone //
+// //
+// Copyright (c) 2006-2008 Gavin Salam and Gregory Soyez //
+// //
+// This program is free software; you can redistribute it and/or modify //
+// it under the terms of the GNU General Public License as published by //
+// the Free Software Foundation; either version 2 of the License, or //
+// (at your option) any later version. //
+// //
+// This program is distributed in the hope that it will be useful, //
+// but WITHOUT ANY WARRANTY; without even the implied warranty of //
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
+// GNU General Public License for more details. //
+// //
+// You should have received a copy of the GNU General Public License //
+// along with this program; if not, write to the Free Software //
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
+// //
+// $Revision:: $//
+// $Date:: $//
+///////////////////////////////////////////////////////////////////////////////
+
+#ifndef __SPH_PROTOCONES_H__
+#define __SPH_PROTOCONES_H__
+
+#include "momentum.h"
+#include "vicinity.h"
+#include <stdio.h>
+#include <vector>
+#include <list>
+#include "hash.h"
+
+#include <siscone/defines.h>
+
+namespace siscone_spherical{
+
+/**
+ * \class CSphborder_store
+ *
+ * class for storing a border momentum (in context of co-circularity
+ * checks).
+
+ * This class essentially calculates angle of border point w.r.t.
+ * circle center (eta & phi), and provides a store of information
+ * about whether we are currently including this point in the
+ * candidate
+ */
+class CSphborder_store{
+public:
+ /// default ctor
+ CSphborder_store(CSphmomentum * momentum, CSph3vector &centre, CSph3vector &angl_dir1, CSph3vector &angl_dir2) :
+ mom(momentum), is_in(false) {
+ CSph3vector diff = (*momentum) - centre;
+ angle = atan2(dot_product3(diff, angl_dir2), dot_product3(diff, angl_dir1));
+#ifdef DEBUG_STABLE_CONES
+ std::cout << " adding point " << momentum->_theta << ", " << momentum->_phi
+ << " at an angle of " << angle << std::endl;
+#endif
+ }
+
+ CSphmomentum * mom; ///< particle momentum
+ double angle; ///< angle w.r.t. circle centre
+ bool is_in; ///< inclusion status of the particle
+};
+
+
+/// allows easy sorting of CSphborder_store objects (which need to be
+/// ordered in angle).
+inline bool operator<(const CSphborder_store & a, const CSphborder_store & b) {
+ return a.angle < b.angle;
+}
+
+
+/**
+ * \class CSphstable_cones
+ * \brief Computes the list of stable comes from a particle list.
+ *
+ * This class does the first fundamental task of te cone algorithm:
+ * it is used to compute the list of stable cones given a list
+ * of particles.
+ */
+class CSphstable_cones : public CSphvicinity{
+ public:
+ /// default ctor
+ CSphstable_cones();
+
+ /// ctor with initialisation (sse init for details)
+ CSphstable_cones(std::vector<CSphmomentum> &_particle_list);
+
+ /// default dtor
+ ~CSphstable_cones();
+
+ /**
+ * initialisation
+ * \param _particle_list list of particles
+ */
+ void init(std::vector<CSphmomentum> &_particle_list);
+
+ /**
+ * compute stable cones.
+ * This function really does the job i.e. computes
+ * the list of stable cones (in a seedless way)
+ * \param _radius radius of the cones
+ * \return The number of stable cones found is returned
+ */
+ int get_stable_cones(double _radius);
+
+ /// list of stable cones
+ std::vector<CSphmomentum> protocones;
+
+ /// list of candidates
+ sph_hash_cones *hc;
+
+ /// total number of tested cones
+ int nb_tot;
+#ifdef DEBUG_STABLE_CONES
+ int nb_hash_cones, nb_hash_occupied;
+#endif
+
+ protected:
+ /// cone radius
+ double R;
+
+ /// cone radius SQUARED
+ double R2;
+
+ /// squared tangent of the cone radius
+ double tan2R;
+
+ private:
+ /// cone with a given particle as parent
+ /// this reduction to a single vector assumes we trust the checksums
+ CSphmomentum cone;
+
+ /// child particle, taken in the 'vicinity' list
+ CSphmomentum *child;
+
+ /// centre of the tested cone
+ CSphvicinity_elm *centre;
+
+ /// index in the particle list;
+ unsigned int centre_idx;
+
+ /// first cone used in the vicinity list
+ unsigned int first_cone;
+
+ /**
+ * initialise the cone.
+ * We take the first particle in the angular ordering to compute this one
+ * \return 0 on success, 1 on error
+ */
+ int init_cone();
+
+ /**
+ * test cones.
+ * We check if the cone(s) build with the present parent and child
+ * are stable
+ * \return 0 on success 1 on error
+ */
+ int test_cone();
+
+ /**
+ * update the cone
+ * go to the next child for that parent and update 'cone' appropriately
+ * \return 0 if update candidate found, 1 otherwise
+ */
+ int update_cone();
+
+ /*
+ * run through the vicinity of the current parent and for each child
+ * indicate which members are cocircular...
+ */
+ void prepare_cocircular_lists();
+
+ /**
+ * check if we are in a situation of cocircularity.
+ * if it is the case, update and test in the corresponding way
+ * \return 'false' if no cocircularity detected, 'true' otherwise
+ * Note that if cocircularity is detected, we need to
+ * recall 'update' from 'update' !!!
+ */
+ bool cocircular_check();
+
+ /**
+ * Routine for testing cocircular configurations in p^3 time,
+ * rather than 2^p time;
+ */
+ void test_cone_cocircular(CSphmomentum & borderless_cone,
+ std::list<CSphmomentum *> & border_list);
+
+ /**
+ * carry out the computations needed for the stability check of the
+ * candidate, using the border_vect to indicate which particles
+ * should / should not be in the stable cone; if the cone is stable
+ * insert it into the hash.
+ */
+ void test_stability(CSphmomentum & candidate,
+ const std::vector<CSphborder_store> & border_vect);
+
+ /**
+ * compute the cone contents by going once around the full set of
+ * circles and tracking the entry/exit status each time -- this sets
+ * up the inclusion information, which can then be directly used to
+ * calculate the cone momentum.
+ */
+ void compute_cone_contents();
+
+ /**
+ * compute the cone momentum from particle list.
+ * in this version, we use the 'pincluded' information
+ * from the CSphvicinity class
+ */
+ void recompute_cone_contents();
+
+ /*
+ * if we have gone beyond the acceptable threshold of change, compute
+ * the cone momentum from particle list. in this version, we use the
+ * 'pincluded' information from the CSphvicinity class, but we don't
+ * change the member cone, only the locally supplied one
+ */
+ void recompute_cone_contents_if_needed(CSphmomentum & this_cone, double & this_dpt);
+
+ /**
+ * compute stability of all enumerated candidates.
+ * For all candidate cones which are stable w.r.t. their border particles,
+ * pass the last test: stability with quadtree intersection
+ */
+ int proceed_with_stability();
+
+ /*
+ * circle intersection.
+ * computes the intersection with a circle of given centre and radius.
+ * The output takes the form of a checkxor of the intersection's particles
+ * - cx circle centre x coordinate
+ * - cy circle centre y coordinate
+ * return the checkxor for the intersection
+ ******************************************************************/
+ siscone::Creference circle_intersect(CSph3vector &cone_centre);
+
+ /// present candidate cone
+ CSphmomentum cone_candidate;
+
+ /// in case of co-circular points, vector for them
+ std::vector<CSphmomentum*> child_list;
+
+ /// list of cocircular enclusures already studied
+ /// first element if cone contents, second is cone border
+ std::vector< std::pair<siscone::Creference,siscone::Creference> > multiple_centre_done;
+
+ // information for updating cone contents to avoid rounding errors
+ double dpt; ///< sums of Delta P_t
+};
+
+}
+#endif
Property changes on: tags/siscone-3.0.2/siscone/spherical/protocones.h
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Date Rev
\ No newline at end of property
Index: tags/siscone-3.0.2/siscone/spherical/momentum.cpp
===================================================================
--- tags/siscone-3.0.2/siscone/spherical/momentum.cpp (revision 0)
+++ tags/siscone-3.0.2/siscone/spherical/momentum.cpp (revision 398)
@@ -0,0 +1,294 @@
+///////////////////////////////////////////////////////////////////////////////
+// File: momentum.cpp //
+// Description: source file for 4-momentum class Cmomentum //
+// This file is part of the SISCone project. //
+// WARNING: this is not the main SISCone trunk but //
+// an adaptation to spherical coordinates //
+// For more details, see http://projects.hepforge.org/siscone //
+// //
+// Copyright (c) 2006-2008 Gavin Salam and Gregory Soyez //
+// //
+// This program is free software; you can redistribute it and/or modify //
+// it under the terms of the GNU General Public License as published by //
+// the Free Software Foundation; either version 2 of the License, or //
+// (at your option) any later version. //
+// //
+// This program is distributed in the hope that it will be useful, //
+// but WITHOUT ANY WARRANTY; without even the implied warranty of //
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
+// GNU General Public License for more details. //
+// //
+// You should have received a copy of the GNU General Public License //
+// along with this program; if not, write to the Free Software //
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
+// //
+// $Revision:: $//
+// $Date:: $//
+///////////////////////////////////////////////////////////////////////////////
+
+#include "momentum.h"
+#include <math.h>
+#include <stdlib.h>
+
+namespace siscone_spherical{
+
+/*************************************************************************
+ * class CSph3vector *
+ * This class contains the information for particle or group of *
+ * particles management. *
+ *************************************************************************/
+
+// default ctor
+//--------------
+CSph3vector::CSph3vector(){
+ _theta = _phi = _norm = 0.0;
+ px = py = pz = 0.0;
+ ref = siscone::Creference();
+}
+
+// ctor with initialisation
+//--------------------------
+CSph3vector::CSph3vector(double _px, double _py, double _pz){
+ px = _px;
+ py = _py;
+ pz = _pz;
+
+ // compute the norm
+ build_norm();
+
+ ref = siscone::Creference();
+}
+
+// default dtor
+//--------------
+CSph3vector::~CSph3vector(){
+
+}
+
+
+// assignment of vectors
+//-----------------------
+CSph3vector& CSph3vector::operator = (const CSph3vector &v){
+ px = v.px;
+ py = v.py;
+ pz = v.pz;
+
+ _norm = v._norm;
+ _theta = v._theta;
+ _phi = v._phi;
+
+ ref = v.ref;
+ return *this;
+}
+
+// addition of vectors
+//------------------------------------------------
+const CSph3vector CSph3vector::operator + (const CSph3vector &v){
+ CSph3vector tmp = *this;
+ return tmp+=v;
+}
+
+// subtraction of vectors
+//------------------------------------------------
+const CSph3vector CSph3vector::operator - (const CSph3vector &v){
+ CSph3vector tmp = *this;
+ return tmp-=v;
+}
+
+// division by constant
+//------------------------------------------------
+const CSph3vector CSph3vector::operator / (const double &r){
+ CSph3vector tmp = *this;
+ return tmp/=r;
+}
+
+// incrementation
+//------------------------------------------------
+CSph3vector& CSph3vector::operator += (const CSph3vector &v){
+ px+=v.px;
+ py+=v.py;
+ pz+=v.pz;
+
+ return *this;
+}
+
+// decrementation
+//------------------------------------------------
+CSph3vector& CSph3vector::operator -= (const CSph3vector &v){
+ px-=v.px;
+ py-=v.py;
+ pz-=v.pz;
+
+ return *this;
+}
+
+// multiplication by a constant
+//------------------------------------------------
+CSph3vector& CSph3vector::operator *= (const double &r){
+ px*=r;
+ py*=r;
+ pz*=r;
+
+ return *this;
+}
+
+// division by a constant
+//------------------------------------------------
+CSph3vector& CSph3vector::operator /= (const double &r){
+ px/=r;
+ py/=r;
+ pz/=r;
+
+ _norm/=r;
+
+ return *this;
+}
+
+// build norm from 3-momentum info
+void CSph3vector::build_norm(){
+ _norm = norm();
+}
+
+// build norm from 3-momentum info
+void CSph3vector::build_thetaphi(){
+ _theta = theta();
+ _phi = phi();
+}
+
+
+// for this direction, compute the two reference directions
+// used to measure angles
+void CSph3vector::get_angular_directions(CSph3vector &angular_dir1, CSph3vector &angular_dir2){
+ if (px < py){
+ if (pz < px){
+ // z smallest
+ angular_dir1 = CSph3vector(-py, px, 0.0);
+ } else {
+ // x smallest
+ angular_dir1 = CSph3vector(0.0, -pz, py);
+ }
+ } else {
+ if (pz < py){
+ // z smallest
+ angular_dir1 = CSph3vector(-py, px, 0.0);
+ } else {
+ // y smallest
+ angular_dir1 = CSph3vector(-pz, 0.0, px);
+ }
+ }
+ angular_dir2 = cross_product3(*this, angular_dir1);
+ // We'll simply take x & y so the reflection symmetry is not broken
+ //angular_dir1 = CSph3vector(0.0, -pz, py);
+ //angular_dir2 = CSph3vector(-pz, 0.0, -px);
+}
+
+/*************************************************************************
+ * class CSphmomentum *
+ * This class contains the information for particle or group of *
+ * particles management. *
+ * It includes all Lorentz properties as well as tools for summing them. *
+ *************************************************************************/
+
+// default ctor
+//--------------
+CSphmomentum::CSphmomentum(){
+ E=0.0;
+ index = -1;
+}
+
+// ctor with initialisation
+//--------------------------
+CSphmomentum::CSphmomentum(double _px, double _py, double _pz, double _E)
+ : CSph3vector(_px, _py, _pz) {
+ E = _E;
+
+ // compute the angles
+ build_thetaphi();
+}
+
+// ctor with initialisation
+//--------------------------
+CSphmomentum::CSphmomentum(CSph3vector &_v, double _E)
+ : CSph3vector(_v.px, _v.py, _v.pz) {
+ E = _E;
+}
+
+// default dtor
+//--------------
+CSphmomentum::~CSphmomentum(){
+
+}
+
+// assignment of vectors
+//-----------------------
+CSphmomentum& CSphmomentum::operator = (const CSphmomentum &v){
+ px = v.px;
+ py = v.py;
+ pz = v.pz;
+ E = v.E;
+
+ _norm = v._norm;
+ _theta = v._theta;
+ _phi = v._phi;
+
+ ref = v.ref;
+ return *this;
+}
+
+// addition of vectors
+// !!! WARNING !!! no updating of eta and phi !!!
+//------------------------------------------------
+const CSphmomentum CSphmomentum::operator + (const CSphmomentum &v){
+ CSphmomentum tmp = *this;
+ return tmp+=v;
+}
+
+// incrementation of vectors
+// !!! WARNING !!! no updating of eta and phi !!!
+//------------------------------------------------
+CSphmomentum& CSphmomentum::operator += (const CSphmomentum &v){
+ px+=v.px;
+ py+=v.py;
+ pz+=v.pz;
+ E +=v.E;
+
+ ref+=v.ref;
+
+ return *this;
+}
+
+// decrementation of vectors
+// !!! WARNING !!! no updating of eta and phi !!!
+//------------------------------------------------
+CSphmomentum& CSphmomentum::operator -= (const CSphmomentum &v){
+ px-=v.px;
+ py-=v.py;
+ pz-=v.pz;
+ E -=v.E;
+
+ ref-=v.ref;
+ return *this;
+}
+
+
+// ordering of two vectors
+// the default ordering is w.r.t. their references
+//-------------------------------------------------
+bool operator < (const CSphmomentum &v1, const CSphmomentum &v2){
+ return v1.ref < v2.ref;
+}
+
+// ordering of vectors in eta (e.g. used in collinear tests)
+//-----------------------------------------------------------
+bool momentum_theta_less(const CSphmomentum &v1, const CSphmomentum &v2){
+ return v1._theta < v2._theta;
+}
+
+// ordering of vectors in pt
+//---------------------------
+bool momentum_pt_less(const CSphmomentum &v1, const CSphmomentum &v2){
+ return v1.perp2() < v2.perp2();
+}
+
+}
+
Property changes on: tags/siscone-3.0.2/siscone/spherical/momentum.cpp
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Date Rev
\ No newline at end of property
Index: tags/siscone-3.0.2/siscone/spherical/vicinity.h
===================================================================
--- tags/siscone-3.0.2/siscone/spherical/vicinity.h (revision 0)
+++ tags/siscone-3.0.2/siscone/spherical/vicinity.h (revision 398)
@@ -0,0 +1,149 @@
+// -*- C++ -*-
+///////////////////////////////////////////////////////////////////////////////
+// File: vicinity.h //
+// Description: header file for particle vicinity (Cvicinity class) //
+// This file is part of the SISCone project. //
+// WARNING: this is not the main SISCone trunk but //
+// an adaptation to spherical coordinates //
+// For more details, see http://projects.hepforge.org/siscone //
+// //
+// Copyright (c) 2006-2008 Gavin Salam and Gregory Soyez //
+// //
+// This program is free software; you can redistribute it and/or modify //
+// it under the terms of the GNU General Public License as published by //
+// the Free Software Foundation; either version 2 of the License, or //
+// (at your option) any later version. //
+// //
+// This program is distributed in the hope that it will be useful, //
+// but WITHOUT ANY WARRANTY; without even the implied warranty of //
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
+// GNU General Public License for more details. //
+// //
+// You should have received a copy of the GNU General Public License //
+// along with this program; if not, write to the Free Software //
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
+// //
+// $Revision:: $//
+// $Date:: $//
+///////////////////////////////////////////////////////////////////////////////
+
+#ifndef __SPH_VICINITY_H__
+#define __SPH_VICINITY_H__
+
+#include <siscone/vicinity.h>
+#include <vector>
+#include <list>
+#include "momentum.h"
+#include <siscone/defines.h>
+#ifdef USE_QUADTREE_FOR_STABILITY_TEST
+#include <siscone/quadtree.h>
+#endif
+
+namespace siscone_spherical{
+
+
+/**
+ * \class CSphvicinity_elm
+ * \brief element in the vicinity of a parent.
+ *
+ * class used to manage one points in the vicinity
+ * of a parent point.
+ */
+class CSphvicinity_elm{
+ public:
+ /// pointer to the second borderline particle
+ CSphmomentum *v;
+
+ /// variable to tell if the particle is inside or outside the cone
+ siscone::Cvicinity_inclusion *is_inside;
+
+ // centre variables
+ CSph3vector centre; ///< direction of the centre
+ double angle; ///< angle with parent
+ bool side; ///< true if angle on the positive side, false otherwise
+ double cocircular_range; ///< amount by which the angle can be varied while
+ ///< maintaining this point within co-circularity margin
+
+ /// list of elements co-circular with this one
+ /// NB: empty list uses less mem than vector
+ std::list<CSphvicinity_elm * > cocircular;
+};
+
+/// ordering pointers to CSphvicinity_elm
+bool ve_less(CSphvicinity_elm *ve1, CSphvicinity_elm *ve2);
+
+
+/**
+ * \class CSphvicinity
+ * \brief list of element in the vicinity of a parent.
+ *
+ * class used to manage the points which are in the vicinity
+ * of a parent point.
+ */
+class CSphvicinity{
+ public:
+ /// default constructor
+ CSphvicinity();
+
+ /// constructor with initialisation (see set_particle_list)
+ CSphvicinity(std::vector<CSphmomentum> &_particle_list);
+
+ /// default destructor
+ ~CSphvicinity();
+
+ /**
+ * set the particle_list
+ * \param _particle_list list of particles (type CSphmomentum)
+ */
+ void set_particle_list(std::vector<CSphmomentum> &_particle_list);
+
+ /**
+ * build the vicinity list from the list of points.
+ * \param _parent reference particle
+ * \param _VR vicinity radius
+ */
+ void build(CSphmomentum *_parent, double _VR);
+
+ // cone kinematical information
+ CSphmomentum *parent; ///< parent vector
+ double VR; ///< radius of the vicinity
+ double VR2; ///< squared radius of the vicinity
+ double cosVR; ///< cosine of the radius of the vicinity
+ double R; ///< normal radius
+ double R2; ///< squared normal radius
+ double tan2R; ///< squared tangent of the normal radius
+ double D2_R; ///< euclidian distance (squared) corresp. to the arc R
+ double inv_R_EPS_COCIRC; ///< R / EPSILON_COCIRCULAR
+ double inv_R_2EPS_COCIRC; ///< R / (2*EPSILON_COCIRCULAR)
+
+ // particle list information
+ int n_part; ///< number of particles
+ std::vector<CSphmomentum> plist; ///< the list of particles
+ /// the inclusion state of particles
+ std::vector<siscone::Cvicinity_inclusion> pincluded;
+ CSphvicinity_elm *ve_list; ///< list of vicinity elements built from particle list (size=2*n)
+#ifdef USE_QUADTREE_FOR_STABILITY_TEST
+ siscone::Cquadtree *quadtree; ///< quadtree used for final stability tests
+#endif
+
+ // vicinity information
+ std::vector<CSphvicinity_elm*> vicinity; ///< list of points in parent's vicinity
+ unsigned int vicinity_size; ///< number of elements in vicinity
+
+ protected:
+ /**
+ * append a particle to the 'vicinity' list after
+ * having tested it and computed the angular-ordering quantities
+ * \param v vector to test
+ */
+ void append_to_vicinity(CSphmomentum *v);
+
+ // internal variables
+ CSph3vector parent_centre; ///< parent centre
+ CSph3vector angular_dir1; ///< main direction to measure angles
+ CSph3vector angular_dir2; ///< second direction to measure angles (sign)
+};
+
+}
+
+#endif
Property changes on: tags/siscone-3.0.2/siscone/spherical/vicinity.h
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Date Rev
\ No newline at end of property
Index: tags/siscone-3.0.2/siscone/spherical/siscone.cpp
===================================================================
--- tags/siscone-3.0.2/siscone/spherical/siscone.cpp (revision 0)
+++ tags/siscone-3.0.2/siscone/spherical/siscone.cpp (revision 398)
@@ -0,0 +1,304 @@
+///////////////////////////////////////////////////////////////////////////////
+// File: siscone.cpp //
+// Description: source file for the main SISCone class //
+// This file is part of the SISCone project. //
+// WARNING: this is not the main SISCone trunk but //
+// an adaptation to spherical coordinates //
+// For more details, see http://projects.hepforge.org/siscone //
+// //
+// Copyright (c) 2006-2008 Gavin Salam and Gregory Soyez //
+// //
+// This program is free software; you can redistribute it and/or modify //
+// it under the terms of the GNU General Public License as published by //
+// the Free Software Foundation; either version 2 of the License, or //
+// (at your option) any later version. //
+// //
+// This program is distributed in the hope that it will be useful, //
+// but WITHOUT ANY WARRANTY; without even the implied warranty of //
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
+// GNU General Public License for more details. //
+// //
+// You should have received a copy of the GNU General Public License //
+// along with this program; if not, write to the Free Software //
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
+// //
+// $Revision:: $//
+// $Date:: $//
+///////////////////////////////////////////////////////////////////////////////
+
+//#ifdef HAVE_CONFIG_H
+#include <siscone/config.h>
+//#else
+//#define PACKAGE_NAME "SISCone"
+//#define VERSION "3.0.2"
+//#warning "No config.h file available, using preset values"
+//#endif
+
+#include <siscone/ranlux.h>
+#include <siscone/siscone_error.h>
+#include <siscone/defines.h>
+#include "momentum.h"
+#include "siscone.h"
+#include <iostream>
+#include <sstream>
+#include <iomanip>
+
+namespace siscone_spherical{
+using namespace std;
+
+/***************************************************************
+ * CSphsiscone implementation *
+ * final class: gather everything to compute the jet contents. *
+ * *
+ * This is the class user should use. *
+ * It computes the jet contents of a list of particles *
+ * given a cone radius and a threshold for splitting/merging. *
+ ***************************************************************/
+
+// default ctor
+//--------------
+CSphsiscone::CSphsiscone(){
+ rerun_allowed = false;
+}
+
+// default dtor
+//--------------
+CSphsiscone::~CSphsiscone(){
+ rerun_allowed = false;
+}
+
+bool CSphsiscone::init_done=false;
+std::ostream* CSphsiscone::_banner_ostr=&cout;
+
+/*
+ * compute the jets from a given particle set doing multiple passes
+ * such pass N looks for jets among all particles not put into jets
+ * during previous passes.
+ * - _particles list of particles
+ * - _radius cone radius
+ * - _f shared energy threshold for splitting&merging
+ * - _n_pass_max maximum number of runs
+ * - _Emin minimum energy of the protojets
+ * - _split_merge_scale the scale choice for the split-merge procedure
+ * NOTE: using pt leads to IR unsafety for some events with momentum
+ * conservation. So we strongly advise not to change the default
+ * value.
+ * return the number of jets found.
+ **********************************************************************/
+int CSphsiscone::compute_jets(vector<CSphmomentum> &_particles, double _radius, double _f,
+ int _n_pass_max, double _Emin,
+ Esplit_merge_scale _split_merge_scale){
+ // make sure things are initialised
+ _initialise_if_needed();
+
+ // run some general safety tests (NB: f will be checked in split-merge)
+ if (_radius <= 0.0 || _radius >= 0.5*M_PI) {
+ ostringstream message;
+ message << "Illegal value for cone radius, R = " << _radius
+ << " (legal values are 0<R<pi/2)";
+ throw siscone::Csiscone_error(message.str());
+ }
+
+
+
+ ptcomparison.split_merge_scale = _split_merge_scale;
+ partial_clear(); // make sure some things are initialised properly
+
+ // init the split_merge algorithm with the initial list of particles
+ // this initialises particle list p_left of remaining particles to deal with
+ init_particles(_particles);
+
+ bool finished = false;
+
+ rerun_allowed = false;
+ protocones_list.clear();
+
+#ifdef DEBUG_STABLE_CONES
+ nb_hash_cones_total = 0;
+ nb_hash_occupied_total = 0;
+#endif
+
+ do{
+ // initialise stable_cone finder
+ // here we use the list of remaining particles
+ // AFTER COLLINEAR CLUSTERING !!!!!!
+ CSphstable_cones::init(p_uncol_hard);
+
+ // get stable cones
+ if (get_stable_cones(_radius)){
+ // we have some new protocones.
+ // add them to candidates
+ protocones_list.push_back(protocones);
+ add_protocones(&protocones, R2, _Emin);
+#ifdef DEBUG_STABLE_CONES
+ nb_hash_cones_total += nb_hash_cones;
+ nb_hash_occupied_total += nb_hash_occupied;
+#endif
+ } else {
+ // no new protocone: leave
+ finished=true;
+ }
+
+ _n_pass_max--;
+ } while ((!finished) && (n_left>0) && (_n_pass_max!=0));
+
+ rerun_allowed = true;
+
+ // split & merge
+ return perform(_f, _Emin);
+}
+
+/*
+ * compute the jets from a given particle set doing multiple passes
+ * such pass N looks for jets among all particles not put into jets
+ * during previous passes.
+ * - _particles list of particles
+ * - _radius cone radius
+ * - _n_pass_max maximum number of runs
+ * - _Emin minimum energy of the protojets
+ * - _ordering_scale the ordering scale to decide which stable
+ * cone is removed
+ * return the number of jets found.
+ **********************************************************************/
+int CSphsiscone::compute_jets_progressive_removal(vector<CSphmomentum> &_particles, double _radius,
+ int _n_pass_max, double _Emin,
+ Esplit_merge_scale _ordering_scale){
+ // make sure things are initialised
+ _initialise_if_needed();
+
+ // run some general safety tests (NB: f will be checked in split-merge)
+ if (_radius <= 0.0 || _radius >= 0.5*M_PI) {
+ ostringstream message;
+ message << "Illegal value for cone radius, R = " << _radius
+ << " (legal values are 0<R<pi/2)";
+ throw siscone::Csiscone_error(message.str());
+ }
+
+ ptcomparison.split_merge_scale = _ordering_scale;
+ partial_clear(); // make sure some things are initialised properly
+
+ // init the split_merge algorithm with the initial list of particles
+ // this initialises particle list p_left of remaining particles to deal with
+ //
+ // this stores the "processed" particles in p_uncol_hard
+ init_particles(_particles);
+ jets.clear();
+
+ bool unclustered_left;
+ rerun_allowed = false;
+ protocones_list.clear();
+
+ do{
+ //cout << n_left << " particle left" << endl;
+
+ // initialise stable_cone finder
+ // here we use the list of remaining particles
+ // AFTER COLLINEAR CLUSTERING !!!!!!
+ CSphstable_cones::init(p_uncol_hard);
+
+ // get stable cones (stored in 'protocones')
+ unclustered_left = get_stable_cones(_radius);
+
+ // add the hardest stable cone to the list of jets
+ if (add_hardest_protocone_to_jets(&protocones, R2, _Emin)) break;
+
+ _n_pass_max--;
+ } while ((unclustered_left) && (n_left>0) && (_n_pass_max!=0));
+
+ // split & merge
+ return jets.size();
+}
+/*
+ * recompute the jets with a different overlap parameter.
+ * we use the same particles and R as in the preceeding call.
+ * - _f shared energy threshold for splitting&merging
+ * - _Emin minimum Energy of the protojets
+ * - _split_merge_scale the scale choice for the split-merge procedure
+ * NOTE: using pt leads to IR unsafety for some events with momentum
+ * conservation. So we strongly advise not to change the default
+ * value.
+ * return the number of jets found, -1 if recomputation not allowed.
+ ********************************************************************/
+int CSphsiscone::recompute_jets(double _f, double _Emin,
+ Esplit_merge_scale _split_merge_scale){
+ if (!rerun_allowed)
+ return -1;
+
+ ptcomparison.split_merge_scale = _split_merge_scale;
+
+ // restore particle list
+ partial_clear();
+ init_pleft();
+
+ // initialise split/merge algorithm
+ unsigned int i;
+ for (i=0;i<protocones_list.size();i++)
+ add_protocones(&(protocones_list[i]), R2, _Emin);
+
+ // split & merge
+ return perform(_f, _Emin);
+}
+
+
+// make sure things are initialised
+void CSphsiscone::_initialise_if_needed(){
+ // initialise random number generator
+ if (init_done) return;
+
+ // initialise random number generator
+ siscone::ranlux_init();
+
+ // do not do this again
+ init_done=true;
+
+ // print the banner
+ if (_banner_ostr != 0){
+ ios::fmtflags flags_to_restore(_banner_ostr->flags());
+
+ (*_banner_ostr) << "#ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo" << endl;
+ (*_banner_ostr) << "# SISCone version " << setw(28) << left << siscone_version() << "o" << endl;
+ (*_banner_ostr) << "# http://projects.hepforge.org/siscone o" << endl;
+ (*_banner_ostr) << "# o" << endl;
+ (*_banner_ostr) << "# This is SISCone: the Seedless Infrared Safe Cone Jet Algorithm o" << endl;
+ (*_banner_ostr) << "# SISCone was written by Gavin Salam and Gregory Soyez o" << endl;
+ (*_banner_ostr) << "# It is released under the terms of the GNU General Public License o" << endl;
+ (*_banner_ostr) << "# o" << endl;
+ (*_banner_ostr) << "# !!! WARNING !!! o" << endl;
+ (*_banner_ostr) << "# This is the version of SISCone using spherical coordinates o" << endl;
+ (*_banner_ostr) << "# o" << endl;
+ (*_banner_ostr) << "# A description of the algorithm is available in the publication o" << endl;
+ (*_banner_ostr) << "# JHEP 05 (2007) 086 [arXiv:0704.0292 (hep-ph)]. o" << endl;
+ (*_banner_ostr) << "# Please cite it if you use SISCone. o" << endl;
+ (*_banner_ostr) << "#ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo" << endl;
+ (*_banner_ostr) << endl;
+
+ _banner_ostr->flush();
+ _banner_ostr->flags(flags_to_restore);
+ }
+}
+
+// finally, a bunch of functions to access to
+// basic information (package name, version)
+//---------------------------------------------
+
+/*
+ * return SISCone package name.
+ * This is nothing but "SISCone", it is a replacement to the
+ * PACKAGE_NAME string defined in config.h and which is not
+ * public by default.
+ * return the SISCone name as a string
+ */
+string siscone_package_name(){
+ return PACKAGE_NAME;
+}
+
+/*
+ * return SISCone version number.
+ * return a string of the form "X.Y.Z" with possible additional tag
+ * (alpha, beta, devel) to mention stability status
+ */
+string siscone_version(){
+ return VERSION;
+}
+
+}
Property changes on: tags/siscone-3.0.2/siscone/spherical/siscone.cpp
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Date Rev
\ No newline at end of property
Index: tags/siscone-3.0.2/siscone/spherical/momentum.h
===================================================================
--- tags/siscone-3.0.2/siscone/spherical/momentum.h (revision 0)
+++ tags/siscone-3.0.2/siscone/spherical/momentum.h (revision 398)
@@ -0,0 +1,312 @@
+// -*- C++ -*-
+///////////////////////////////////////////////////////////////////////////////
+// File: momentum.h //
+// Description: header file for 4-momentum class Cmomentum //
+// This file is part of the SISCone project. //
+// WARNING: this is not the main SISCone trunk but //
+// an adaptation to spherical coordinates //
+// For more details, see http://projects.hepforge.org/siscone //
+// //
+// Copyright (c) 2006-2008 Gavin Salam and Gregory Soyez //
+// //
+// This program is free software; you can redistribute it and/or modify //
+// it under the terms of the GNU General Public License as published by //
+// the Free Software Foundation; either version 2 of the License, or //
+// (at your option) any later version. //
+// //
+// This program is distributed in the hope that it will be useful, //
+// but WITHOUT ANY WARRANTY; without even the implied warranty of //
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
+// GNU General Public License for more details. //
+// //
+// You should have received a copy of the GNU General Public License //
+// along with this program; if not, write to the Free Software //
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
+// //
+// $Revision:: $//
+// $Date:: $//
+///////////////////////////////////////////////////////////////////////////////
+
+#ifndef __SPH_VECTOR_H__
+#define __SPH_VECTOR_H__
+
+#include <vector>
+#include <math.h>
+#include <siscone/reference.h>
+#include "geom_2d.h"
+#include <siscone/defines.h>
+
+namespace siscone_spherical{
+
+/**
+ * \class CSph3vector
+ * \brief base class for managing the spatial part of Cmomentum (defined after)
+ *
+ * This class contains the information for particle or group of
+ * particles management.
+ * It is adapted to use spherical geometry, where, for our purposes,
+ * the only time-consuming operation we need is the computation of
+ * the norm. To compute it once-and-for-all and store it in a local
+ * variable, you should call the 'build_norm' method.
+ * On top of that, the angle phi is computed from the x-axis
+ * and theta from the "north pole".
+ */
+class CSph3vector{
+ public:
+ /// default ctor
+ CSph3vector();
+
+ /// ctor with initialisation
+ CSph3vector(double _px, double _py, double _pz);
+
+ /// default dtor
+ ~CSph3vector();
+
+ /// assignment of vectors
+ CSph3vector& operator = (const CSph3vector &v);
+
+ /// addition of vectors
+ /// WARNING= norm is not updated
+ const CSph3vector operator + (const CSph3vector &v);
+
+ /// subtraction of vectors
+ /// WARNING= norm is not updated
+ const CSph3vector operator - (const CSph3vector &v);
+
+ /// division by a constant
+ /// WARNING= norm is not updated
+ const CSph3vector operator / (const double &r);
+
+ /// incrementation of vectors
+ /// WARNING= norm is not updated
+ CSph3vector& operator += (const CSph3vector &v);
+
+ /// decrementation of vectors
+ /// WARNING= norm is not updated
+ CSph3vector& operator -= (const CSph3vector &v);
+
+ /// multiplication by a constant
+ /// WARNING= norm is not updated
+ CSph3vector& operator *= (const double &r);
+
+ /// division by a constant
+ /// WARNING= norm is not updated
+ CSph3vector& operator /= (const double &r);
+
+ /// computes pT
+ inline double perp() const {return sqrt(perp2());}
+
+ /// computes pT^2
+ inline double perp2() const {return px*px+py*py;}
+
+ /// 3-vect norm
+ inline double norm() const {return sqrt(px*px+py*py+pz*pz);}
+
+ /// 3-vect norm squared
+ inline double norm2() const {return px*px+py*py+pz*pz;}
+
+ /// 3-vect azimuthal angle
+ inline double phi() const {return atan2(py, px);}
+
+ /// 3-vect polar angle
+ inline double theta() const {return atan2(perp(),pz);}
+
+ /// build the spatial normfrom 4-momentum info
+ /// !!! WARNING !!!
+ /// !!! computing the norm is the only time-consuming !!!
+ /// !!! information we need in all computations. !!!
+ /// !!! use this whenever you need repeated access !!!
+ /// !!! to the norm to store it in the local variable !!!
+ void build_norm();
+
+ /// just a useful tool to store theta and phi
+ /// locally (in _theta and _phi) in case you need
+ /// repeated access
+ void build_thetaphi();
+
+ /// for this direction, compute the two reference directions
+ /// used to measure angles
+ void get_angular_directions(CSph3vector &angular_dir1, CSph3vector &angular_dir2);
+
+ double px; ///< x-momentum
+ double py; ///< y-momentum
+ double pz; ///< z-momentum
+
+ double _norm; ///< particle spatial norm (available ONLY after a call to build_norm)
+ double _theta; ///< particle theta angle (available ONLY after a call to build_thetaphi)
+ double _phi; ///< particle phi angle (available ONLY after a call to build_thetaphi)
+
+ //////////////////////////////////////////////
+ // the following part is used for checksums //
+ //////////////////////////////////////////////
+ siscone::Creference ref; ///< reference number for the vector
+};
+
+/**
+ * \class CSphmomentum
+ * \brief base class for dynamic coordinates management
+ *
+ * This class contains the information for particle or group of
+ * particles management.
+ * It is adapted to use spherical geometry, where, for our purposes,
+ * the only time-consuming operation we need is the computation of
+ * the norm. To compute it once-and-for-all and store it in a local
+ * variable, you should call the 'build_norm' method.
+ * On top of that, the angle phi is computed from the x-axis
+ * and theta from the "north pole".
+ */
+class CSphmomentum : public CSph3vector{
+ public:
+ /// default ctor
+ CSphmomentum();
+
+ /// init from a 3-vect
+ CSphmomentum(CSph3vector &init, double E=0.0);
+
+ /// ctor with initialisation
+ CSphmomentum(double _px, double _py, double _pz, double _E);
+
+ /// ctor with detailed initialisation
+ //CSphmomentum(double _eta, double _phi, siscone::Creference _ref);
+
+ /// default dtor
+ ~CSphmomentum();
+
+ /// computes m
+ inline double mass() const {return sqrt(mass2());}
+
+ /// computes m^2
+ inline double mass2() const {return perpmass2()-perp2();}
+
+ /// transverse mass, mt = sqrt(pt^2+m^2) = sqrt(E^2 - pz^2)
+ inline double perpmass() const {return sqrt((E-pz)*(E+pz));}
+
+ /// transverse mass squared, mt^2 = pt^2+m^2 = E^2 - pz^2
+ inline double perpmass2() const {return (E-pz)*(E+pz);}
+
+ /// computes transverse energy
+ inline double Et() const {return E/sqrt(1.0+pz*pz/perp2());}
+
+ /// computes transverse energy (squared)
+ inline double Et2() const {return E*E/(1.0+pz*pz/perp2());}
+
+ /// assignment of vectors
+ CSphmomentum& operator = (const CSphmomentum &v);
+
+ /// addition of vectors
+ /// !!! WARNING !!! no updating of eta and phi !!!
+ const CSphmomentum operator + (const CSphmomentum &v);
+
+ /// incrementation of vectors
+ /// !!! WARNING !!! no updating of eta and phi !!!
+ CSphmomentum& operator += (const CSphmomentum &v);
+
+ /// decrementation of vectors
+ /// !!! WARNING !!! no updating of eta and phi !!!
+ CSphmomentum& operator -= (const CSphmomentum &v);
+
+ double E; ///< energy
+
+ int parent_index; ///< particle number in the parent list
+ int index; ///< internal particle number
+};
+
+/// ordering of two vectors
+/// this is by default done w.r.t. their references
+bool operator < (const CSphmomentum &v1, const CSphmomentum &v2);
+
+/// ordering of vectors in eta (e.g. used in collinear tests)
+bool momentum_theta_less(const CSphmomentum &v1, const CSphmomentum &v2);
+
+/// ordering of vectors in pt
+bool momentum_pt_less(const CSphmomentum &v1, const CSphmomentum &v2);
+
+
+//////////////////////////
+// some handy utilities //
+//////////////////////////
+
+/// square
+inline double sqr(double x){return x*x;}
+
+/// dot product for te spatial 3-vect
+/// \param v1 first 4-vect
+/// \param v2 second 4-vect
+inline double dot_product3(const CSph3vector &v1, const CSph3vector &v2){
+ //double tmp = v1.px*v2.px + v1.py*v2.py + v1.pz*v2.pz;
+ //if (!isfinite(tmp)){
+ // std::cout << "dot_product inf: " << std::endl;
+ // std::cout << " angles: " << v1._theta << " " << v1._phi << " and " << v2._theta << " " << v2._phi << std::endl;
+ // std::cout << " moms : " << v1.px << " " << v1.py << " " << v1.pz
+ // << " and " << v2.px << " " << v2.py << " " << v2.pz << std::endl;
+ //}
+ return v1.px*v2.px + v1.py*v2.py + v1.pz*v2.pz;
+}
+
+/// cross product for the spatial 3-vect
+/// \param v1 first 4-vect
+/// \param v2 second 4-vect
+inline CSph3vector cross_product3(const CSph3vector &v1, const CSph3vector &v2){
+ //CSph3vector tmp;
+ //tmp.px = v1.py*v2.pz-v1.pz*v2.py;
+ //tmp.py = v1.pz*v2.px-v1.px*v2.pz;
+ //tmp.pz = v1.px*v2.py-v1.py*v2.px;
+ //return tmp;
+ return CSph3vector(v1.py*v2.pz-v1.pz*v2.py,
+ v1.pz*v2.px-v1.px*v2.pz,
+ v1.px*v2.py-v1.py*v2.px);
+}
+
+/// squared norm of the cross product for the spatial 3-vect (energy is set to 0)
+/// \param v1 first 4-vect
+/// \param v2 second 4-vect
+inline double norm2_cross_product3(const CSph3vector &v1, const CSph3vector &v2){
+ return sqr(v1.py*v2.pz-v1.pz*v2.py) + sqr(v1.pz*v2.px-v1.px*v2.pz) + sqr(v1.px*v2.py-v1.py*v2.px);
+}
+
+/// get tangent squared of the spherical distance between two vectors
+/// \param v1 vector defining the first point
+/// \param v2 vector defining the second point
+inline double get_tan2_distance(const CSphmomentum &v1, const CSphmomentum &v2){
+ return norm2_cross_product3(v1,v2)/sqr(dot_product3(v1,v2));
+}
+
+/// get spherical distance between to vectors
+/// \param v1 vector defining the first point
+/// \param v2 vector defining the second point
+inline double get_distance(const CSph3vector *v1, const CSph3vector *v2){
+ return atan2(sqrt(norm2_cross_product3(*v1,*v2)), dot_product3(*v1,*v2));
+}
+
+/// return true if the two points are distant by less than get spherical distance between two vectors
+/// \param v1 vector defining the first point
+/// \param v2 vector defining the second point
+/// \param tan2R tangent squared of the max distance
+/// WARNING: using the tangent here is dangerous for R>pi/2.
+/// this never happens per se for "regular R" but
+/// it may in the vicinity computation as we're using
+/// 2R there.
+inline bool is_closer(const CSph3vector *v1, const CSph3vector *v2, const double tan2R){
+ double dot = dot_product3(*v1,*v2);
+ return (dot>=0) && (norm2_cross_product3(*v1,*v2)<=tan2R*dot*dot);
+}
+
+/// return true if the two points are distant by less than get spherical distance between to vectors
+/// \param v1 vector defining the first point
+/// \param v2 vector defining the second point
+/// \param tan2R tangent squared of the max distance
+/// safer version but computes the norm
+inline bool is_closer_safer(const CSph3vector *v1, const CSph3vector *v2, const double cosR){
+ return dot_product3(*v1,*v2)>=cosR*sqrt(v1->norm2()*v2->norm2());
+ //double dot = dot_product3(*v1,*v2);
+ //return (dot>=0) && (norm2_cross_product3(*v1,*v2)<tan2R*dot*dot);
+}
+
+/// multiply a vector by a constant
+/// WARNING: norm not updated
+inline CSph3vector operator * (const double &r, const CSph3vector &v){
+ CSph3vector tmp = v;
+ return tmp*=r;
+}
+}
+#endif
Property changes on: tags/siscone-3.0.2/siscone/spherical/momentum.h
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Date Rev
\ No newline at end of property
Index: tags/siscone-3.0.2/siscone/spherical/siscone.h
===================================================================
--- tags/siscone-3.0.2/siscone/spherical/siscone.h (revision 0)
+++ tags/siscone-3.0.2/siscone/spherical/siscone.h (revision 398)
@@ -0,0 +1,173 @@
+// -*- C++ -*-
+///////////////////////////////////////////////////////////////////////////////
+// File: siscone.h //
+// Description: header file for the main SISCone class //
+// This file is part of the SISCone project. //
+// WARNING: this is not the main SISCone trunk but //
+// an adaptation to spherical coordinates //
+// For more details, see http://projects.hepforge.org/siscone //
+// //
+// Copyright (c) 2006-2008 Gavin Salam and Gregory Soyez //
+// //
+// This program is free software; you can redistribute it and/or modify //
+// it under the terms of the GNU General Public License as published by //
+// the Free Software Foundation; either version 2 of the License, or //
+// (at your option) any later version. //
+// //
+// This program is distributed in the hope that it will be useful, //
+// but WITHOUT ANY WARRANTY; without even the implied warranty of //
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
+// GNU General Public License for more details. //
+// //
+// You should have received a copy of the GNU General Public License //
+// along with this program; if not, write to the Free Software //
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
+// //
+// $Revision:: $//
+// $Date:: $//
+///////////////////////////////////////////////////////////////////////////////
+
+#ifndef __SPH_SISCONE_H__
+#define __SPH_SISCONE_H__
+
+#include "protocones.h"
+#include "split_merge.h"
+
+namespace siscone_spherical{
+
+/**
+ * \class CSphsiscone
+ * final class: gather everything to compute the jet contents.
+ *
+ * This is the class user should use.
+ * It computes the jet contents of a list of particles
+ * given a cone radius and a threshold for splitting/merging.
+ *
+ * After the call to 'perform', the vector jets is filled with
+ * the jets found. the 'contents' field of each jets contains
+ * the indices of the particles included in that jet.
+ */
+class CSphsiscone : public CSphstable_cones, public CSphsplit_merge{
+ public:
+ /// default ctor
+ CSphsiscone();
+
+ /// default dtor
+ ~CSphsiscone();
+
+ /**
+ * compute the jets from a given particle set.
+ * We are doing multiple passes such pass n_pass looks for jets among
+ * all particles not put into jets during previous passes.
+ * By default the number of passes is infinite (0).
+ * \param _particles list of particles
+ * \param _radius cone radius
+ * \param _f shared energy threshold for splitting&merging
+ * \param _n_pass_max maximum number of passes (0=full search)
+ * \param _Emin minimum energy of the protojets
+ * \param _split_merge_scale the scale choice for the split-merge procedure
+ * NOTE: SM_Etilde
+ * is always IR safe
+ * SM_E
+ * is IR unsafe for events with mom. conservation
+ *
+ * \return the number of jets found.
+ */
+ int compute_jets(std::vector<CSphmomentum> &_particles, double _radius, double _f,
+ int _n_pass_max=0, double _Emin=0.0,
+ Esplit_merge_scale _split_merge_scale=SM_Etilde);
+
+ /**
+ * compute the jets from a given particle set.
+ * We are doing multiple passes such pass n_pass looks for jets among
+ * all particles not put into jets during previous passes.
+ * By default the number of passes is infinite (0).
+ * \param _particles list of particles
+ * \param _radius cone radius
+ * \param _n_pass_max maximum number of passes (0=full search)
+ * \param _Emin minimum energy of the protojets
+ * \param _ordering_scale the ordering scale to decide which stable
+ * cone is removed
+ *
+ * \return the number of jets found.
+ */
+ int compute_jets_progressive_removal(std::vector<CSphmomentum> &_particles, double _radius,
+ int _n_pass_max=0, double _Emin=0.0,
+ Esplit_merge_scale _ordering_scale=SM_Etilde);
+
+ /**
+ * recompute the jets with a different overlap parameter.
+ * we use the same particles and R as in the preceeding call.
+ * \param _f shared energy threshold for splitting&merging
+ * \param _Emin minimum energy of the protojets
+ * \param _split_merge_scale the scale choice for the split-merge procedure
+ * split--merge variable
+ * NOTE: using pt leads to IR unsafety for some events with momentum
+ * conservation. So we strongly advise not to change the default
+ * value.
+ * \return the number of jets found, -1 if recomputation not allowed.
+ */
+ int recompute_jets(double _f, double _Emin = 0.0,
+ Esplit_merge_scale _split_merge_scale=SM_Etilde);
+
+ /// list of protocones found pass-by-pass
+ std::vector<std::vector<CSphmomentum> > protocones_list;
+
+ // random number initialisation
+ static bool init_done; ///< check random generator initialisation
+
+#ifdef DEBUG_STABLE_CONES
+ int nb_hash_cones_total, nb_hash_occupied_total;
+#endif
+
+ /**
+ * A call to this function modifies the stream
+ * used to print banners (by default cout).
+ *
+ * Please note that if you distribute 3rd party code
+ * that links with SISCone, that 3rd party code must not
+ * use this call turn off the printing of thw banner
+ * by default. This requirement reflects the spirit of
+ * clause 2c of the GNU Public License (v2), under which
+ * SISCone is distributed.
+ */
+ static void set_banner_stream(std::ostream * ostr) {_banner_ostr = ostr;}
+
+ /**
+ * returns a pointer to the stream to be used to print banners
+ * (cout by default)
+ */
+ static std::ostream * banner_stream() {return _banner_ostr;}
+
+ private:
+ bool rerun_allowed; ///< is recompute_jets allowed ?
+ static std::ostream * _banner_ostr; ///< stream to use for banners
+
+ /// ensure things are initialised
+ void _initialise_if_needed();
+
+};
+
+
+// finally, a bunch of functions to access to
+// basic information (package name, version)
+//---------------------------------------------
+
+/**
+ * return SISCone package name.
+ * This is nothing but "SISCone", it is a replacement to the
+ * PACKAGE_NAME string defined in config.h and which is not
+ * public by default.
+ * \return the SISCone name as a string
+ */
+std::string siscone_package_name();
+
+/**
+ * return SISCone version number.
+ * \return a string of the form "X.Y.Z" with possible additional tag
+ * (alpha, beta, devel) to mention stability status
+ */
+std::string siscone_version();
+
+}
+#endif
Property changes on: tags/siscone-3.0.2/siscone/spherical/siscone.h
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Date Rev
\ No newline at end of property
Index: tags/siscone-3.0.2/siscone/spherical/split_merge.cpp
===================================================================
--- tags/siscone-3.0.2/siscone/spherical/split_merge.cpp (revision 0)
+++ tags/siscone-3.0.2/siscone/spherical/split_merge.cpp (revision 398)
@@ -0,0 +1,1201 @@
+///////////////////////////////////////////////////////////////////////////////
+// File: split_merge.cpp //
+// Description: source file for splitting/merging (contains the CJet class) //
+// This file is part of the SISCone project. //
+// WARNING: this is not the main SISCone trunk but //
+// an adaptation to spherical coordinates //
+// For more details, see http://projects.hepforge.org/siscone //
+// //
+// Copyright (c) 2006-2008 Gavin Salam and Gregory Soyez //
+// //
+// This program is free software; you can redistribute it and/or modify //
+// it under the terms of the GNU General Public License as published by //
+// the Free Software Foundation; either version 2 of the License, or //
+// (at your option) any later version. //
+// //
+// This program is distributed in the hope that it will be useful, //
+// but WITHOUT ANY WARRANTY; without even the implied warranty of //
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
+// GNU General Public License for more details. //
+// //
+// You should have received a copy of the GNU General Public License //
+// along with this program; if not, write to the Free Software //
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
+// //
+// $Revision:: $//
+// $Date:: $//
+///////////////////////////////////////////////////////////////////////////////
+
+#include <siscone/siscone_error.h>
+#include "split_merge.h"
+#include "momentum.h"
+#include <limits> // for max
+#include <iostream>
+#include <algorithm>
+#include <sstream>
+#include <cassert>
+#include <cmath>
+
+namespace siscone_spherical{
+
+using namespace std;
+
+/********************************************************
+ * class CSphjet implementation *
+ * real Jet information. *
+ * This class contains information for one single jet. *
+ * That is, first, its momentum carrying information *
+ * about its centre and pT, and second, its particle *
+ * contents *
+ ********************************************************/
+// default ctor
+//--------------
+CSphjet::CSphjet(){
+ n = 0;
+ v = CSphmomentum();
+ E_tilde = 0.0;
+ sm_var2 = 0.0;
+ pass = CJET_INEXISTENT_PASS; // initialised to a value that should
+ // notappear in the end (after clustering)
+}
+
+// default dtor
+//--------------
+CSphjet::~CSphjet(){
+
+}
+
+// ordering of jets in E (e.g. used in final jets ordering)
+//----------------------------------------------------------
+bool jets_E_less(const CSphjet &j1, const CSphjet &j2){
+ return j1.v.E > j2.v.E;
+}
+
+
+/********************************************************
+ * CSphsplit_merge_ptcomparison implementation *
+ * This deals with the ordering of the jets candidates *
+ ********************************************************/
+
+// odering of two jets
+// The variable of the ordering is pt or mt
+// depending on 'split_merge_scale' choice
+//
+// with EPSILON_SPLITMERGE defined, this attempts to identify
+// delicate cases where two jets have identical momenta except for
+// softish particles -- the difference of pt's may not be correctly
+// identified normally and so lead to problems for the fate of the
+// softish particle.
+//
+// NB: there is a potential issue in momentum-conserving events,
+// whereby the harder of two jets becomes ill-defined when a soft
+// particle is emitted --- this may have a knock-on effect on
+// subsequent split-merge steps in cases with sufficiently large R
+// (but we don't know what the limit is...)
+//------------------------------------------------------------------
+bool CSphsplit_merge_ptcomparison::operator ()(const CSphjet &jet1, const CSphjet &jet2) const{
+ double q1, q2;
+
+ // compute the value for comparison for both jets
+ // This depends on the choice of variable (mt is the default)
+ q1 = jet1.sm_var2;
+ q2 = jet2.sm_var2;
+
+ bool res = q1 > q2;
+
+ // if we enable the refined version of the comparison (see defines.h),
+ // we compute the difference more precisely when the two jets are very
+ // close in the ordering variable.
+#ifdef EPSILON_SPLITMERGE
+ if ( (fabs(q1-q2) < EPSILON_SPLITMERGE*max(q1,q2)) &&
+ (jet1.v.ref != jet2.v.ref) ) {
+#ifdef DEBUG_SPLIT_MERGE
+ cout << "Using high-precision ordering tests" << endl;
+#endif
+ // get the momentum of the difference
+ CSphmomentum difference;
+ double E_tilde_difference;
+ get_difference(jet1,jet2,&difference,&E_tilde_difference);
+
+ // use the following relation: pt1^2 - pt2^2 = (pt1+pt2)*(pt1-pt2)
+ double qdiff;
+ CSphmomentum sum = jet1.v ;
+ sum += jet2.v;
+ double E_tilde_sum = jet1.E_tilde + jet2.E_tilde;
+
+ // depending on the choice of ordering variable, set the result
+ switch (split_merge_scale){
+ case SM_Etilde:
+ qdiff = E_tilde_sum*E_tilde_difference;
+ break;
+ case SM_E:
+ qdiff = sum.E*difference.E;
+ break;
+ default:
+ throw siscone::Csiscone_error("Unsupported split-merge scale choice: "
+ + SM_scale_name());
+ }
+ res = qdiff > 0;
+ }
+#endif // EPSILON_SPLITMERGE
+
+ return res;
+}
+
+
+/// return a name for the sm scale choice
+/// NB: used internally and also by fastjet
+std::string split_merge_scale_name(Esplit_merge_scale sms) {
+ switch(sms) {
+ case SM_E:
+ return "E (IR unsafe for pairs of identical decayed heavy particles)";
+ case SM_Etilde:
+ return "Etilde (sum of E.[1+sin^2(theta_{i,jet})])";
+ default:
+ return "[SM scale without a name]";
+ }
+}
+
+
+// get the difference between 2 jets
+// - j1 first jet
+// - j2 second jet
+// - v jet1-jet2
+// - pt_tilde jet1-jet2 pt_tilde
+// return true if overlapping, false if disjoint
+//-----------------------------------------------
+void CSphsplit_merge_ptcomparison::get_difference(const CSphjet &j1, const CSphjet &j2,
+ CSphmomentum *v, double *E_tilde) const {
+ int i1,i2;
+
+ // initialise
+ i1=i2=0;
+ *v = CSphmomentum();
+ *E_tilde = 0.0;
+
+ CSph3vector jet1_axis = j1.v;
+ //jet1_axis /= j1.v._norm;
+ jet1_axis /= j1.v.E;
+ CSph3vector jet2_axis = j2.v;
+ //jet2_axis /= j2.v._norm;
+ jet2_axis /= j2.v.E;
+
+ // compute overlap
+ // at the same time, we store union in indices
+ // note tat for Etilde, we'll add the direct energy contributino at the end
+ do{
+ if (j1.contents[i1]==j2.contents[i2]) {
+ const CSphmomentum & p = (*particles)[j1.contents[i1]];
+ (*E_tilde) += p.E*((norm2_cross_product3(p,jet1_axis)-norm2_cross_product3(p,jet2_axis))/(*particles_norm2)[j1.contents[i1]]);
+ i1++;
+ i2++;
+ } else if (j1.contents[i1]<j2.contents[i2]){
+ const CSphmomentum & p = (*particles)[j1.contents[i1]];
+ (*v) += p;
+ (*E_tilde) += p.E*norm2_cross_product3(p,jet1_axis)/(*particles_norm2)[j1.contents[i1]];
+ i1++;
+ } else if (j1.contents[i1]>j2.contents[i2]){
+ const CSphmomentum &p = (*particles)[j2.contents[i2]];
+ (*v) -= p;
+ (*E_tilde) -= p.E*norm2_cross_product3(p,jet2_axis)/(*particles_norm2)[j2.contents[i2]];
+ i2++;
+ } else {
+ throw siscone::Csiscone_error("get_non_overlap reached part it should never have seen...");
+ }
+ } while ((i1<j1.n) && (i2<j2.n));
+
+ // deal with particles at the end of the list...
+ while (i1 < j1.n) {
+ const CSphmomentum &p = (*particles)[j1.contents[i1]];
+ (*v) += p;
+ (*E_tilde) += p.E*norm2_cross_product3(p,jet1_axis)/(*particles_norm2)[j1.contents[i1]];
+ i1++;
+ }
+ while (i2 < j2.n) {
+ const CSphmomentum &p = (*particles)[j2.contents[i2]];
+ (*v) -= p;
+ (*E_tilde) -= p.E*norm2_cross_product3(p,jet2_axis)/(*particles_norm2)[j2.contents[i2]];
+ i2++;
+ }
+
+ // add the direct energy contribution to Etilde
+ (*E_tilde) += v->E;
+}
+
+
+/********************************************************
+ * class CSphsplit_merge implementation *
+ * Class used to split and merge jets. *
+ ********************************************************/
+// default ctor
+//--------------
+CSphsplit_merge::CSphsplit_merge(){
+ merge_identical_protocones = false;
+#ifdef ALLOW_MERGE_IDENTICAL_PROTOCONES
+#ifdef MERGE_IDENTICAL_PROTOCONES_DEFAULT_TRUE
+ merge_identical_protocones = true;
+#endif
+#endif
+ _user_scale = NULL;
+ indices = NULL;
+
+ // ensure that ptcomparison points to our set of particles (though params not correct)
+ ptcomparison.particles = &particles;
+ ptcomparison.particles_norm2 = &particles_norm2;
+ candidates.reset(new multiset<CSphjet,CSphsplit_merge_ptcomparison>(ptcomparison));
+
+ // no hardest cut (col-unsafe)
+ SM_var2_hardest_cut_off = -numeric_limits<double>::max();
+
+ // no energy cutoff for the particles to put in p_uncol_hard
+ stable_cone_soft_E2_cutoff = -1.0;
+
+ // no pt-weighted splitting
+ use_E_weighted_splitting = false;
+}
+
+
+// default dtor
+//--------------
+CSphsplit_merge::~CSphsplit_merge(){
+ full_clear();
+}
+
+
+// initialisation function
+// - _particles list of particles
+// - protocones list of protocones (initial jet candidates)
+// - R2 cone radius (squared)
+// - Emin minimal energy allowed for jets
+//-------------------------------------------------------------
+int CSphsplit_merge::init(vector<CSphmomentum> & /*_particles*/, vector<CSphmomentum> *protocones, double R2, double Emin){
+ // browse protocones
+ return add_protocones(protocones, R2, Emin);
+}
+
+
+// initialisation function for particle list
+// - _particles list of particles
+//-------------------------------------------------------------
+int CSphsplit_merge::init_particles(vector<CSphmomentum> &_particles){
+ full_clear();
+
+ // compute the list of particles
+ // here, we do not need to throw away particles
+ // with infinite rapidity (colinear with the beam)
+ particles = _particles;
+ n = particles.size();
+
+ // store the particle norm^2
+ particles_norm2.resize(n);
+ for (int i=0;i<n;i++){
+ particles_norm2[i] = particles[i].norm2();
+ }
+
+ // ensure that ptcomparison points to our set of particles (though params not correct)
+ ptcomparison.particles = &particles;
+ ptcomparison.particles_norm2 = &particles_norm2;
+
+ // set up the list of particles left.
+ init_pleft();
+
+ indices = new int[n];
+
+ return 0;
+}
+
+
+// build initial list of remaining particles
+//------------------------------------------
+int CSphsplit_merge::init_pleft(){
+ // at this level, we only rule out particles with
+ // infinite rapidity
+ // in the parent particle list, index contain the run
+ // at which particles are puts in jets:
+ // - -1 means infinity rapidity
+ // - 0 means not included
+ // - i mean included at run i
+ int i,j;
+
+ // copy particles removing the ones with infinite rapidity
+ j=0;
+ p_remain.clear();
+ for (i=0;i<n;i++){
+ // set ref for checkxor
+ particles[i].ref.randomize();
+
+ //REMOVED: check if rapidity is not infinite or ill-defined
+ //if (fabs(particles[i].pz) < (particles[i].E)){
+ p_remain.push_back(particles[i]);
+ // set up parent index for tracability
+ p_remain[j].parent_index = i;
+ // left particles are marked with a 1
+ // IMPORTANT NOTE: the meaning of index in p_remain is
+ // somehow different as in the initial particle list.
+ // here, within one pass, we use the index to track whether
+ // a particle is included in the current pass (index set to 0
+ // in add_protocones) or still remain (index still 1)
+ p_remain[j].index = 1;
+
+ j++;
+ // set up parent-particle index
+ particles[i].index = 0;
+ //} else {
+ // particles[i].index = -1;
+ //}
+ }
+ n_left = p_remain.size();
+ n_pass = 0;
+
+ merge_collinear_and_remove_soft();
+
+ return 0;
+}
+
+
+// partial clearance
+// we want to keep particle list and indices
+// for future usage, so do not clear it !
+// this is done in full_clear
+//----------------------------------------
+int CSphsplit_merge::partial_clear(){
+ // release jets
+
+ // set up the auto_ptr for the multiset with the _current_ state of
+ // ptcomparison (which may have changed since we constructed the
+ // class)
+ candidates.reset(new multiset<CSphjet,CSphsplit_merge_ptcomparison>(ptcomparison));
+
+ // start off with huge number
+ most_ambiguous_split = numeric_limits<double>::max();
+
+ jets.clear();
+#ifdef ALLOW_MERGE_IDENTICAL_PROTOCONES
+ if (merge_identical_protocones)
+ cand_refs.clear();
+#endif
+
+ p_remain.clear();
+
+ return 0;
+}
+
+
+// full clearance
+//----------------
+int CSphsplit_merge::full_clear(){
+ partial_clear();
+
+ // clear previously allocated memory
+ if (indices != NULL){
+ delete[] indices;
+ }
+ particles.clear();
+
+ return 0;
+}
+
+
+// build the list 'p_uncol_hard' from p_remain by clustering collinear particles
+// note that thins in only used for stable-cone detection
+// so the parent_index field is unnecessary
+//-------------------------------------------------------------------------
+int CSphsplit_merge::merge_collinear_and_remove_soft(){
+ int i,j;
+ vector<CSphmomentum> p_sorted;
+ bool collinear;
+ double dphi;
+
+ p_uncol_hard.clear();
+
+ // we first sort the particles according to their theta angle
+ for (i=0;i<n_left;i++)
+ p_sorted.push_back(p_remain[i]);
+ sort(p_sorted.begin(), p_sorted.end(), momentum_theta_less);
+
+ // then we cluster particles looping over the particles in the following way
+ // if (a particle i has same eta-phi a one after (j))
+ // then add momentum i to j
+ // else add i to the p_uncol_hard list
+ i = 0;
+ while (i<n_left){
+ // check if the particle passes the stable_cone_soft_E2_cutoff
+ if (p_sorted[i].E*p_sorted[i].E<stable_cone_soft_E2_cutoff) {
+ i++;
+ continue;
+ }
+
+ // check if there is(are) particle(s) with the 'same' theta
+ collinear = false;
+ j=i+1;
+ while ((j<n_left) && (fabs(p_sorted[j]._theta-p_sorted[i]._theta)<EPSILON_COLLINEAR) && (!collinear)){
+ dphi = fabs(p_sorted[j]._phi-p_sorted[i]._phi);
+ if (dphi>M_PI) dphi = twopi-dphi;
+ if (dphi<EPSILON_COLLINEAR){
+ // i is collinear with j; add the momentum (i) to the momentum (j)
+#ifdef DEBUG_SPLIT_MERGE
+ cout << "# collinear merging at point " << p_sorted[i]._theta << ", " << p_sorted[j]._phi << endl;
+#endif
+ p_sorted[j] += p_sorted[i];
+ //p_sorted[j].build_thetaphi();
+ p_sorted[j].build_norm();
+ // set collinearity test to true
+ collinear = true;
+ }
+ j++;
+ }
+ // if no collinearity detected, add the particle to our list
+ if (!collinear)
+ p_uncol_hard.push_back(p_sorted[i]);
+ i++;
+ }
+
+ return 0;
+}
+
+
+// add a list of protocones
+// - protocones list of protocones (initial jet candidates)
+// - R2 cone radius (squared)
+// - Emin minimal energy allowed for jets
+//-------------------------------------------------------------
+int CSphsplit_merge::add_protocones(vector<CSphmomentum> *protocones, double R2, double Emin){
+ int i;
+ CSphmomentum *c;
+ CSphmomentum *v;
+ double tan2R;
+ CSphjet jet;
+
+ if (protocones->size()==0)
+ return 1;
+
+ E_min = Emin;
+ double R = sqrt(R2);
+ tan2R = tan(R);
+ tan2R *= tan2R;
+
+#ifdef DEBUG_SPLIT_MERGE
+ cout << "particle list: ";
+ for (int i2=0;i2<n_left;i2++)
+ cout << p_remain[i2].parent_index << " "
+ << p_remain[i2].px << " " << p_remain[i2].py << " "
+ << p_remain[i2].pz << " " << p_remain[i2].E << endl;
+ cout << endl;
+#endif
+
+ // browse protocones
+ // for each of them, build the list of particles in them
+ for (vector<CSphmomentum>::iterator p_it = protocones->begin();p_it != protocones->end();p_it++){
+ // initialise variables
+ c = &(*p_it);
+
+ // browse particles to create cone contents
+ // note that jet is always initialised with default values at this level
+ jet.v = CSphmomentum();
+ jet.contents.clear();
+ for (i=0;i<n_left;i++){
+ v = &(p_remain[i]);
+ if (is_closer(v, c, tan2R)){
+ jet.contents.push_back(v->parent_index);
+ jet.v+= *v;
+ v->index=0;
+ }
+ }
+ jet.n=jet.contents.size();
+
+ // compute Etilde for that jet.
+ // we can't do that before as it requires knowledge of the jet axis
+ // which has just been computed.
+ compute_Etilde(jet);
+
+ // set the momentum in protocones
+ // (it was only known through its spatial coordinates up to now)
+ *c = jet.v;
+ c->build_thetaphi();
+
+ // set the jet range
+ jet.range=CSphtheta_phi_range(c->_theta,c->_phi,R);
+
+#ifdef DEBUG_SPLIT_MERGE
+ cout << "adding protojet: ";
+
+ unsigned int phirange=jet.range.phi_range;
+ for (unsigned int i2=0;i2<32;i2++) fprintf(stdout, "%d", (phirange&(1<<i2)) >> i2 );
+ fprintf(stdout, "\t");
+ unsigned int thetarange=jet.range.theta_range;
+ for (unsigned int i2=0;i2<32;i2++) fprintf(stdout, "%d", (thetarange&(1<<i2)) >> i2);
+ fprintf(stdout, "\t");
+
+ for (int i2=0;i2<jet.n;i2++)
+ cout << jet.contents[i2] << " ";
+ cout << endl;
+#endif
+
+ // add it to the list of jets
+ insert(jet);
+ }
+
+ // update list of included particles
+ n_pass++;
+
+#ifdef DEBUG_SPLIT_MERGE
+ cout << "remaining particles: ";
+#endif
+ int j=0;
+ for (i=0;i<n_left;i++){
+ if (p_remain[i].index){
+ // copy particle
+ p_remain[j]=p_remain[i];
+ p_remain[j].parent_index = p_remain[i].parent_index;
+ p_remain[j].index=1;
+ // set run in initial list
+ particles[p_remain[j].parent_index].index = n_pass;
+#ifdef DEBUG_SPLIT_MERGE
+ cout << p_remain[j].parent_index << " ";
+#endif
+ j++;
+ }
+ }
+#ifdef DEBUG_SPLIT_MERGE
+ cout << endl;
+#endif
+ n_left = j;
+ p_remain.resize(j);
+
+ merge_collinear_and_remove_soft();
+
+ return 0;
+}
+
+/*
+ * remove the hardest protocone and declare it a a jet
+ * - protocones list of protocones (initial jet candidates)
+ * - R2 cone radius (squared)
+// - Emin minimal energy allowed for jets
+ * return 0 on success, 1 on error
+ *
+ * The list of remaining particles (and the uncollinear-hard ones)
+ * is updated.
+ */
+int CSphsplit_merge::add_hardest_protocone_to_jets(std::vector<CSphmomentum> *protocones, double R2, double Emin){
+
+ int i;
+ CSphmomentum *c;
+ CSphmomentum *v;
+ double R, tan2R;
+ CSphjet jet, jet_candidate;
+ bool found_jet = false;
+
+ if (protocones->size()==0)
+ return 1;
+
+ E_min = Emin;
+ R = sqrt(R2);
+ tan2R = tan(R);
+ tan2R *= tan2R;
+
+ // browse protocones
+ // for each of them, build the list of particles in them
+ for (vector<CSphmomentum>::iterator p_it = protocones->begin();p_it != protocones->end();p_it++){
+ // initialise variables
+ c = &(*p_it);
+
+ // browse particles to create cone contents
+ // note that jet is always initialised with default values at this level
+ jet_candidate.v = CSphmomentum();
+ jet_candidate.contents.clear();
+ for (i=0;i<n_left;i++){
+ v = &(p_remain[i]);
+ if (is_closer(v, c, tan2R)){
+ jet_candidate.contents.push_back(v->parent_index);
+ jet_candidate.v+= *v;
+ v->index=0;
+ }
+ }
+ jet_candidate.n=jet_candidate.contents.size();
+
+ // compute Etilde for that jet.
+ // we can't do that before as it requires knowledge of the jet axis
+ // which has just been computed.
+ compute_Etilde(jet_candidate);
+
+ // set the momentum in protocones
+ // (it was only known through its spatial coordinates up to now)
+ *c = jet_candidate.v;
+ c->build_thetaphi();
+
+ // set the jet range
+ jet_candidate.range=CSphtheta_phi_range(c->_theta,c->_phi,R);
+
+ // check that the protojet has large enough pt
+ if (jet_candidate.v.E<E_min)
+ continue;
+
+ // assign the split-merge (or progressive-removal) squared scale variable
+ if (_user_scale) {
+ // sm_var2 is the signed square of the user scale returned
+ // for the jet candidate
+ jet_candidate.sm_var2 = (*_user_scale)(jet_candidate);
+ jet_candidate.sm_var2 *= abs(jet_candidate.sm_var2);
+ } else {
+ jet_candidate.sm_var2 = get_sm_var2(jet_candidate.v, jet_candidate.E_tilde);
+ }
+
+ // now check if it is possibly the hardest
+ if ((! found_jet) ||
+ (_user_scale ? _user_scale->is_larger(jet_candidate, jet)
+ : ptcomparison(jet_candidate, jet))){
+ jet = jet_candidate;
+ found_jet = true;
+ }
+ }
+
+ // make sure at least one of the jets has passed the selection
+ if (!found_jet) return 1;
+
+ // add the jet to the list of jets
+ jets.push_back(jet);
+ jets[jets.size()-1].v.build_thetaphi();
+ jets[jets.size()-1].v.build_norm();
+
+#ifdef DEBUG_SPLIT_MERGE
+ cout << "PR-Jet " << jets.size() << " [size " << jet.contents.size() << "]:";
+#endif
+
+ // update the list of what particles are left
+ int p_remain_index = 0;
+ int contents_index = 0;
+ //sort(next_jet.contents.begin(),next_jet.contents.end());
+ for (int index=0;index<n_left;index++){
+ if ((contents_index<(int) jet.contents.size()) &&
+ (p_remain[index].parent_index == jet.contents[contents_index])){
+ // this particle belongs to the newly found jet
+ // set pass in initial list
+ particles[p_remain[index].parent_index].index = n_pass;
+#ifdef DEBUG_SPLIT_MERGE
+ cout << " " << jet.contents[contents_index];
+#endif
+ contents_index++;
+ } else {
+ // this particle still has to be clustered
+ p_remain[p_remain_index] = p_remain[index];
+ p_remain[p_remain_index].parent_index = p_remain[index].parent_index;
+ p_remain[p_remain_index].index=1;
+ p_remain_index++;
+ }
+ }
+ p_remain.resize(n_left-jet.contents.size());
+ n_left = p_remain.size();
+ jets[jets.size()-1].pass = particles[jet.contents[0]].index;
+
+ // update list of included particles
+ n_pass++;
+
+#ifdef DEBUG_SPLIT_MERGE
+ cout << endl;
+#endif
+
+ // male sure the list of uncol_hard particles (used for the next
+ // stable cone finding) is updated [could probably be more
+ // efficient]
+ merge_collinear_and_remove_soft();
+
+ return 0;
+}
+
+/*
+ * really do the splitting and merging
+ * At the end, the vector jets is filled with the jets found.
+ * the 'contents' field of each jets contains the indices
+ * of the particles included in that jet.
+ * - overlap_tshold threshold for splitting/merging transition
+ * - Emin minimal energy allowed for jets
+ * return the number of jets is returned
+ ******************************************************************/
+int CSphsplit_merge::perform(double overlap_tshold, double Emin){
+ // iterators for the 2 jets
+ cjet_iterator j1;
+ cjet_iterator j2;
+
+ E_min = Emin;
+
+ if (candidates->size()==0)
+ return 0;
+
+ if (overlap_tshold>=1.0 || overlap_tshold <= 0) {
+ ostringstream message;
+ message << "Illegal value for overlap_tshold, f = " << overlap_tshold;
+ message << " (legal values are 0<f<1)";
+ throw siscone::Csiscone_error(message.str());
+ }
+
+ // overlap (the contents of this variable depends on the choice for
+ // the split--merge variable.)
+ // Note that the square of the ovelap is used
+ double overlap2;
+
+ // avoid to compute tshold*tshold at each overlap
+ double overlap_tshold2 = overlap_tshold*overlap_tshold;
+
+ do{
+ if (candidates->size()>0){
+ // browse for the first jet
+ j1 = candidates->begin();
+
+ // if hardest jet does not pass threshold then nothing else will
+ // either so one stops the split merge.
+ //if (j1->sm_var2<SM_var2_hardest_cut_off) {break;}
+ if (j1->sm_var2<SM_var2_hardest_cut_off) {break;}
+
+ // browse for the second jet
+ j2 = j1;
+ j2++;
+ int j2_relindex = 1; // used only in ifdef, but costs little so keep it outside
+
+ while (j2 != candidates->end()){
+#ifdef DEBUG_SPLIT_MERGE
+ if (j2_relindex==1) show();
+ cout << "check overlap between cdt 1 and cdt " << j2_relindex+1 << " with overlap " << endl;
+#endif
+ // check overlapping
+ if (get_overlap(*j1, *j2, &overlap2)){
+ // check if overlapping energy passes threshold
+ // Note that this depends on the ordering variable
+#ifdef DEBUG_SPLIT_MERGE
+ cout << "overlap between cdt 1 and cdt " << j2_relindex+1 << " with overlap "
+ << sqrt(overlap2)/j2->v.E << endl<<endl;
+#endif
+ // We use the energy for the overlap computation
+ if (overlap2<overlap_tshold2*sqr(j2->v.E)){
+#ifdef DEBUG_SPLIT_MERGE
+ cout << " --> split" << endl<<endl;
+#endif
+ // split jets
+ split(j1, j2);
+
+ // update iterators
+ j2 = j1 = candidates->begin();
+ j2_relindex = 0;
+ } else {
+#ifdef DEBUG_SPLIT_MERGE
+ cout << " --> merge" << endl<<endl;
+#endif
+ // merge jets
+ merge(j1, j2);
+
+ // update iterators
+ j2 = j1 = candidates->begin();
+ j2_relindex = 0;
+ }
+ }
+ // watch out: split/merge might have caused new jets with E <
+ // Emin to disappear, so the total number of jets may
+ // have changed by more than expected and j2 might already by
+ // the end of the candidates list...
+ j2_relindex++;
+ if (j2 != candidates->end()) j2++;
+ } // end of loop on the second jet
+
+ if (j1 != candidates->end()) {
+ // all "second jet" passed without overlapping
+ // (otherwise we won't leave the j2 loop)
+ // => store jet 1 as real jet
+ jets.push_back(*j1);
+ jets[jets.size()-1].v.build_thetaphi();
+ jets[jets.size()-1].v.build_norm();
+ // a bug where the contents has non-zero size has been cropping
+ // up in many contexts -- so catch it!
+ assert(j1->contents.size() > 0);
+ jets[jets.size()-1].pass = particles[j1->contents[0]].index;
+#ifdef ALLOW_MERGE_IDENTICAL_PROTOCONES
+ cand_refs.erase(j1->v.ref);
+#endif
+ candidates->erase(j1);
+ }
+ }
+ } while (candidates->size()>0);
+
+ // sort jets by Energy
+ sort(jets.begin(), jets.end(), jets_E_less);
+#ifdef DEBUG_SPLIT_MERGE
+ show();
+#endif
+
+ return jets.size();
+}
+
+
+
+// save the event on disk
+// - flux stream used to save jet contents
+//--------------------------------------------
+int CSphsplit_merge::save_contents(FILE *flux){
+ jet_iterator it_j;
+ CSphjet *j1;
+ int i1, i2;
+
+ fprintf(flux, "# %d jets found\n", (int) jets.size());
+ fprintf(flux, "# columns are: px, py, pz, E and number of particles for each jet\n");
+ for (it_j = jets.begin(), i1=0 ; it_j != jets.end() ; it_j++, i1++){
+ j1 = &(*it_j);
+ fprintf(flux, "%e\t%e\t%e\t%e\t%d\n",
+ j1->v.px, j1->v.py, j1->v.pz, j1->v.E, j1->n);
+ }
+
+ fprintf(flux, "# jet contents\n");
+ fprintf(flux, "# columns are: px, py, pz, E, particle index and jet number\n");
+ for (it_j = jets.begin(), i1=0 ; it_j != jets.end() ; it_j++, i1++){
+ j1 = &(*it_j);
+ for (i2=0;i2<j1->n;i2++)
+ fprintf(flux, "%e\t%e\t%e\t%e\t%d\t%d\n",
+ particles[j1->contents[i2]].px, particles[j1->contents[i2]].py,
+ particles[j1->contents[i2]].pz, particles[j1->contents[i2]].E,
+ j1->contents[i2], i1);
+ }
+
+ return 0;
+}
+
+
+// show current jets/candidate status
+//------------------------------------
+int CSphsplit_merge::show(){
+ jet_iterator it_j;
+ cjet_iterator it_c;
+ CSphjet *j;
+ const CSphjet *c;
+ int i1, i2;
+
+ for (it_j = jets.begin(), i1=0 ; it_j != jets.end() ; it_j++, i1++){
+ j = &(*it_j);
+ fprintf(stdout, "jet %2d: %e\t%e\t%e\t%e\t", i1+1,
+ j->v.px, j->v.py, j->v.pz, j->v.E);
+
+ unsigned int phirange=j->range.phi_range;
+ for (i2=0;i2<32;i2++) fprintf(stdout, "%d", (phirange&(1<<i2)) >> i2 );
+ fprintf(stdout, "\t");
+ unsigned int thetarange=j->range.theta_range;
+ for (i2=0;i2<32;i2++) fprintf(stdout, "%d", (thetarange&(1<<i2)) >> i2);
+ fprintf(stdout, "\t");
+
+ for (i2=0;i2<j->n;i2++)
+ fprintf(stdout, "%d ", j->contents[i2]);
+ fprintf(stdout, "\n");
+ }
+
+ for (it_c = candidates->begin(), i1=0 ; it_c != candidates->end() ; it_c++, i1++){
+ c = &(*it_c);
+ fprintf(stdout, "cdt %2d: %e\t%e\t%e\t%e\t%e\t", i1+1,
+ c->v.px, c->v.py, c->v.pz, c->v.E, sqrt(c->sm_var2));
+
+ unsigned int phirange=c->range.phi_range;
+ for (i2=0;i2<32;i2++) fprintf(stdout, "%d", (phirange&(1<<i2)) >> i2 );
+ fprintf(stdout, "\t");
+ unsigned int thetarange=c->range.theta_range;
+ for (i2=0;i2<32;i2++) fprintf(stdout, "%d", (thetarange&(1<<i2)) >> i2);
+ fprintf(stdout, "\t");
+
+ for (i2=0;i2<c->n;i2++)
+ fprintf(stdout, "%d ", c->contents[i2]);
+ fprintf(stdout, "\n");
+ }
+
+ fprintf(stdout, "\n");
+ return 0;
+}
+
+
+// get the overlap between 2 jets
+// - j1 first jet
+// - j2 second jet
+// - overlap2 returned overlap^2 (determined by the choice of SM variable)
+// return true if overlapping, false if disjoint
+//---------------------------------------------------------------------
+bool CSphsplit_merge::get_overlap(const CSphjet &j1, const CSphjet &j2, double *overlap2){
+ // check if ranges overlap
+ if (!is_range_overlap(j1.range,j2.range))
+ return false;
+
+ int i1,i2;
+ bool is_overlap;
+
+ // initialise
+ i1=i2=idx_size=0;
+ is_overlap = false;
+ CSphmomentum v;
+
+ // compute overlap
+ // at the same time, we store union in indices
+ do{
+ if (j1.contents[i1]<j2.contents[i2]){
+ indices[idx_size] = j1.contents[i1];
+ i1++;
+ } else if (j1.contents[i1]>j2.contents[i2]){
+ indices[idx_size] = j2.contents[i2];
+ i2++;
+ } else { // (j1.contents[i1]==j2.contents[i2])
+ v += particles[j2.contents[i2]];
+ indices[idx_size] = j2.contents[i2];
+ i1++;
+ i2++;
+ is_overlap = true;
+ }
+ idx_size++;
+ } while ((i1<j1.n) && (i2<j2.n));
+
+ // finish computing union
+ // (only needed if overlap !)
+ if (is_overlap){
+ while (i1<j1.n){
+ indices[idx_size] = j1.contents[i1];
+ i1++;
+ idx_size++;
+ }
+ while (i2<j2.n){
+ indices[idx_size] = j2.contents[i2];
+ i2++;
+ idx_size++;
+ }
+ }
+
+ // assign the overlapping var as return variable
+ (*overlap2) = sqr(v.E); //get_sm_var2(v, E_tilde);
+
+ return is_overlap;
+}
+
+
+
+// split the two given jet.
+// during this procedure, the jets j1 & j2 are replaced
+// by 2 new jets. Common particles are associted to the
+// closest initial jet.
+// - it_j1 iterator of the first jet in 'candidates'
+// - it_j2 iterator of the second jet in 'candidates'
+// - j1 first jet (CSphjet instance)
+// - j2 second jet (CSphjet instance)
+// return true on success, false on error
+////////////////////////////////////////////////////////////////
+bool CSphsplit_merge::split(cjet_iterator &it_j1, cjet_iterator &it_j2){
+ int i1, i2;
+ CSphjet jet1, jet2;
+ double E1_weight, E2_weight;
+ CSphmomentum tmp;
+ CSphmomentum *v;
+
+ // shorthand to avoid having "->" all over the place
+ const CSphjet & j1 = * it_j1;
+ const CSphjet & j2 = * it_j2;
+
+ i1=i2=0;
+ jet2.v = jet1.v = CSphmomentum();
+
+ // compute centroids
+ // When use_E_weighted_splitting is activated, the
+ // "geometrical" distance is weighted by the inverse
+ // of the E of the protojet
+ // This is stored in E{1,2}_weight
+ E1_weight = (use_E_weighted_splitting) ? 1.0/j1.v.E/j1.v.E : 1.0;
+ E2_weight = (use_E_weighted_splitting) ? 1.0/j2.v.E/j2.v.E : 1.0;
+
+ // compute jet splitting
+ do{
+ if (j1.contents[i1]<j2.contents[i2]){
+ // particle i1 belong only to jet 1
+ v = &(particles[j1.contents[i1]]);
+ jet1.contents.push_back(j1.contents[i1]);
+ jet1.v += *v;
+ //jet1.pt_tilde += pt[j1.contents[i1]];
+ i1++;
+ jet1.range.add_particle(v->_theta,v->_phi);
+ } else if (j1.contents[i1]>j2.contents[i2]){
+ // particle i2 belong only to jet 2
+ v = &(particles[j2.contents[i2]]);
+ jet2.contents.push_back(j2.contents[i2]);
+ jet2.v += *v;
+ //jet2.pt_tilde += pt[j2.contents[i2]];
+ i2++;
+ jet2.range.add_particle(v->_theta,v->_phi);
+ } else { // (j1.contents[i1]==j2.contents[i2])
+ // common particle, decide which is the closest centre
+ v = &(particles[j1.contents[i1]]);
+
+ //TODO: improve this brutal use of atan2 and sqrt !!!!
+
+ //? what when == ?
+ // When use_E_weighted_splitting is activated, the
+ // "geometrical" distance is weighted by the inverse
+ // of the E of the protojet
+ double d1 = get_distance(&(j1.v), v)*E1_weight;
+ double d2 = get_distance(&(j2.v), v)*E2_weight;
+ // do bookkeeping on most ambiguous split
+ if (fabs(d1-d2) < most_ambiguous_split)
+ most_ambiguous_split = fabs(d1-d2);
+
+ if (d1<d2){
+ // particle i1 belong only to jet 1
+ jet1.contents.push_back(j1.contents[i1]);
+ jet1.v += *v;
+ //jet1.pt_tilde += pt[j1.contents[i1]];
+ jet1.range.add_particle(v->_theta,v->_phi);
+ } else {
+ // particle i2 belong only to jet 2
+ jet2.contents.push_back(j2.contents[i2]);
+ jet2.v += *v;
+ //jet2.pt_tilde += pt[j2.contents[i2]];
+ jet2.range.add_particle(v->_theta,v->_phi);
+ }
+
+ i1++;
+ i2++;
+ }
+ } while ((i1<j1.n) && (i2<j2.n));
+
+ while (i1<j1.n){
+ v = &(particles[j1.contents[i1]]);
+ jet1.contents.push_back(j1.contents[i1]);
+ jet1.v += *v;
+ //jet1.pt_tilde += pt[j1.contents[i1]];
+ i1++;
+ jet1.range.add_particle(v->_theta,v->_phi);
+ }
+ while (i2<j2.n){
+ v = &(particles[j2.contents[i2]]);
+ jet2.contents.push_back(j2.contents[i2]);
+ jet2.v += *v;
+ //jet2.pt_tilde += pt[j2.contents[i2]];
+ i2++;
+ jet2.range.add_particle(v->_theta,v->_phi);
+ }
+
+ // finalise jets
+ jet1.n = jet1.contents.size();
+ jet2.n = jet2.contents.size();
+
+ // now the jet axis is known, we can compute Etilde
+ compute_Etilde(jet1);
+ compute_Etilde(jet2);
+
+ // remove previous jets
+#ifdef ALLOW_MERGE_IDENTICAL_PROTOCONES
+ cand_refs.erase(j1.v.ref);
+ cand_refs.erase(j2.v.ref);
+#endif
+ candidates->erase(it_j1);
+ candidates->erase(it_j2);
+
+ // reinsert new ones
+ insert(jet1);
+ insert(jet2);
+
+ return true;
+}
+
+// merge the two given jet.
+// during this procedure, the jets j1 & j2 are replaced
+// by 1 single jets containing both of them.
+// - it_j1 iterator of the first jet in 'candidates'
+// - it_j2 iterator of the second jet in 'candidates'
+// return true on success, false on error
+////////////////////////////////////////////////////////////////
+bool CSphsplit_merge::merge(cjet_iterator &it_j1, cjet_iterator &it_j2){
+ CSphjet jet;
+ int i;
+
+ // build new jet
+ // note: particles within j1 & j2 have already been stored in indices
+ for (i=0;i<idx_size;i++){
+ jet.contents.push_back(indices[i]);
+ jet.v += particles[indices[i]];
+ //jet.pt_tilde += pt[indices[i]];
+ }
+ jet.n = jet.contents.size();
+
+ compute_Etilde(jet);
+
+ // deal with ranges
+ jet.range = range_union(it_j1->range, it_j2->range);
+
+ // remove old candidates
+#ifdef ALLOW_MERGE_IDENTICAL_PROTOCONES
+ if (merge_identical_protocones){
+ cand_refs.erase(it_j1->v.ref);
+ cand_refs.erase(it_j2->v.ref);
+ }
+#endif
+ candidates->erase(it_j1);
+ candidates->erase(it_j2);
+
+ // reinsert new candidate
+ insert(jet);
+
+ return true;
+}
+
+/**
+ * Check whether or not a jet has to be inserted in the
+ * list of protojets. If it has, set its sm_variable and
+ * insert it to the list of protojets.
+ */
+bool CSphsplit_merge::insert(CSphjet &jet){
+
+ // eventually check that no other candidate are present with the
+ // same cone contents. We recall that this automatic merging of
+ // identical protocones can lead to infrared-unsafe situations.
+#ifdef ALLOW_MERGE_IDENTICAL_PROTOCONES
+ if ((merge_identical_protocones) && (!cand_refs.insert(jet.v.ref).second))
+ return false;
+#endif
+
+ // check that the protojet has large enough energy
+ if (jet.v.E<E_min)
+ return false;
+
+ // assign SM variable
+ jet.sm_var2 = get_sm_var2(jet.v, jet.E_tilde);
+
+ // insert the jet.
+ candidates->insert(jet);
+
+ return true;
+}
+
+/**
+ * given a 4-momentum and its associated pT, return the
+ * variable that has to be used for SM
+ * \param v 4 momentum of the protojet
+ * \param pt_tilde pt_tilde of the protojet
+ */
+double CSphsplit_merge::get_sm_var2(CSphmomentum &v, double &E_tilde){
+ switch(ptcomparison.split_merge_scale) {
+ case SM_E: return v.E*v.E;
+ case SM_Etilde: return E_tilde*E_tilde;
+ default:
+ throw siscone::Csiscone_error("Unsupported split-merge scale choice: "
+ + ptcomparison.SM_scale_name());
+ }
+
+ //return 0.0;
+}
+
+
+
+/// compute Etilde for a given jet
+void CSphsplit_merge::compute_Etilde(CSphjet &jet){
+ jet.v.build_norm();
+ jet.E_tilde=0.0;
+ CSph3vector jet_axis = jet.v;
+ //if (jet.v._norm==0){
+ // jet_axis = CSph3vector(0.0,0.0,0.0);
+ //} else {
+ jet_axis/=jet.v.E;
+ //}
+ //cout << "~~~ Axis: " << jet.v.px << " " << jet.v.py << " " << jet.v.pz << " " << jet.v._norm << endl;
+ //cout << "~~~ Axis: " << jet_axis.px << " " << jet_axis.py << " " << jet_axis.pz << endl;
+ for (vector<int>::iterator cont_it=jet.contents.begin(); cont_it!=jet.contents.end(); cont_it++){
+ const CSphmomentum &p = particles[*cont_it];
+ jet.E_tilde+=p.E*(1.0+norm2_cross_product3(p,jet_axis)/particles_norm2[*cont_it]);
+ }
+}
+
+}
Property changes on: tags/siscone-3.0.2/siscone/spherical/split_merge.cpp
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Date Rev
\ No newline at end of property
Index: tags/siscone-3.0.2/siscone/spherical/README
===================================================================
--- tags/siscone-3.0.2/siscone/spherical/README (revision 0)
+++ tags/siscone-3.0.2/siscone/spherical/README (revision 398)
@@ -0,0 +1 @@
+This directory hosts the sperical-coordinates version of SISCone
Index: tags/siscone-3.0.2/siscone/spherical/geom_2d.cpp
===================================================================
--- tags/siscone-3.0.2/siscone/spherical/geom_2d.cpp (revision 0)
+++ tags/siscone-3.0.2/siscone/spherical/geom_2d.cpp (revision 398)
@@ -0,0 +1,178 @@
+///////////////////////////////////////////////////////////////////////////////
+// File: geom_2d.cpp //
+// Description: source file for two-dimensional geometry tools //
+// This file is part of the SISCone project. //
+// WARNING: this is not the main SISCone trunk but //
+// an adaptation to spherical coordinates //
+// For more details, see http://projects.hepforge.org/siscone //
+// //
+// Copyright (c) 2006-2008 Gavin Salam and Gregory Soyez //
+// //
+// This program is free software; you can redistribute it and/or modify //
+// it under the terms of the GNU General Public License as published by //
+// the Free Software Foundation; either version 2 of the License, or //
+// (at your option) any later version. //
+// //
+// This program is distributed in the hope that it will be useful, //
+// but WITHOUT ANY WARRANTY; without even the implied warranty of //
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
+// GNU General Public License for more details. //
+// //
+// You should have received a copy of the GNU General Public License //
+// along with this program; if not, write to the Free Software //
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
+// //
+// $Revision:: $//
+// $Date:: $//
+///////////////////////////////////////////////////////////////////////////////
+
+#include "geom_2d.h"
+#include <algorithm>
+
+namespace siscone_spherical{
+
+#define PHI_RANGE_MASK 0xFFFFFFFF
+
+/*********************************************************
+ * class CSphtheta_phi_range implementation *
+ * class for holding a covering range in eta-phi *
+ * *
+ * This class deals with ranges in the eta-phi plane. It *
+ * implements methods to test if two ranges overlap and *
+ * to take the union of two overlapping intervals. *
+ *********************************************************/
+
+using namespace std;
+
+// static member default init
+//----------------------------
+double CSphtheta_phi_range::theta_min = 0.0;
+double CSphtheta_phi_range::theta_max = M_PI;
+
+// default ctor
+//--------------
+CSphtheta_phi_range::CSphtheta_phi_range(){
+ theta_range = 0;
+ phi_range = 0;
+}
+
+// ctor with initialisation
+// we initialise with a centre (in eta,phi) and a radius
+// - c_theta theta coordinate of the centre
+// - c_phi phi coordinate of the centre
+// - R radius
+//-------------------------------------------------------
+CSphtheta_phi_range::CSphtheta_phi_range(double c_theta, double c_phi, double R){
+ // determination of the eta range
+ //-------------------------------
+ double xmin = max(c_theta-R,theta_min+0.00001);
+ double xmax = min(c_theta+R,theta_max-0.00001);
+
+ unsigned int cell_min = get_theta_cell(xmin);
+ unsigned int cell_max = get_theta_cell(xmax);
+
+ // warning: if cell_max==2^31, 2*cell_max==0 hence,
+ // even if the next formula is formally (2*cell_max-cell_min),
+ // expressing it as (cell_max-cell_min)+cell_max is safe.
+ theta_range = (cell_max-cell_min)+cell_max;
+
+ // determination of the phi range
+ // !! taking care of periodicity !!
+ // !! and the theta dependence !!
+ //---------------------------------
+ double ymin,ymax;
+ double extra = asin(R/M_PI);
+ // if the theta range comes too close to the endpoints (theta=0 or
+ // theta=pi), then keep the full phi range
+ if (xmin<=theta_min+extra){
+ ymin = -M_PI+0.00001;
+ ymax = M_PI-0.00001;
+ } else if (xmax>=theta_max-extra){
+ ymin = -M_PI+0.00001;
+ ymax = M_PI-0.00001;
+ } else {
+ extra = max(1.0/sin(xmin), 1.0/sin(xmax));
+ ymin = (c_phi-R)*extra;
+ while (ymin<-M_PI) ymin+=twopi;
+ while (ymin> M_PI) ymin-=twopi;
+ ymax = (c_phi-R)*extra;
+ while (ymax<-M_PI) ymax+=twopi;
+ while (ymax> M_PI) ymax-=twopi;
+ }
+ cell_min = get_phi_cell(ymin);
+ cell_max = get_phi_cell(ymax);
+
+ // Also, if the interval goes through pi, inversion is needed
+ if (ymax>ymin)
+ phi_range = (cell_max-cell_min)+cell_max;
+ else {
+ phi_range = (cell_min==cell_max)
+ ? PHI_RANGE_MASK
+ : ((PHI_RANGE_MASK^(cell_min-cell_max)) + cell_max);
+ }
+}
+
+// assignment of range
+// - r range to assign to current one
+//---------------------------------------
+CSphtheta_phi_range& CSphtheta_phi_range::operator = (const CSphtheta_phi_range &r){
+ theta_range = r.theta_range;
+ phi_range = r.phi_range;
+
+ return *this;
+}
+
+// add a particle to the range
+// - eta eta coordinate of the particle
+// - phi phi coordinate of the particle
+// \return 0 on success, 1 on error
+//----------------------------------------
+int CSphtheta_phi_range::add_particle(const double theta, const double phi){
+ // get the theta cell
+ unsigned int theta_cell = get_theta_cell(theta);
+
+ // deal with the eta coordinate
+ theta_range |= theta_cell;
+
+ // deal with the phi coordinate
+ //
+ // watch out: if the theta_cell includes theta==0 or theta==pi,
+ // incude the full phi range
+ if ((theta_cell == 0x1) || (theta_cell == 0x80000000))
+ phi_range = 0xffffffff;
+ else
+ phi_range |= get_phi_cell(phi);
+
+ return 0;
+}
+
+
+// test overlap
+// - r1 first range
+// - r2 second range
+// return true if overlap, false otherwise.
+//------------------------------------------
+bool is_range_overlap(const CSphtheta_phi_range &r1, const CSphtheta_phi_range &r2){
+ // check overlap in eta AND phi
+ return ((r1.theta_range & r2.theta_range) && (r1.phi_range & r2.phi_range));
+}
+
+// compute union
+// Note: we assume that the two intervals overlap
+// - r1 first range
+// - r2 second range
+// \return union of the two ranges
+//------------------------------------------
+const CSphtheta_phi_range range_union (const CSphtheta_phi_range &r1, const CSphtheta_phi_range &r2){
+ CSphtheta_phi_range tmp;
+
+ // compute union in eta
+ tmp.theta_range = r1.theta_range | r2.theta_range;
+
+ // compute union in phi
+ tmp.phi_range = r1.phi_range | r2.phi_range;
+
+ return tmp;
+}
+
+}
Property changes on: tags/siscone-3.0.2/siscone/spherical/geom_2d.cpp
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Date Revision
\ No newline at end of property
Index: tags/siscone-3.0.2/siscone/spherical/split_merge.h
===================================================================
--- tags/siscone-3.0.2/siscone/spherical/split_merge.h (revision 0)
+++ tags/siscone-3.0.2/siscone/spherical/split_merge.h (revision 398)
@@ -0,0 +1,476 @@
+// -*- C++ -*-
+///////////////////////////////////////////////////////////////////////////////
+// File: split_merge.h //
+// Description: header file for splitting/merging (contains the CJet class) //
+// This file is part of the SISCone project. //
+// WARNING: this is not the main SISCone trunk but //
+// an adaptation to spherical coordinates //
+// For more details, see http://projects.hepforge.org/siscone //
+// //
+// Copyright (c) 2006-2008 Gavin Salam and Gregory Soyez //
+// //
+// This program is free software; you can redistribute it and/or modify //
+// it under the terms of the GNU General Public License as published by //
+// the Free Software Foundation; either version 2 of the License, or //
+// (at your option) any later version. //
+// //
+// This program is distributed in the hope that it will be useful, //
+// but WITHOUT ANY WARRANTY; without even the implied warranty of //
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
+// GNU General Public License for more details. //
+// //
+// You should have received a copy of the GNU General Public License //
+// along with this program; if not, write to the Free Software //
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
+// //
+// $Revision:: $//
+// $Date:: $//
+///////////////////////////////////////////////////////////////////////////////
+
+#ifndef __SPH_SPLIT_MERGE_H__
+#define __SPH_SPLIT_MERGE_H__
+
+#include <siscone/defines.h>
+#include "geom_2d.h"
+#include "momentum.h"
+#include <stdio.h>
+#include <vector>
+#include <set>
+#include <memory>
+#include <string>
+
+namespace siscone_spherical{
+
+const int CJET_INEXISTENT_PASS = -2;
+
+/**
+ * \class CSphjet
+ * real Jet information.
+ *
+ * This class contains information for one single jet.
+ * That is, first, its momentum carrying information
+ * about its centre and pT, and second, its particle
+ * contents
+ */
+class CSphjet{
+ public:
+ /// default ctor
+ CSphjet();
+
+ /// default dtor
+ ~CSphjet();
+
+ CSphmomentum v; ///< jet momentum
+ double E_tilde; ///< sum of E_i [ 1 +|p_i x p_J|^2/(|p_i|^2 E_J^2)]
+ int n; ///< number of particles inside
+ std::vector<int> contents; ///< particle contents (list of indices)
+
+ /// ordering variable used for ordering and overlap in the
+ /// split--merge. This variable is automatically set either to
+ /// E_tilde or E depending on the siscone parameter.
+ ///
+ /// Note that the default behaviour is E_tilde and that other
+ /// choices may lead to infrared unsafe situations.
+ ///
+ /// Note: we use the square of the varible rather than the variable
+ /// itself
+ ///
+ /// Note 2: for the overlap computation, we shall use the jet energy!
+ double sm_var2;
+
+ /// covered range in eta-phi
+ CSphtheta_phi_range range;
+
+ /// pass at which the jet has been found
+ /// It starts at 0 (first pass), -1 means infinite rapidity
+ /// (it will be initialised to "CJET_INEXISTENT_PASS" which should
+ /// never appear after clustering)
+ int pass;
+};
+
+/// ordering of jets in pt
+///bool jets_pt_less(const CSphjet &j1, const CSphjet &j2);
+
+/// ordering of jets in energy (e.g. used in final jets ordering)
+bool jets_E_less(const CSphjet &j1, const CSphjet &j2);
+
+
+/// the choices of scale variable that can be used in the split-merge
+/// step, both for ordering the protojets and for measuing their
+/// overlap; E is defined in E-scheme (4-momentum) recombination;
+/// Etilde = \sum_{i\in jet} E_i [1+sin^2(theta_{i,jet})]
+///
+/// NB: if one changes the order here, one _MUST_ also change the order
+/// in the SISCone plugin
+enum Esplit_merge_scale {
+ SM_E, ///< Energy (IR unsafe with momentum conservation)
+ SM_Etilde ///< sum_{i \in jet} E_i [1+sin^2(theta_iJ)]
+};
+
+/// return the name of the split-merge scale choice
+std::string split_merge_scale_name(Esplit_merge_scale sms);
+
+/**
+ * \class CSphsplit_merge_ptcomparison
+ * a class that allows us to carry out comparisons of pt of jets, using
+ * information from exact particle contents where necessary.
+ */
+class CSphsplit_merge_ptcomparison{
+public:
+ /// default ctor
+ CSphsplit_merge_ptcomparison() :
+ particles(0), split_merge_scale(SM_Etilde){};
+
+ /// return the name corresponding to the SM scale variable
+ std::string SM_scale_name() const {
+ return split_merge_scale_name(split_merge_scale);}
+
+ std::vector<CSphmomentum> * particles; ///< pointer to the list of particles
+ std::vector<double> * particles_norm2; ///< pointer to the particles's norm^2
+
+ /// comparison of 2 CSphjet
+ bool operator()(const CSphjet &jet1, const CSphjet &jet2) const;
+
+ /**
+ * get the difference between 2 jets, calculated such that rounding
+ * errors will not affect the result even if the two jets have
+ * almost the same content (so that the difference is below the
+ * rounding errors)
+ *
+ * \param j1 first jet
+ * \param j2 second jet
+ * \param v jet1-jet2
+ * \param E_tilde jet1-jet2 E_tilde
+ */
+ void get_difference(const CSphjet &j1, const CSphjet &j2, CSphmomentum *v, double *E_tilde) const;
+
+ /// the following parameter controls the variable we're using for
+ /// the split-merge process i.e. the variable we use for
+ /// 1. ordering jet candidates;
+ /// 2. computing the overlap fraction of two candidates.
+ /// The default value uses Etilde. The other alternative is E
+ /// NOTE: Modifying the default choice can have nasty effects:
+ /// - using E is IR-safe for QCD jets but the IR unsafety remains
+ /// for back-to-back jets of unstable narrow-width particles
+ /// (e.g. Higgs).
+ /// Therefore, keeping the default value is strongly advised.
+ Esplit_merge_scale split_merge_scale;
+};
+
+
+// iterator types
+/// iterator definition for the jet candidates structure
+typedef std::multiset<siscone_spherical::CSphjet,CSphsplit_merge_ptcomparison>::iterator cjet_iterator;
+
+/// iterator definition for the jet structure
+typedef std::vector<siscone_spherical::CSphjet>::iterator jet_iterator;
+
+
+
+/**
+ * \class CSphsplit_merge
+ * Class used to split and merge jets.
+ */
+class CSphsplit_merge{
+ public:
+ /// default ctor
+ CSphsplit_merge();
+
+ /// default dtor
+ ~CSphsplit_merge();
+
+
+ //////////////////////////////
+ // initialisation functions //
+ //////////////////////////////
+
+ /**
+ * initialisation function
+ * \param _particles list of particles
+ * \param protocones list of protocones (initial jet candidates)
+ * \param R2 cone radius (squared)
+ * \param Emin minimal energy allowed for jets
+ * \return 0 on success, 1 on error
+ */
+ int init(std::vector<CSphmomentum> &_particles, std::vector<CSphmomentum> *protocones, double R2, double Emin=0.0);
+
+ /**
+ * initialisation function for particle list
+ * \param _particles list of particles
+ * \return 0 on success, 1 on error
+ */
+ int init_particles(std::vector<CSphmomentum> &_particles);
+
+ /**
+ * build initial list of left particles
+ */
+ int init_pleft();
+
+ /**
+ * use an energy-dependent boundary for splitting
+ * When called with true, the criterium for splitting two protojets
+ * will be to compare D1^2/kt1^2 vs. D2^2/kt2^2, the (anti-)kt-weighted
+ * distance instead of the plain distance D1^2 vs. D2^2.
+ * This can be set in order to produce more circular hard jets,
+ * with the same underlying philosophy as for the anti-kt algorithm.
+ * We thus expect a behaviour closer to the IterativeCone one.
+ * By default, we use the standard D1^2 vs. D2^2 comparison and this
+ * function is not called.
+ */
+ inline int set_E_weighted_splitting(bool _use_E_weighted_splitting){
+ use_E_weighted_splitting = _use_E_weighted_splitting;
+ return 0;
+ }
+
+ ////////////////////////
+ // cleaning functions //
+ ////////////////////////
+
+ /// partial clearance
+ int partial_clear();
+
+ /// full clearance
+ int full_clear();
+
+ ///////////////////////////////////////
+ // user-defined stable-cone ordering //
+ ///////////////////////////////////////
+
+ /// \class Cuser_scale_base
+ /// base class for user-defined ordering of stable cones
+ ///
+ /// derived classes have to implement the () operator that returns
+ /// the scale associated with a given jet.
+ class Cuser_scale_base{
+ public:
+ /// empty virtual dtor
+ virtual ~Cuser_scale_base(){}
+
+ /// the scale associated with a given jet
+ ///
+ /// "progressive removal" iteratively removes the stable cone with
+ /// the largest scale
+ virtual double operator()(const CSphjet & jet) const = 0;
+
+ /// returns true when the scale associated with jet a is larger than
+ /// the scale associated with jet b
+ ///
+ /// By default this does a simple direct comparison but it can be
+ /// overloaded for higher precision [recommended if possible]
+ ///
+ /// This function assumes that a.sm_var2 and b.sm_var2 have been
+ /// correctly initialised with the signed squared output of
+ /// operator(), as is by default the case when is_larger is called
+ /// from within siscone.
+ virtual bool is_larger(const CSphjet & a, const CSphjet & b) const{
+ return (a.sm_var2 > b.sm_var2);
+ }
+ };
+
+ /// associate a user-defined scale to order the stable cones
+ ///
+ /// Note that this is only used in "progressive-removal mode",
+ /// e.g. in add_hardest_protocone_to_jets().
+ void set_user_scale(const Cuser_scale_base * user_scale_in){
+ _user_scale = user_scale_in;
+ }
+
+ /// return the user-defined scale (NULL if none)
+ const Cuser_scale_base * user_scale() const { return _user_scale; }
+
+
+ /////////////////////////////////
+ // main parts of the algorithm //
+ /////////////////////////////////
+
+ /**
+ * build the list 'p_uncol_hard' from p_remain by clustering
+ * collinear particles
+ * note that thins in only used for stable-cone detection
+ * so the parent_index field is unnecessary
+ *
+ * Note that soft particles are not removed here
+ * This is just a remnant from the trunk version
+ */
+ int merge_collinear_and_remove_soft();
+
+ /**
+ * add a list of protocones
+ * \param protocones list of protocones (initial jet candidates)
+ * \param R2 cone radius (squared)
+ * \param Emin minimal emergy allowed for jets
+ * \return 0 on success, 1 on error
+ */
+ int add_protocones(std::vector<CSphmomentum> *protocones, double R2, double Emin=0.0);
+
+ /**
+ * remove the hardest protocone and declare it a a jet
+ * \param protocones list of protocones (initial jet candidates)
+ * \param R2 cone radius (squared)
+ * \param Emin minimal emergy allowed for jets
+ * \return 0 on success, 1 on error
+ *
+ * The list of remaining particles (and the uncollinear-hard ones)
+ * is updated.
+ */
+ int add_hardest_protocone_to_jets(std::vector<CSphmomentum> *protocones, double R2, double Emin=0.0);
+
+ /**
+ * really do the splitting and merging
+ * At the end, the vector jets is filled with the jets found.
+ * the 'contents' field of each jets contains the indices
+ * of the particles included in that jet.
+ * \param overlap_tshold threshold for splitting/merging transition
+ * \param Emin minimal energy allowed for jets
+ * \return the number of jets is returned
+ */
+ int perform(double overlap_tshold, double Emin=0.0);
+
+
+ //////////////////////////////
+ // save and debug functions //
+ //////////////////////////////
+
+ /// save final jets
+ /// \param flux stream to save the jet contentss
+ int save_contents(FILE *flux);
+
+ /// show jets/candidates status
+ int show();
+
+ // particle information
+ int n; ///< number of particles
+ std::vector<CSphmomentum> particles; ///< list of particles
+ std::vector<double> particles_norm2; ///< norm^2 of the particle (3-vect part)
+ int n_left; ///< numer of particles that does not belong to any jet
+ std::vector<CSphmomentum> p_remain; ///< list of particles remaining to deal with
+ std::vector<CSphmomentum> p_uncol_hard; ///< list of particles remaining with collinear clustering
+ int n_pass; ///< index of the run
+
+ /// minimal difference in squared distance between a particle and
+ /// two overlapping protojets when doing a split (useful when
+ /// testing approx. collinear safety)
+ double most_ambiguous_split;
+
+ // jets information
+ std::vector<CSphjet> jets; ///< list of jets
+
+ // working entries
+ int *indices; ///< maximal size array for indices works
+ int idx_size; ///< number of elements in indices1
+
+ /// The following flag indicates that identical protocones
+ /// are to be merged automatically each time around the split-merge
+ /// loop and before anything else happens.
+ ///
+ /// This flag is only effective if ALLOW_MERGE_IDENTICAL_PROTOCONES
+ /// is set in 'defines.h'
+ /// Note that this lead to infrared-unsafety so it is disabled
+ /// by default
+ bool merge_identical_protocones;
+
+ /// member used for detailed comparisons of pt's
+ CSphsplit_merge_ptcomparison ptcomparison;
+
+ /// stop split--merge or progressive-removal when the squared SM_var
+ /// of the hardest protojet is below this cut-off. Note that this is
+ /// a signed square (ie SM_var*|SM_var|) to be able to handle
+ /// negative values.
+ ///
+ /// Note that the cut-off is set on the variable squared.
+ double SM_var2_hardest_cut_off;
+
+ /// Energy cutoff for the particles to put in p_uncol_hard
+ /// this is meant to allow removing soft particles in the
+ /// stable-cone search.
+ ///
+ /// This is not collinear-safe so you should not use this
+ /// variable unless you really know what you are doing
+ /// Note that the cut-off is set on the variable squared.
+ double stable_cone_soft_E2_cutoff;
+
+ private:
+ /**
+ * get the overlap between 2 jets
+ * \param j1 first jet
+ * \param j2 second jet
+ * \param v returned overlap^2 (determined by the choice of SM variable)
+ * \return true if overlapping, false if disjoint
+ */
+ bool get_overlap(const CSphjet &j1, const CSphjet &j2, double *v);
+
+
+ /**
+ * split the two given jets.
+ * during this procedure, the jets j1 & j2 are replaced
+ * by 2 new jets. Common particles are associted to the
+ * closest initial jet.
+ * \param it_j1 iterator of the first jet in 'candidates'
+ * \param it_j2 iterator of the second jet in 'candidates'
+ * \param j1 first jet (CSphjet instance)
+ * \param j2 second jet (CSphjet instance)
+ * \return true on success, false on error
+ */
+ bool split(cjet_iterator &it_j1, cjet_iterator &it_j2);
+
+ /**
+ * merge the two given jet.
+ * during this procedure, the jets j1 & j2 are replaced
+ * by 1 single jets containing both of them.
+ * \param it_j1 iterator of the first jet in 'candidates'
+ * \param it_j2 iterator of the second jet in 'candidates'
+ * \return true on success, false on error
+ */
+ bool merge(cjet_iterator &it_j1, cjet_iterator &it_j2);
+
+ /**
+ * Check whether or not a jet has to be inserted in the
+ * list of protojets. If it has, set its sm_variable and
+ * insert it to the list of protojets.
+ * \param jet jet to insert
+ */
+ bool insert(CSphjet &jet);
+
+ /**
+ * given a 4-momentum and its associated pT, return the
+ * variable tht has to be used for SM
+ * \param v 4 momentum of the protojet
+ * \param E_tilde E_tilde of the protojet
+ */
+ double get_sm_var2(CSphmomentum &v, double &E_tilde);
+
+ /// compute Etilde for a given jet
+ void compute_Etilde(CSphjet &j);
+
+ // jet information
+ /// list of jet candidates
+#ifdef SISCONE_USES_UNIQUE_PTR_AS_AUTO_PTR
+ std::unique_ptr<std::multiset<CSphjet,CSphsplit_merge_ptcomparison> > candidates;
+#else
+ std::auto_ptr<std::multiset<CSphjet,CSphsplit_merge_ptcomparison> > candidates;
+#endif
+
+ /// minimal E
+ double E_min;
+
+ /**
+ * do we have or not to use the energy-weighted splitting
+ * (see description for set_E_weighted_splitting)
+ * This will be false by default
+ */
+ bool use_E_weighted_splitting;
+
+ /// use a user-defined scale to order the stable cones and jet
+ /// candidates
+ const Cuser_scale_base *_user_scale;
+
+#ifdef ALLOW_MERGE_IDENTICAL_PROTOCONES
+ /// checkxor for the candidates (to avoid having twice the same contents)
+ std::set<siscone::Creference> cand_refs;
+#endif
+};
+
+}
+
+
+#endif
Property changes on: tags/siscone-3.0.2/siscone/spherical/split_merge.h
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Date Rev
\ No newline at end of property
Index: tags/siscone-3.0.2/siscone/spherical
===================================================================
--- tags/siscone-3.0.2/siscone/spherical (revision 397)
+++ tags/siscone-3.0.2/siscone/spherical (revision 398)
Property changes on: tags/siscone-3.0.2/siscone/spherical
___________________________________________________________________
Added: svn:ignore
## -0,0 +1,7 ##
+Makefile.in
+
+.deps
+
+Makefile
+
+.libs
Index: tags/siscone-3.0.2/siscone/protocones.cpp
===================================================================
--- tags/siscone-3.0.2/siscone/protocones.cpp (revision 0)
+++ tags/siscone-3.0.2/siscone/protocones.cpp (revision 398)
@@ -0,0 +1,849 @@
+///////////////////////////////////////////////////////////////////////////////
+// File: protocones.cpp //
+// Description: source file for stable cones determination (Cstable_cones) //
+// This file is part of the SISCone project. //
+// For more details, see http://projects.hepforge.org/siscone //
+// //
+// Copyright (c) 2006 Gavin Salam and Gregory Soyez //
+// //
+// This program is free software; you can redistribute it and/or modify //
+// it under the terms of the GNU General Public License as published by //
+// the Free Software Foundation; either version 2 of the License, or //
+// (at your option) any later version. //
+// //
+// This program is distributed in the hope that it will be useful, //
+// but WITHOUT ANY WARRANTY; without even the implied warranty of //
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
+// GNU General Public License for more details. //
+// //
+// You should have received a copy of the GNU General Public License //
+// along with this program; if not, write to the Free Software //
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
+// //
+// $Revision:: $//
+// $Date:: $//
+///////////////////////////////////////////////////////////////////////////////
+
+/*******************************************************
+ * Introductory note: *
+ * Since this file has many member functions, we have *
+ * structured them in categories: *
+ * INITIALISATION FUNCTIONS *
+ * - ctor() *
+ * - ctor(particle_list) *
+ * - dtor() *
+ * - init(particle_list) *
+ * ALGORITHM MAIN ENTRY *
+ * - get_stable_cone(radius) *
+ * ALGORITHM MAIN STEPS *
+ * - init_cone() *
+ * - test_cone() *
+ * - update_cone() *
+ * - proceed_with_stability() *
+ * ALGORITHM MAIN STEPS FOR COCIRCULAR SITUATIONS *
+ * - cocircular_pt_less(v1, v2) *
+ * - prepare_cocircular_list() *
+ * - test_cone_cocircular() *
+ * - test_stability(candidate, border_list) *
+ * - updat_cone_cocircular() *
+ * RECOMPUTATION OF CONE CONTENTS *
+ * - compute_cone_contents() *
+ * - recompute_cone_contents() *
+ * - recompute_cone_contents_if_needed() *
+ * VARIOUS TOOLS *
+ * - circle_intersect() *
+ * - is_inside() *
+ * - abs_dangle() *
+ *******************************************************/
+
+#include "protocones.h"
+#include "siscone_error.h"
+#include "defines.h"
+#include <math.h>
+#include <iostream>
+#include "circulator.h"
+#include <algorithm>
+
+namespace siscone{
+
+using namespace std;
+
+/**********************************************************************
+ * Cstable_cones implementation *
+ * Computes the list of stable comes from a particle list. *
+ * This class does the first fundamental task of te cone algorithm: *
+ * it is used to compute the list of stable cones given a list *
+ * of particles. *
+ **********************************************************************/
+
+////////////////////////////////////////////////////////
+// INITIALISATION FUNCTIONS //
+// - ctor() //
+// - ctor(particle_list) //
+// - dtor() //
+// - init(particle_list) //
+////////////////////////////////////////////////////////
+
+// default ctor
+//--------------
+Cstable_cones::Cstable_cones(){
+ nb_tot = 0;
+ hc = NULL;
+}
+
+// ctor with initialisation
+//--------------------------
+Cstable_cones::Cstable_cones(vector<Cmomentum> &_particle_list)
+ : Cvicinity(_particle_list){
+
+ nb_tot = 0;
+ hc = NULL;
+}
+
+// default dtor
+//--------------
+Cstable_cones::~Cstable_cones(){
+ if (hc!=NULL) delete hc;
+}
+
+/*
+ * initialisation
+ * - _particle_list list of particles
+ * - _n number of particles
+ *********************************************************************/
+void Cstable_cones::init(vector<Cmomentum> &_particle_list){
+ // check already allocated mem
+ if (hc!=NULL){
+ delete hc;
+ }
+ if (protocones.size()!=0)
+ protocones.clear();
+
+ multiple_centre_done.clear();
+
+ // initialisation
+ set_particle_list(_particle_list);
+}
+
+
+////////////////////////////////////////////////////////
+// ALGORITHM MAIN ENTRY //
+// - get_stable_cone(radius) //
+////////////////////////////////////////////////////////
+
+/*
+ * compute stable cones.
+ * This function really does the job i.e. computes
+ * the list of stable cones (in a seedless way)
+ * - _radius: radius of the cones
+ * The number of stable cones found is returned
+ *********************************************************************/
+int Cstable_cones::get_stable_cones(double _radius){
+ int p_idx;
+
+ // check if everything is correctly initialised
+ if (n_part==0){
+ return 0;
+ }
+
+ R = _radius;
+ R2 = R*R;
+
+ // allow hash for cones candidates
+ hc = new hash_cones(n_part, R2);
+
+ // browse all particles
+ for (p_idx=0;p_idx<n_part;p_idx++){
+ // step 0: compute the child list CL.
+ // Note that this automatically sets the parent P
+ build(&plist[p_idx], 2.0*R);
+
+ // special case:
+ // if the vicinity is empty, the parent particle is a
+ // stable cone by itself. Add it to protocones list.
+ if (vicinity_size==0){
+ protocones.push_back(*parent);
+ continue;
+ }
+
+ // step 1: initialise with the first cone candidate
+ init_cone();
+
+ do{
+ // step 2: test cone stability for that pair (P,C)
+ test_cone();
+
+ // step 3: go to the next cone child candidate C
+ } while (!update_cone());
+ }
+
+ return proceed_with_stability();
+}
+
+
+////////////////////////////////////////////////////////
+// ALGORITHM MAIN STEPS //
+// - init_cone() //
+// - test_cone() //
+// - update_cone() //
+// - proceed_with_stability() //
+////////////////////////////////////////////////////////
+
+/*
+ * initialise the cone.
+ * We take the first particle in the angular ordering to compute
+ * this one
+ * return 0 on success, 1 on error
+ *********************************************************************/
+int Cstable_cones::init_cone(){
+ // The previous version of the algorithm was starting the
+ // loop around vicinity elements with the "most isolated" child.
+ // given the nodist method to calculate the cone contents, we no
+ // longer need to worry about which cone comes first...
+ first_cone=0;
+
+ // now make sure we have lists of the cocircular particles
+ prepare_cocircular_lists();
+
+ //TODO? deal with a configuration with only degeneracies ?
+ // The only possibility seems a regular hexagon with a parent point
+ // in the centre. And this situation is by itself unclear.
+ // Hence, we do nothing here !
+
+ // init set child C
+ centre = vicinity[first_cone];
+ child = centre->v;
+ centre_idx = first_cone;
+
+ // build the initial cone (nodist: avoids calculating distances --
+ // just deduces contents by circulating around all in/out operations)
+ // this function also sets the list of included particles
+ compute_cone_contents();
+
+ return 0;
+}
+
+
+/*
+ * test cones.
+ * We check if the cone(s) built with the present parent and child
+ * are stable
+ * return 0 on success 1 on error
+ *********************************************************************/
+int Cstable_cones::test_cone(){
+ Creference weighted_cone_ref;
+
+ // depending on the side we are taking the child particle,
+ // we test different configuration.
+ // Each time, two configurations are tested in such a way that
+ // all 4 possible cases (parent or child in or out the cone)
+ // are tested when taking the pair of particle parent+child
+ // and child+parent.
+
+ // here are the tests entering the first series:
+ // 1. check if the cone is already inserted
+ // 2. check cone stability for the parent and child particles
+
+ if (centre->side){
+ // test when both particles are not in the cone
+ // or when both are in.
+ // Note: for the totally exclusive case, test emptyness before
+ cone_candidate = cone;
+ if (cone.ref.not_empty()){
+ hc->insert(&cone_candidate, parent, child, false, false);
+ }
+
+ cone_candidate = cone;
+ cone_candidate+= *parent + *child;
+ hc->insert(&cone_candidate, parent, child, true, true);
+ } else {
+ // test when 1! of the particles is in the cone
+ cone_candidate = cone + *parent;
+ hc->insert(&cone_candidate, parent, child, true, false);
+
+ cone_candidate = cone + *child;
+ hc->insert(&cone_candidate, parent, child, false, true);
+ }
+
+ nb_tot+=2;
+
+ return 0;
+}
+
+
+/*
+ * update the cone
+ * go to the next child for that parent and update 'cone' appropriately
+ * return 0 if update candidate found, 1 otherwise
+ ***********************************************************************/
+int Cstable_cones::update_cone(){
+ // get the next child and centre
+ centre_idx++;
+ if (centre_idx==vicinity_size)
+ centre_idx=0;
+ if (centre_idx==first_cone)
+ return 1;
+
+ // update the cone w.r.t. the old child
+ // only required if the old child is entering inside in which
+ // case we need to add it. We also know that the child is
+ // inside iff its side is -.
+ if (!centre->side){
+ // update cone
+ cone += (*child);
+
+ // update info on particles inside
+ centre->is_inside->cone = true;
+
+ // update stability check quantities
+ dpt += fabs(child->px)+fabs(child->py);
+ }
+
+ // update centre and child to correspond to the new position
+ centre = vicinity[centre_idx];
+ child = centre->v;
+
+ // check cocircularity
+ // note that if cocirculaity is detected (i.e. if we receive 1
+ // in the next test), we need to recall 'update_cone' directly
+ // since tests and remaining part of te update has been performed
+ //if (cocircular_check())
+ if (cocircular_check())
+ return update_cone();
+
+
+ // update the cone w.r.t. the new child
+ // only required if the new child was already inside in which
+ // case we need to remove it. We also know that the child is
+ // inside iff its side is +.
+ if ((centre->side) && (cone.ref.not_empty())){
+ // update cone
+ cone -= (*child);
+
+ // update info on particles inside
+ centre->is_inside->cone = false;
+
+ // update stability check quantities
+ dpt += fabs(child->px)+fabs(child->py); //child->perp2();
+ }
+
+ // check that the addition and subtraction of vectors does
+ // not lead to too much rounding error
+ // for that, we compute the sum of pt modifications and of |pt|
+ // since last recomputation and once the ratio overpasses a threshold
+ // we recompute vicinity.
+ if ((dpt>PT_TSHOLD*(fabs(cone.px)+fabs(cone.py))) && (cone.ref.not_empty())){
+ recompute_cone_contents();
+ }
+ if (cone.ref.is_empty()){
+ cone = Cmomentum();
+ dpt=0.0;
+ }
+
+ return 0;
+}
+
+
+/*
+ * compute stability of all enumerated candidates.
+ * For all candidate cones which are stable w.r.t. their border particles,
+ * pass the last test: stability with quadtree intersection
+ ************************************************************************/
+int Cstable_cones::proceed_with_stability(){
+ int i; // ,n;
+ hash_element *elm;
+
+ //n=0;
+ for (i=0;i<=hc->mask;i++){
+ // test ith cell of the hash array
+ elm = hc->hash_array[i];
+
+ // browse elements therein
+ while (elm!=NULL){
+ // test stability
+ if (elm->is_stable){
+ // stability is not ensured by all pairs of "edges" already browsed
+#ifdef USE_QUADTREE_FOR_STABILITY_TEST
+ // => testing stability with quadtree intersection
+ if (quadtree->circle_intersect(elm->eta, elm->phi, R2)==elm->ref){
+#else
+ // => testing stability with the particle-list intersection
+ if (circle_intersect(elm->eta, elm->phi)==elm->ref){
+#endif
+ // add it to the list of protocones
+ // note that in its present form, we do not allocate the
+ // 4-vector components of the momentum. There's no need to
+ // do it here as it will be recomputed in
+ // Csplit_merge::add_protocones
+ protocones.push_back(Cmomentum(elm->eta, elm->phi, elm->ref));
+ }
+ }
+
+ // jump to the next one
+ elm = elm->next;
+ }
+ }
+
+ // free hash
+ // we do that at this level because hash eats rather a lot of memory
+ // we want to free it before running the split/merge algorithm
+#ifdef DEBUG_STABLE_CONES
+ nb_hash_cones = hc->n_cones;
+ nb_hash_occupied = hc->n_occupied_cells;
+#endif
+
+ delete hc;
+ hc=NULL;
+
+ return protocones.size();
+}
+
+
+////////////////////////////////////////////////////////
+// ALGORITHM MAIN STEPS FOR COCIRCULAR SITUATIONS //
+// - cocircular_pt_less(v1, v2) //
+// - prepare_cocircular_list() //
+// - test_cone_cocircular() //
+// - test_stability(candidate, border_vect) //
+// - updat_cone_cocircular() //
+////////////////////////////////////////////////////////
+
+/// pt-ordering of momenta used for the cocircular case
+bool cocircular_pt_less(Cmomentum *v1, Cmomentum *v2){
+ return v1->perp2() < v2->perp2();
+}
+
+/*
+ * run through the vicinity of the current parent and for each child
+ * establish which other members are cocircular... Note that the list
+ * associated with each child contains references to vicinity
+ * elements: thus two vicinity elements each associated with one given
+ * particle may appear in a list -- this needs to be watched out for
+ * later on...
+ **********************************************************************/
+void Cstable_cones::prepare_cocircular_lists() {
+ circulator<vector<Cvicinity_elm*>::iterator > here(vicinity.begin(),
+ vicinity.begin(),
+ vicinity.end());
+
+ circulator<vector<Cvicinity_elm*>::iterator > search(here);
+
+ do {
+ Cvicinity_elm* here_pntr = *here();
+ search.set_position(here);
+
+ // search forwards for things that should have "here" included in
+ // their cocircularity list
+ while (true) {
+ ++search;
+ if ( abs_dphi((*search())->angle, here_pntr->angle) <
+ here_pntr->cocircular_range
+ && search() != here()) {
+ (*search())->cocircular.push_back(here_pntr);
+ } else {
+ break;
+ }
+ }
+
+ // search backwards
+ search.set_position(here);
+ while (true) {
+ --search;
+ if ( abs_dphi((*search())->angle, here_pntr->angle) <
+ here_pntr->cocircular_range
+ && search() != here()) {
+ (*search())->cocircular.push_back(here_pntr);
+ } else {
+ break;
+ }
+ }
+
+ ++here;
+ } while (here() != vicinity.begin());
+
+}
+
+/*
+ * Testing cocircular configurations in p^3 time,
+ * rather than 2^p time; we will test all contiguous subsets of points
+ * on the border --- note that this is till probably overkill, since
+ * in principle we only have to test situations where up to a
+ * half-circle is filled (but going to a full circle is simpler)
+ ******************************************************************/
+void Cstable_cones::test_cone_cocircular(Cmomentum & borderless_cone,
+ list<Cmomentum *> & border_list) {
+ vector<Cborder_store> border_vect;
+
+ border_vect.reserve(border_list.size());
+ for (list<Cmomentum *>::iterator it = border_list.begin();
+ it != border_list.end(); it++) {
+ border_vect.push_back(Cborder_store(*it, centre->eta, centre->phi));
+ }
+
+ // get them into order of angle
+ sort(border_vect.begin(), border_vect.end());
+
+ // set up some circulators, since these will help us go around the
+ // circle easily
+ circulator<vector<Cborder_store>::iterator >
+ start(border_vect.begin(), border_vect.begin(),border_vect.end());
+ circulator<vector<Cborder_store>::iterator > mid(start), end(start);
+
+ // test the borderless cone
+ Cmomentum candidate = borderless_cone;
+ candidate.build_etaphi();
+ if (candidate.ref.not_empty())
+ test_stability(candidate, border_vect);
+
+ do {
+ // reset status wrt inclusion in the cone
+ mid = start;
+ do {
+ mid()->is_in = false;
+ } while (++mid != start);
+
+ // now run over all inclusion possibilities with this starting point
+ candidate = borderless_cone;
+ while (++mid != start) {
+ // will begin with start+1 and go up to start-1
+ mid()->is_in = true;
+ candidate += *(mid()->mom);
+ test_stability(candidate, border_vect);
+ }
+
+ } while (++start != end);
+
+ // mid corresponds to momentum that we need to include to get the
+ // full cone
+ mid()->is_in = true;
+ candidate += *(mid()->mom);
+ test_stability(candidate, border_vect);
+}
+
+
+/**
+ * carry out the computations needed for the stability check of the
+ * candidate, using the border_vect to indicate which particles
+ * should / should not be in the stable cone; if the cone is stable
+ * insert it into the hash.
+ **********************************************************************/
+void Cstable_cones::test_stability(Cmomentum & candidate, const vector<Cborder_store> & border_vect) {
+
+ // this almost certainly has not been done...
+ candidate.build_etaphi();
+
+ bool stable = true;
+ for (unsigned i = 0; i < border_vect.size(); i++) {
+ if (is_inside(&candidate, border_vect[i].mom) ^ (border_vect[i].is_in)) {
+ stable = false;
+ break; // it's unstable so there's no point continuing
+ }
+ }
+
+ if (stable) hc->insert(&candidate);
+}
+
+/*
+ * check if we are in a situation of cocircularity.
+ * if it is the case, update and test in the corresponding way
+ * return 'false' if no cocircularity detected, 'true' otherwise
+ * Note that if cocircularity is detected, we need to
+ * recall 'update' from 'update' !!!
+ ***************************************************************/
+bool Cstable_cones::cocircular_check(){
+ // check if many configurations have the same centre.
+ // if this is the case, branch on the algorithm for this
+ // special case.
+ // Note that those situation, being considered separately in
+ // test_cone_multiple, must only be considered here if all
+ // angles are on the same side (this avoid multiple counting)
+
+ if (centre->cocircular.empty()) return false;
+
+ // first get cone into status required at end...
+ if ((centre->side) && (cone.ref.not_empty())){
+ // update cone
+ cone -= (*child);
+
+ // update info on particles inside
+ centre->is_inside->cone = false;
+
+ // update stability check quantities
+ dpt += fabs(child->px)+fabs(child->py); //child->perp2();
+ }
+
+
+ // now establish the list of unique children in the list
+ // first make sure parent and child are in!
+
+ list<Cvicinity_inclusion *> removed_from_cone;
+ list<Cvicinity_inclusion *> put_in_border;
+ list<Cmomentum *> border_list;
+
+ Cmomentum cone_removal;
+ Cmomentum border = *parent;
+ border_list.push_back(parent);
+
+ // make sure child appears in the border region
+ centre->cocircular.push_back(centre);
+
+ // now establish the full contents of the cone minus the cocircular
+ // region and of the cocircular region itself
+ for(list<Cvicinity_elm *>::iterator it = centre->cocircular.begin();
+ it != centre->cocircular.end(); it++) {
+
+ if ((*it)->is_inside->cone) {
+ cone_removal += *((*it)->v);
+ (*it)->is_inside->cone = false;
+ removed_from_cone.push_back((*it)->is_inside);
+ }
+
+ // if a point appears twice (i.e. with + and - sign) in the list of
+ // points on the border, we take care not to include it twice.
+ // Note that this situation may appear when a point is at a distance
+ // close to 2R from the parent
+ if (!(*it)->is_inside->cocirc) {
+ border += *((*it)->v);
+ (*it)->is_inside->cocirc = true;
+ put_in_border.push_back((*it)->is_inside);
+ border_list.push_back((*it)->v);
+ }
+ }
+
+
+ // figure out whether this pairing has been observed before
+ Cmomentum borderless_cone = cone;
+ borderless_cone -= cone_removal;
+ bool consider = true;
+ for (unsigned int i=0;i<multiple_centre_done.size();i++){
+ if ((multiple_centre_done[i].first ==borderless_cone.ref) &&
+ (multiple_centre_done[i].second==border.ref))
+ consider = false;
+ }
+
+ // now prepare the hard work
+ if (consider) {
+ // record the fact that we've now seen this combination
+ multiple_centre_done.push_back(pair<Creference,Creference>(borderless_cone.ref,
+ border.ref));
+
+ // first figure out whether our cone momentum is good
+ double local_dpt = fabs(cone_removal.px) + fabs(cone_removal.py);
+ double total_dpt = dpt + local_dpt;
+
+ recompute_cone_contents_if_needed(borderless_cone, total_dpt);
+ if (total_dpt == 0) {
+ // a recomputation has taken place -- so take advantage of this
+ // and update the member cone momentum
+ cone = borderless_cone + cone_removal;
+ dpt = local_dpt;
+ }
+
+ test_cone_cocircular(borderless_cone, border_list);
+ }
+
+
+ // relabel things that were in the cone but got removed
+ for(list<Cvicinity_inclusion *>::iterator is_in = removed_from_cone.begin();
+ is_in != removed_from_cone.end(); is_in++) {
+ (*is_in)->cone = true;
+ }
+
+ // relabel things that got put into the border
+ for(list<Cvicinity_inclusion *>::iterator is_in = put_in_border.begin();
+ is_in != put_in_border.end(); is_in++) {
+ (*is_in)->cocirc = false;
+ }
+
+ // we're done with everything -- return true to signal to user that we've
+ // been through the co-circularity rigmarole
+ return true;
+}
+
+
+////////////////////////////////////////////////////////
+// RECOMPUTATION OF CONE CONTENTS //
+// - compute_cone_contents() //
+// - recompute_cone_contents() //
+// - recompute_cone_contents_if_needed() //
+////////////////////////////////////////////////////////
+
+/**
+ * compute the cone contents by going once around the full set of
+ * circles and tracking the entry/exit status each time
+ * given parent, child and centre compute the momentum
+ * of the particle inside the cone
+ * This sets up the inclusion information, which can then be directly
+ * used to calculate the cone momentum.
+ **********************************************************************/
+void Cstable_cones::compute_cone_contents() {
+ circulator<vector<Cvicinity_elm*>::iterator >
+ start(vicinity.begin()+first_cone, vicinity.begin(), vicinity.end());
+
+ circulator<vector<Cvicinity_elm*>::iterator > here(start);
+
+ // note that in the following algorithm, the cone contents never includes
+ // the child. Indeed, if it has positive sign, then it will be set as
+ // outside at the last step in the loop. If it has negative sign, then the
+ // loop will at some point go to the corresponding situation with positive
+ // sign and set the inclusion status to 0.
+
+ do {
+ // as we leave this position a particle enters if its side is
+ // negative (i.e. the centre is the one at -ve angle wrt to the
+ // parent-child line
+ if (!(*here())->side) ((*here())->is_inside->cone) = 1;
+
+ // move on to the next position
+ ++here;
+
+ // as we arrive at this position a particle leaves if its side is positive
+ if ((*here())->side) ((*here())->is_inside->cone) = 0;
+ } while (here != start);
+
+ // once we've reached the start the 'is_inside' information should be
+ // 100% complete, so we can use it to calculate the cone contents
+ // and then exit
+ recompute_cone_contents();
+ return;
+
+}
+
+
+/*
+ * compute the cone momentum from particle list.
+ * in this version, we use the 'pincluded' information
+ * from the Cvicinity class
+ */
+void Cstable_cones::recompute_cone_contents(){
+ unsigned int i;
+
+ // set momentum to 0
+ cone = Cmomentum();
+
+ // Important note: we can browse only the particles
+ // in vicinity since all particles in the cone are
+ // withing a distance 2R w.r.t. parent hence in vicinity.
+ // Among those, we only add the particles for which 'is_inside' is true !
+ // This methos rather than a direct comparison avoids rounding errors
+ for (i=0;i<vicinity_size;i++){
+ // to avoid double-counting, only use particles with + angle
+ if ((vicinity[i]->side) && (vicinity[i]->is_inside->cone))
+ cone += *vicinity[i]->v;
+ }
+
+ // set check variables back to 0
+ dpt = 0.0;
+}
+
+
+/*
+ * if we have gone beyond the acceptable threshold of change, compute
+ * the cone momentum from particle list. in this version, we use the
+ * 'pincluded' information from the Cvicinity class, but we don't
+ * change the member cone, only the locally supplied one
+ */
+void Cstable_cones::recompute_cone_contents_if_needed(Cmomentum & this_cone,
+ double & this_dpt){
+
+ if (this_dpt > PT_TSHOLD*(fabs(this_cone.px)+fabs(this_cone.py))) {
+ if (cone.ref.is_empty()) {
+ this_cone = Cmomentum();
+ } else {
+ // set momentum to 0
+ this_cone = Cmomentum();
+
+ // Important note: we can browse only the particles
+ // in vicinity since all particles in the this_cone are
+ // withing a distance 2R w.r.t. parent hence in vicinity.
+ // Among those, we only add the particles for which 'is_inside' is true !
+ // This methos rather than a direct comparison avoids rounding errors
+ for (unsigned int i=0;i<vicinity_size;i++){
+ // to avoid double-counting, only use particles with + angle
+ if ((vicinity[i]->side) && (vicinity[i]->is_inside->cone))
+ this_cone += *vicinity[i]->v;
+ }
+
+ }
+ // set check variables back to 0
+ this_dpt = 0.0;
+ }
+
+}
+
+
+////////////////////////////////////////////////////////
+// VARIOUS TOOLS //
+// - circle_intersect() //
+// - is_inside() //
+// - abs_dangle() //
+////////////////////////////////////////////////////////
+
+
+/*
+ * circle intersection.
+ * computes the intersection with a circle of given centre and radius.
+ * The output takes the form of a checkxor of the intersection's particles
+ * - cx circle centre x coordinate
+ * - cy circle centre y coordinate
+ * return the checkxor for the intersection
+ ******************************************************************/
+Creference Cstable_cones::circle_intersect(double cx, double cy){
+ Creference intersection;
+ int i;
+ double dx, dy;
+
+ for (i=0;i<n_part;i++){
+ // compute the distance of the i-th particle with the parent
+ dx = plist[i].eta - cx;
+ dy = fabs(plist[i].phi - cy);
+
+ // pay attention to the periodicity in phi !
+ if (dy>M_PI)
+ dy -= twopi;
+
+ // really check if the distance is less than VR
+ if (dx*dx+dy*dy<R2)
+ intersection+=plist[i].ref;
+ }
+
+ return intersection;
+}
+
+/*
+ * test if a particle is inside a cone of given centre.
+ * check if the particle of coordinates 'v' is inside the circle of radius R
+ * centered at 'centre'.
+ * - centre centre of the circle
+ * - v particle to test
+ * return true if inside, false if outside
+ *****************************************************************************/
+inline bool Cstable_cones::is_inside(Cmomentum *centre_in, Cmomentum *v){
+ double dx, dy;
+
+ dx = centre_in->eta - v->eta;
+ dy = fabs(centre_in->phi - v->phi);
+ if (dy>M_PI)
+ dy -= twopi;
+
+ return dx*dx+dy*dy<R2;
+}
+
+/*
+ * compute the absolute value of the difference between 2 angles.
+ * We take care of the 2pi periodicity
+ * - angle1 first angle
+ * - angle2 second angle
+ * return the absolute value of the difference between the angles
+ *****************************************************************/
+inline double abs_dangle(double &angle1, double &angle2){
+ double dphi;
+
+ dphi = fabs(angle1-angle2);
+ if (dphi>M_PI)
+ dphi = dphi-twopi;
+
+ return dphi;
+}
+
+}
Property changes on: tags/siscone-3.0.2/siscone/protocones.cpp
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Date Rev
\ No newline at end of property
Index: tags/siscone-3.0.2/siscone/reference.cpp
===================================================================
--- tags/siscone-3.0.2/siscone/reference.cpp (revision 0)
+++ tags/siscone-3.0.2/siscone/reference.cpp (revision 398)
@@ -0,0 +1,120 @@
+///////////////////////////////////////////////////////////////////////////////
+// File: reference.cpp //
+// Description: source file for checkxor management (Creference class) //
+// This file is part of the SISCone project. //
+// For more details, see http://projects.hepforge.org/siscone //
+// //
+// Copyright (c) 2006 Gavin Salam and Gregory Soyez //
+// //
+// This program is free software; you can redistribute it and/or modify //
+// it under the terms of the GNU General Public License as published by //
+// the Free Software Foundation; either version 2 of the License, or //
+// (at your option) any later version. //
+// //
+// This program is distributed in the hope that it will be useful, //
+// but WITHOUT ANY WARRANTY; without even the implied warranty of //
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
+// GNU General Public License for more details. //
+// //
+// You should have received a copy of the GNU General Public License //
+// along with this program; if not, write to the Free Software //
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
+// //
+// $Revision:: $//
+// $Date:: $//
+///////////////////////////////////////////////////////////////////////////////
+
+#include "reference.h"
+#include "ranlux.h"
+#include <stdlib.h>
+
+namespace siscone{
+
+/*******************************************************
+ * Creference implementation *
+ * references used for checksums. *
+ * *
+ * This class implements some reference variable *
+ * that can be used for checksums. Those checksums *
+ * are useful to disentengle between contents of two *
+ * cones without looking into their explicit particle *
+ * contents. *
+ *******************************************************/
+
+// default constructor
+//////////////////////
+Creference::Creference(){
+ ref[0] = ref[1] = ref[2] = 0;
+}
+
+ //static unsigned int reference_bit = 1;
+
+// create a random reference
+//---------------------------
+void Creference::randomize(){
+// ref[0] = reference_bit;
+// ref[1] = 0;
+// ref[2] = 0;
+// reference_bit <<= 1;
+
+ unsigned int r1 = ranlux_get();
+ unsigned int r2 = ranlux_get();
+ unsigned int r3 = ranlux_get();
+ unsigned int r4 = ranlux_get();
+ // since ranlux only produces 24 bits, take r4 and add 8 bits
+ // from it to each of r1,r2, r3 to get 3*32 bits.
+ ref[0] = r1+((r4 & 0x00ff0000) << 8);
+ ref[1] = r2+((r4 & 0x0000ff00) << 16);
+ ref[2] = r3+((r4 & 0x000000ff) << 24);
+
+ if (is_empty()) randomize();
+}
+
+// test emptyness
+//----------------
+bool Creference::is_empty(){
+ return (ref[0]==0) && (ref[1]==0) && (ref[2]==0);
+}
+
+// test non-emptyness
+//--------------------
+bool Creference::not_empty(){
+ return (ref[0]!=0) || (ref[1]!=0) || (ref[2]!=0);
+}
+
+// assignment of reference
+//-------------------------
+Creference& Creference::operator = (const Creference &r){
+ ref[0] = r.ref[0];
+ ref[1] = r.ref[1];
+ ref[2] = r.ref[2];
+ return *this;
+}
+
+// addition of reference
+//-----------------------
+Creference Creference::operator + (const Creference &r){
+ Creference tmp = *this;
+ return tmp+=r;
+}
+
+// incrementation of reference
+//-----------------------------
+Creference& Creference::operator += (const Creference &r){
+ ref[0] ^= r.ref[0];
+ ref[1] ^= r.ref[1];
+ ref[2] ^= r.ref[2];
+ return *this;
+}
+
+// decrementation of reference
+//-----------------------------
+Creference& Creference::operator -= (const Creference &r){
+ ref[0] ^= r.ref[0];
+ ref[1] ^= r.ref[1];
+ ref[2] ^= r.ref[2];
+ return *this;
+}
+
+}
+
Property changes on: tags/siscone-3.0.2/siscone/reference.cpp
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Date Rev
\ No newline at end of property
Index: tags/siscone-3.0.2/siscone/vicinity.cpp
===================================================================
--- tags/siscone-3.0.2/siscone/vicinity.cpp (revision 0)
+++ tags/siscone-3.0.2/siscone/vicinity.cpp (revision 398)
@@ -0,0 +1,296 @@
+///////////////////////////////////////////////////////////////////////////////
+// File: vicinity.cpp //
+// Description: source file for particle vicinity (Cvicinity class) //
+// This file is part of the SISCone project. //
+// For more details, see http://projects.hepforge.org/siscone //
+// //
+// Copyright (c) 2006 Gavin Salam and Gregory Soyez //
+// //
+// This program is free software; you can redistribute it and/or modify //
+// it under the terms of the GNU General Public License as published by //
+// the Free Software Foundation; either version 2 of the License, or //
+// (at your option) any later version. //
+// //
+// This program is distributed in the hope that it will be useful, //
+// but WITHOUT ANY WARRANTY; without even the implied warranty of //
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
+// GNU General Public License for more details. //
+// //
+// You should have received a copy of the GNU General Public License //
+// along with this program; if not, write to the Free Software //
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
+// //
+// $Revision:: $//
+// $Date:: $//
+///////////////////////////////////////////////////////////////////////////////
+
+#include "vicinity.h"
+#include <math.h>
+#include <algorithm>
+#include <iostream>
+
+namespace siscone{
+
+using namespace std;
+
+/*************************************************************
+ * Cvicinity_elm implementation *
+ * element in the vicinity of a parent. *
+ * class used to manage one points in the vicinity *
+ * of a parent point. *
+ *************************************************************/
+
+// ordering pointers to Cvicinity_elm
+//------------------------------------
+bool ve_less(Cvicinity_elm *ve1, Cvicinity_elm *ve2){
+ return ve1->angle < ve2->angle;
+}
+
+
+/*************************************************************
+ * Cvicinity implementation *
+ * list of element in the vicinity of a parent. *
+ * class used to manage the points which are in the vicinity *
+ * of a parent point. The construction of the list can be *
+ * made from a list of points or from a quadtree. *
+ *************************************************************/
+
+// default constructor
+//---------------------
+Cvicinity::Cvicinity(){
+ n_part = 0;
+
+ ve_list = NULL;
+#ifdef USE_QUADTREE_FOR_STABILITY_TEST
+ quadtree = NULL;
+#endif
+
+ parent = NULL;
+ VR2 = VR = 0.0;
+
+}
+
+// constructor with initialisation
+//---------------------------------
+Cvicinity::Cvicinity(vector<Cmomentum> &_particle_list){
+ parent = NULL;
+#ifdef USE_QUADTREE_FOR_STABILITY_TEST
+ quadtree = NULL;
+#endif
+ VR2 = VR = 0.0;
+
+ ve_list = NULL;
+ set_particle_list(_particle_list);
+}
+
+// default destructor
+//--------------------
+Cvicinity::~Cvicinity(){
+ if (ve_list!=NULL)
+ delete[] ve_list;
+
+#ifdef USE_QUADTREE_FOR_STABILITY_TEST
+ if (quadtree!=NULL)
+ delete quadtree;
+#endif
+}
+
+/*
+ * set the particle_list
+ * - particle_list list of particles (type Cmomentum)
+ * - n number of particles in the list
+ ************************************************************/
+void Cvicinity::set_particle_list(vector<Cmomentum> &_particle_list){
+ int i,j;
+#ifdef USE_QUADTREE_FOR_STABILITY_TEST
+ double eta_max=0.0;
+#endif
+
+ // if the particle list is not empty, destroy it !
+ if (ve_list!=NULL){
+ delete[] ve_list;
+ }
+ vicinity.clear();
+#ifdef USE_QUADTREE_FOR_STABILITY_TEST
+ if (quadtree!=NULL)
+ delete quadtree;
+#endif
+
+ // allocate memory array for particles
+ // Note: - we compute max for |eta|
+ // - we allocate indices to particles
+ n_part = 0;
+ plist.clear();
+ pincluded.clear();
+ for (i=0;i<(int) _particle_list.size();i++){
+ // if a particle is colinear with the beam (infinite rapidity)
+ // we do not take it into account
+ if (fabs(_particle_list[i].pz)!=_particle_list[i].E){
+ plist.push_back(_particle_list[i]);
+ pincluded.push_back(Cvicinity_inclusion()); // zero inclusion status
+
+ // the parent_index is handled in the split_merge because
+ // of our multiple-pass procedure.
+ // Hence, it is not required here any longer.
+ // plist[n_part].parent_index = i;
+ plist[n_part].index = n_part;
+
+ // make sure the reference is randomly created
+ plist[n_part].ref.randomize();
+
+#ifdef USE_QUADTREE_FOR_STABILITY_TEST
+ if (fabs(plist[n_part].eta)>eta_max) eta_max=fabs(plist[n_part].eta);
+#endif
+
+ n_part++;
+ }
+ }
+
+ // allocate quadtree and vicinity_elm list
+ // note: we set phi in [-pi:pi] as it is the natural range for atan2!
+ ve_list = new Cvicinity_elm[2*n_part];
+#ifdef USE_QUADTREE_FOR_STABILITY_TEST
+ eta_max+=0.1;
+ quadtree = new Cquadtree(0.0, 0.0, eta_max, M_PI);
+#endif
+
+ // append particle to the vicinity_elm list
+ j = 0;
+ for (i=0;i<n_part;i++){
+#ifdef USE_QUADTREE_FOR_STABILITY_TEST
+ quadtree->add(&plist[i]);
+#endif
+ ve_list[j].v = ve_list[j+1].v = &plist[i];
+ ve_list[j].is_inside = ve_list[j+1].is_inside = &(pincluded[i]);
+ j+=2;
+ }
+
+}
+
+
+/*
+ * build the vicinity list from a list of points.
+ * - _parent reference particle
+ * - _VR vicinity radius
+ ************************************************************/
+void Cvicinity::build(Cmomentum *_parent, double _VR){
+ int i;
+
+ // set parent and radius
+ parent = _parent;
+ VR = _VR;
+ VR2 = VR*VR;
+ R2 = 0.25*VR2;
+ R = 0.5*VR;
+ inv_R_EPS_COCIRC = 1.0 / R / EPSILON_COCIRCULAR;
+ inv_R_2EPS_COCIRC = 0.5 / R / EPSILON_COCIRCULAR;
+
+ // clear vicinity
+ vicinity.clear();
+
+ // init parent variables
+ pcx = parent->eta;
+ pcy = parent->phi;
+
+ // really browse the particle list
+ for (i=0;i<n_part;i++){
+ append_to_vicinity(&plist[i]);
+ }
+
+ // sort the vicinity
+ sort(vicinity.begin(), vicinity.end(), ve_less);
+
+ vicinity_size = vicinity.size();
+}
+
+
+/// strictly increasing function of the angle
+inline double sort_angle(double s, double c){
+ if (s==0) return (c>0) ? 0.0 : 2.0;
+ double t=c/s;
+ return (s>0) ? 1-t/(1+fabs(t)) : 3-t/(1+fabs(t));
+}
+
+
+/*
+ * append a particle to the 'vicinity' list after
+ * having computed the angular-ordering quantities
+ * - v vector to test
+ **********************************************************/
+void Cvicinity::append_to_vicinity(Cmomentum *v){
+ double dx, dy, d2;
+
+ // skip the particle itself)
+ if (v==parent)
+ return;
+
+ int i=2*(v->index);
+
+ // compute the distance of the i-th particle with the parent
+ dx = v->eta - pcx;
+ dy = v->phi - pcy;
+
+ // pay attention to the periodicity in phi !
+ if (dy>M_PI)
+ dy -= twopi;
+ else if (dy<-M_PI)
+ dy += twopi;
+
+ d2 = dx*dx+dy*dy;
+
+ // really check if the distance is less than VR
+ if (d2<VR2){
+ double s,c,tmp;
+
+ // compute the angles used for future ordering ...
+ // - build temporary variables used for the computation
+ //d = sqrt(d2);
+ tmp = sqrt(VR2/d2-1);
+
+ // first angle (+)
+ c = 0.5*(dx-dy*tmp); // cosine of (parent,child) pair w.r.t. horizontal
+ s = 0.5*(dy+dx*tmp); // sine of (parent,child) pair w.r.t. horizontal
+ ve_list[i].angle = sort_angle(s,c);
+ ve_list[i].eta = pcx+c;
+ ve_list[i].phi = phi_in_range(pcy+s);
+ ve_list[i].side = true;
+ ve_list[i].cocircular.clear();
+ vicinity.push_back(&(ve_list[i]));
+
+ // second angle (-)
+ c = 0.5*(dx+dy*tmp); // cosine of (parent,child) pair w.r.t. horizontal
+ s = 0.5*(dy-dx*tmp); // sine of (parent,child) pair w.r.t. horizontal
+ ve_list[i+1].angle = sort_angle(s,c);
+ ve_list[i+1].eta = pcx+c;
+ ve_list[i+1].phi = phi_in_range(pcy+s);
+ ve_list[i+1].side = false;
+ ve_list[i+1].cocircular.clear();
+ vicinity.push_back(&(ve_list[i+1]));
+
+ // now work out the cocircularity range for the two points (range
+ // of angle within which the points stay within a distance
+ // EPSILON_COCIRCULAR of circule
+ // P = parent; C = child; O = Origin (center of circle)
+ Ctwovect OP(pcx - ve_list[i+1].eta, phi_in_range(pcy-ve_list[i+1].phi));
+ Ctwovect OC(v->eta - ve_list[i+1].eta,
+ phi_in_range(v->phi-ve_list[i+1].phi));
+
+ // two sources of error are (GPS CCN29-19) epsilon/(R sin theta)
+ // and sqrt(2*epsilon/(R (1-cos theta))) and the way things work
+ // out, it is the _smaller_ of the two that is relevant [NB have
+ // changed definition of theta here relative to that used in
+ // CCN29] [NB2: write things so as to avoid zero denominators and
+ // to minimize the multiplications, divisions and above all sqrts
+ // -- that means that c & s are defined including a factor of VR2]
+ c = dot_product(OP,OC);
+ s = fabs(cross_product(OP,OC));
+ double inv_err1 = s * inv_R_EPS_COCIRC;
+ double inv_err2_sq = (R2-c) * inv_R_2EPS_COCIRC;
+ ve_list[i].cocircular_range = pow2(inv_err1) > inv_err2_sq ?
+ 1.0/inv_err1 :
+ sqrt(1.0/inv_err2_sq);
+ ve_list[i+1].cocircular_range = ve_list[i].cocircular_range;
+ }
+}
+
+}
Property changes on: tags/siscone-3.0.2/siscone/vicinity.cpp
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Date Rev
\ No newline at end of property
Index: tags/siscone-3.0.2/siscone/protocones.h
===================================================================
--- tags/siscone-3.0.2/siscone/protocones.h (revision 0)
+++ tags/siscone-3.0.2/siscone/protocones.h (revision 398)
@@ -0,0 +1,271 @@
+// -*- C++ -*-
+///////////////////////////////////////////////////////////////////////////////
+// File: protocones.h //
+// Description: header file for stable cones determination (Cstable_cones) //
+// This file is part of the SISCone project. //
+// For more details, see http://projects.hepforge.org/siscone //
+// //
+// Copyright (c) 2006 Gavin Salam and Gregory Soyez //
+// //
+// This program is free software; you can redistribute it and/or modify //
+// it under the terms of the GNU General Public License as published by //
+// the Free Software Foundation; either version 2 of the License, or //
+// (at your option) any later version. //
+// //
+// This program is distributed in the hope that it will be useful, //
+// but WITHOUT ANY WARRANTY; without even the implied warranty of //
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
+// GNU General Public License for more details. //
+// //
+// You should have received a copy of the GNU General Public License //
+// along with this program; if not, write to the Free Software //
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
+// //
+// $Revision:: $//
+// $Date:: $//
+///////////////////////////////////////////////////////////////////////////////
+
+#ifndef __PROTOCONES_H__
+#define __PROTOCONES_H__
+
+#include "momentum.h"
+#include "vicinity.h"
+#include <stdio.h>
+#include <vector>
+#include <list>
+#include "hash.h"
+
+#include "defines.h"
+
+namespace siscone{
+
+/**
+ * \class Cborder_store
+ *
+ * class for storing a border momentum (in context of co-circularity
+ * checks).
+
+ * This class essentially calculates angle of border point w.r.t.
+ * circle center (eta & phi), and provides a store of information
+ * about whether we are currently including this point in the
+ * candidate
+ */
+class Cborder_store{
+public:
+ /// default ctor
+ Cborder_store(Cmomentum * momentum, double centre_eta, double centre_phi) :
+ mom(momentum), is_in(false) {
+ angle = atan2(mom->phi - centre_phi, mom->eta - centre_eta);
+ }
+
+ Cmomentum * mom; ///< particle momentum
+ double angle; ///< angle w.r.t. circle centre
+ bool is_in; ///< inclusion status of the particle
+};
+
+
+/// allows easy sorting of Cborder_store objects (which need to be
+/// ordered in angle).
+inline bool operator<(const Cborder_store & a, const Cborder_store & b) {
+ return a.angle < b.angle;
+}
+
+
+/**
+ * \class Cstable_cones
+ * \brief Computes the list of stable comes from a particle list.
+ *
+ * This class does the first fundamental task of te cone algorithm:
+ * it is used to compute the list of stable cones given a list
+ * of particles.
+ */
+class Cstable_cones : public Cvicinity{
+ public:
+ /// default ctor
+ Cstable_cones();
+
+ /// ctor with initialisation (sse init for details)
+ Cstable_cones(std::vector<Cmomentum> &_particle_list);
+
+ /// default dtor
+ ~Cstable_cones();
+
+ /**
+ * initialisation
+ * \param _particle_list list of particles
+ */
+ void init(std::vector<Cmomentum> &_particle_list);
+
+ /**
+ * compute stable cones.
+ * This function really does the job i.e. computes
+ * the list of stable cones (in a seedless way)
+ * \param _radius radius of the cones
+ * \return The number of stable cones found is returned
+ */
+ int get_stable_cones(double _radius);
+
+ /// list of stable cones
+ std::vector<Cmomentum> protocones;
+
+ /// list of candidates
+ hash_cones *hc;
+
+ /// total number of tested cones
+ int nb_tot;
+#ifdef DEBUG_STABLE_CONES
+ int nb_hash_cones, nb_hash_occupied;
+#endif
+
+ protected:
+ /// cone radius
+ double R;
+
+ /// cone radius SQUARED
+ double R2;
+
+ private:
+ /// cone with a given particle as parent
+ /// this reduction to a single vector assumes we trust the checksums
+ Cmomentum cone;
+
+ /// child particle, taken in the 'vicinity' list
+ Cmomentum *child;
+
+ /// centre of the tested cone
+ Cvicinity_elm *centre;
+
+ /// index in the particle list;
+ unsigned int centre_idx;
+
+ /// first cone used in the vicinity list
+ unsigned int first_cone;
+
+ /**
+ * initialise the cone.
+ * We take the first particle in the angular ordering to compute this one
+ * \return 0 on success, 1 on error
+ */
+ int init_cone();
+
+ /**
+ * test cones.
+ * We check if the cone(s) build with the present parent and child
+ * are stable
+ * \return 0 on success 1 on error
+ */
+ int test_cone();
+
+ /**
+ * update the cone
+ * go to the next child for that parent and update 'cone' appropriately
+ * \return 0 if update candidate found, 1 otherwise
+ */
+ int update_cone();
+
+ /*
+ * run through the vicinity of the current parent and for each child
+ * indicate which members are cocircular...
+ */
+ void prepare_cocircular_lists();
+
+ /**
+ * check if we are in a situation of cocircularity.
+ * if it is the case, update and test in the corresponding way
+ * \return 'false' if no cocircularity detected, 'true' otherwise
+ * Note that if cocircularity is detected, we need to
+ * recall 'update' from 'update' !!!
+ */
+ bool cocircular_check();
+
+ /**
+ * Routine for testing cocircular configurations in p^3 time,
+ * rather than 2^p time;
+ */
+ void test_cone_cocircular(Cmomentum & borderless_cone,
+ std::list<Cmomentum *> & border_list);
+
+ /**
+ * carry out the computations needed for the stability check of the
+ * candidate, using the border_vect to indicate which particles
+ * should / should not be in the stable cone; if the cone is stable
+ * insert it into the hash.
+ */
+ void test_stability(Cmomentum & candidate,
+ const std::vector<Cborder_store> & border_vect);
+
+ /**
+ * compute the cone contents by going once around the full set of
+ * circles and tracking the entry/exit status each time -- this sets
+ * up the inclusion information, which can then be directly used to
+ * calculate the cone momentum.
+ */
+ void compute_cone_contents();
+
+ /**
+ * compute the cone momentum from particle list.
+ * in this version, we use the 'pincluded' information
+ * from the Cviinity class
+ */
+ void recompute_cone_contents();
+
+ /*
+ * if we have gone beyond the acceptable threshold of change, compute
+ * the cone momentum from particle list. in this version, we use the
+ * 'pincluded' information from the Cvicinity class, but we don't
+ * change the member cone, only the locally supplied one
+ */
+ void recompute_cone_contents_if_needed(Cmomentum & this_cone, double & this_dpt);
+
+ /**
+ * compute stability of all enumerated candidates.
+ * For all candidate cones which are stable w.r.t. their border particles,
+ * pass the last test: stability with quadtree intersection
+ */
+ int proceed_with_stability();
+
+ /*
+ * circle intersection.
+ * computes the intersection with a circle of given centre and radius.
+ * The output takes the form of a checkxor of the intersection's particles
+ * - cx circle centre x coordinate
+ * - cy circle centre y coordinate
+ * return the checkxor for the intersection
+ ******************************************************************/
+ Creference circle_intersect(double cx, double cy);
+
+ /// present candidate cone
+ Cmomentum cone_candidate;
+
+ /// in case of co-circular points, vector for them
+ std::vector<Cmomentum*> child_list;
+
+ /// list of cocircular enclusures already studied
+ /// first element if cone contents, second is cone border
+ std::vector< std::pair<Creference,Creference> > multiple_centre_done;
+
+ // information for updating cone contents to avoid rounding errors
+ double dpt; ///< sums of Delta P_t
+
+ /**
+ * test if a particle is inside a cone of given centre.
+ * check if the particle of coordinates 'v' is inside the circle of radius R
+ * centered at 'centre'.
+ * \param centre centre of the circle
+ * \param v particle to test
+ * \return true if inside, false if outside
+ */
+ inline bool is_inside(Cmomentum *centre, Cmomentum *v);
+};
+
+/*
+ * compute the absolute value of the difference between 2 angles.
+ * We take care of the 2pi periodicity
+ * \param angle1 first angle
+ * \param angle2 second angle
+ * \return the absolute value of the difference between the angles
+ *****************************************************************/
+inline double abs_dangle(double &angle1, double &angle2);
+
+}
+#endif
Property changes on: tags/siscone-3.0.2/siscone/protocones.h
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Date Rev
\ No newline at end of property
Index: tags/siscone-3.0.2/siscone/momentum.cpp
===================================================================
--- tags/siscone-3.0.2/siscone/momentum.cpp (revision 0)
+++ tags/siscone-3.0.2/siscone/momentum.cpp (revision 398)
@@ -0,0 +1,161 @@
+///////////////////////////////////////////////////////////////////////////////
+// File: momentum.cpp //
+// Description: source file for 4-momentum class Cmomentum //
+// This file is part of the SISCone project. //
+// For more details, see http://projects.hepforge.org/siscone //
+// //
+// Copyright (c) 2006 Gavin Salam and Gregory Soyez //
+// //
+// This program is free software; you can redistribute it and/or modify //
+// it under the terms of the GNU General Public License as published by //
+// the Free Software Foundation; either version 2 of the License, or //
+// (at your option) any later version. //
+// //
+// This program is distributed in the hope that it will be useful, //
+// but WITHOUT ANY WARRANTY; without even the implied warranty of //
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
+// GNU General Public License for more details. //
+// //
+// You should have received a copy of the GNU General Public License //
+// along with this program; if not, write to the Free Software //
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
+// //
+// $Revision:: $//
+// $Date:: $//
+///////////////////////////////////////////////////////////////////////////////
+
+#include "momentum.h"
+#include <math.h>
+#include <stdlib.h>
+
+namespace siscone{
+
+/*************************************************************************
+ * class Cmomentum *
+ * This class contains the information for particle or group of *
+ * particles management. *
+ * It includes all Lorentz properties as well as tools for summing them. *
+ *************************************************************************/
+
+// default ctor
+//--------------
+Cmomentum::Cmomentum(){
+ eta = 0.0;
+ phi = 0.0;
+ px = py = pz = E = 0.0;
+ ref = Creference();
+ index = -1;
+}
+
+// ctor with initialisation
+//--------------------------
+Cmomentum::Cmomentum(double _px, double _py, double _pz, double _E){
+ px = _px;
+ py = _py;
+ pz = _pz;
+ E = _E;
+
+ // compute eta and phi
+ build_etaphi();
+ ref = Creference();
+}
+
+// ctor with detailed initialisation
+//-----------------------------------
+Cmomentum::Cmomentum(double _eta, double _phi, Creference _ref){
+ eta = _eta;
+ phi = _phi;
+
+ ref = _ref;
+}
+
+// default dtor
+//--------------
+Cmomentum::~Cmomentum(){
+
+}
+
+// assignment of vectors
+//-----------------------
+Cmomentum& Cmomentum::operator = (const Cmomentum &v){
+ px = v.px;
+ py = v.py;
+ pz = v.pz;
+ E = v.E;
+
+ eta = v.eta;
+ phi = v.phi;
+
+ ref = v.ref;
+ return *this;
+}
+
+// addition of vectors
+// !!! WARNING !!! no updating of eta and phi !!!
+//------------------------------------------------
+const Cmomentum Cmomentum::operator + (const Cmomentum &v){
+ Cmomentum tmp = *this;
+ return tmp+=v;
+}
+
+// incrementation of vectors
+// !!! WARNING !!! no updating of eta and phi !!!
+//------------------------------------------------
+Cmomentum& Cmomentum::operator += (const Cmomentum &v){
+ px+=v.px;
+ py+=v.py;
+ pz+=v.pz;
+ E +=v.E;
+
+ ref+=v.ref;
+
+ return *this;
+}
+
+// incrementation of vectors
+// !!! WARNING !!! no updating of eta and phi !!!
+//------------------------------------------------
+Cmomentum& Cmomentum::operator -= (const Cmomentum &v){
+ px-=v.px;
+ py-=v.py;
+ pz-=v.pz;
+ E -=v.E;
+
+ ref-=v.ref;
+ return *this;
+}
+
+// build eta-phi from 4-momentum info
+// !!! WARNING !!!
+// !!! computing eta and phi is time-consuming !!!
+// !!! use this whenever you need eta or phi !!!
+// !!! automatically called for single-particle !!!
+//--------------------------------------------------
+void Cmomentum::build_etaphi(){
+ // note: the factor n (ref.nb) cancels in all expressions !!
+ eta = 0.5*log((E+pz)/(E-pz));
+ phi = atan2(py,px);
+}
+
+
+// ordering of two vectors
+// the default ordering is w.r.t. their references
+//-------------------------------------------------
+bool operator < (const Cmomentum &v1, const Cmomentum &v2){
+ return v1.ref < v2.ref;
+}
+
+// ordering of vectors in eta (e.g. used in collinear tests)
+//-----------------------------------------------------------
+bool momentum_eta_less(const Cmomentum &v1, const Cmomentum &v2){
+ return v1.eta < v2.eta;
+}
+
+// ordering of vectors in pt
+//---------------------------
+bool momentum_pt_less(const Cmomentum &v1, const Cmomentum &v2){
+ return v1.perp2() < v2.perp2();
+}
+
+}
+
Property changes on: tags/siscone-3.0.2/siscone/momentum.cpp
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Date Rev
\ No newline at end of property
Index: tags/siscone-3.0.2/siscone/vicinity.h
===================================================================
--- tags/siscone-3.0.2/siscone/vicinity.h (revision 0)
+++ tags/siscone-3.0.2/siscone/vicinity.h (revision 398)
@@ -0,0 +1,156 @@
+// -*- C++ -*-
+///////////////////////////////////////////////////////////////////////////////
+// File: vicinity.h //
+// Description: header file for particle vicinity (Cvicinity class) //
+// This file is part of the SISCone project. //
+// For more details, see http://projects.hepforge.org/siscone //
+// //
+// Copyright (c) 2006 Gavin Salam and Gregory Soyez //
+// //
+// This program is free software; you can redistribute it and/or modify //
+// it under the terms of the GNU General Public License as published by //
+// the Free Software Foundation; either version 2 of the License, or //
+// (at your option) any later version. //
+// //
+// This program is distributed in the hope that it will be useful, //
+// but WITHOUT ANY WARRANTY; without even the implied warranty of //
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
+// GNU General Public License for more details. //
+// //
+// You should have received a copy of the GNU General Public License //
+// along with this program; if not, write to the Free Software //
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
+// //
+// $Revision:: $//
+// $Date:: $//
+///////////////////////////////////////////////////////////////////////////////
+
+#ifndef __VICINITY_H__
+#define __VICINITY_H__
+
+#include <vector>
+#include <list>
+#include "momentum.h"
+#include "defines.h"
+#include "quadtree.h"
+
+namespace siscone{
+
+
+
+/**
+ * \class Cvicinity_inclusion
+ * \brief a class to keep track of inclusion status in cone and in cocircular region
+ * while using minimal resources
+ */
+class Cvicinity_inclusion {
+public:
+ /// default ctor
+ Cvicinity_inclusion() : cone(false), cocirc(false) {}
+
+ bool cone; ///< flag for particle inclusion in the cone
+ bool cocirc; ///< flag for particle inclusion in the border
+};
+
+
+/**
+ * \class Cvicinity_elm
+ * \brief element in the vicinity of a parent.
+ *
+ * class used to manage one points in the vicinity
+ * of a parent point.
+ */
+class Cvicinity_elm{
+ public:
+ /// pointer to the second borderline particle
+ Cmomentum *v;
+
+ /// variable to tell if the particle is inside or outside the cone
+ Cvicinity_inclusion *is_inside;
+
+ // centre variables
+ double eta; ///< eta coordinate of the center
+ double phi; ///< phi coordinate of the center
+ double angle; ///< angle with parent
+ bool side; ///< true if angle on the positive side, false otherwise
+ double cocircular_range; ///< amount by which the angle can be varied while
+ ///< maintaining this point within co-circularity margin
+
+ /// list of elements co-circular with this one
+ /// NB: empty list uses less mem than vector
+ std::list<Cvicinity_elm * > cocircular;
+};
+
+/// ordering pointers to Cvicinity_elm
+bool ve_less(Cvicinity_elm *ve1, Cvicinity_elm *ve2);
+
+
+/**
+ * \class Cvicinity
+ * \brief list of element in the vicinity of a parent.
+ *
+ * class used to manage the points which are in the vicinity
+ * of a parent point.
+ */
+class Cvicinity{
+ public:
+ /// default constructor
+ Cvicinity();
+
+ /// constructor with initialisation (see set_particle_list)
+ Cvicinity(std::vector<Cmomentum> &_particle_list);
+
+ /// default destructor
+ ~Cvicinity();
+
+ /**
+ * set the particle_list
+ * \param _particle_list list of particles (type Cmomentum)
+ */
+ void set_particle_list(std::vector<Cmomentum> &_particle_list);
+
+ /**
+ * build the vicinity list from the list of points.
+ * \param _parent reference particle
+ * \param _VR vicinity radius
+ */
+ void build(Cmomentum *_parent, double _VR);
+
+ // cone kinematical information
+ Cmomentum *parent; ///< parent vector
+ double VR; ///< radius of the vicinity
+ double VR2; ///< squared radius of the vicinity
+ double R; ///< normal radius
+ double R2; ///< squared normal radius
+ double inv_R_EPS_COCIRC; ///< R / EPSILON_COCIRCULAR
+ double inv_R_2EPS_COCIRC; ///< R / (2*EPSILON_COCIRCULAR)
+
+ // particle list information
+ int n_part; ///< number of particles
+ std::vector<Cmomentum> plist; ///< the list of particles
+ std::vector<Cvicinity_inclusion> pincluded; ///< the inclusion state of particles
+ Cvicinity_elm *ve_list; ///< list of vicinity elements built from particle list (size=2*n)
+#ifdef USE_QUADTREE_FOR_STABILITY_TEST
+ Cquadtree *quadtree; ///< quadtree used for final stability tests
+#endif
+
+ // vicinity information
+ std::vector<Cvicinity_elm*> vicinity; ///< list of points in parent's vicinity
+ unsigned int vicinity_size; ///< number of elements in vicinity
+
+ protected:
+ /**
+ * append a particle to the 'vicinity' list after
+ * having tested it and computed the angular-ordering quantities
+ * \param v vector to test
+ */
+ void append_to_vicinity(Cmomentum *v);
+
+ // internal variables
+ double pcx; ///< parent centre (eta)
+ double pcy; ///< parent centre (phi)
+};
+
+}
+
+#endif
Property changes on: tags/siscone-3.0.2/siscone/vicinity.h
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Date Rev
\ No newline at end of property
Index: tags/siscone-3.0.2/siscone/siscone.cpp
===================================================================
--- tags/siscone-3.0.2/siscone/siscone.cpp (revision 0)
+++ tags/siscone-3.0.2/siscone/siscone.cpp (revision 398)
@@ -0,0 +1,301 @@
+///////////////////////////////////////////////////////////////////////////////
+// File: siscone.cpp //
+// Description: source file for the main SISCone class //
+// This file is part of the SISCone project. //
+// For more details, see http://projects.hepforge.org/siscone //
+// //
+// Copyright (c) 2006 Gavin Salam and Gregory Soyez //
+// //
+// This program is free software; you can redistribute it and/or modify //
+// it under the terms of the GNU General Public License as published by //
+// the Free Software Foundation; either version 2 of the License, or //
+// (at your option) any later version. //
+// //
+// This program is distributed in the hope that it will be useful, //
+// but WITHOUT ANY WARRANTY; without even the implied warranty of //
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
+// GNU General Public License for more details. //
+// //
+// You should have received a copy of the GNU General Public License //
+// along with this program; if not, write to the Free Software //
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
+// //
+// $Revision:: $//
+// $Date:: $//
+///////////////////////////////////////////////////////////////////////////////
+
+//#ifdef HAVE_CONFIG_H
+#include "config.h"
+//#else
+//#define PACKAGE_NAME "SISCone"
+//#define VERSION "3.0.2"
+//#warning "No config.h file available, using preset values"
+//#endif
+
+#include "ranlux.h"
+#include "momentum.h"
+#include "defines.h"
+#include "siscone.h"
+#include "siscone_error.h"
+#include <iostream>
+#include <sstream>
+#include <iomanip>
+
+namespace siscone{
+using namespace std;
+
+/***************************************************************
+ * Csiscone implementation *
+ * final class: gather everything to compute the jet contents. *
+ * *
+ * This is the class user should use. *
+ * It computes the jet contents of a list of particles *
+ * given a cone radius and a threshold for splitting/merging. *
+ ***************************************************************/
+
+// default ctor
+//--------------
+Csiscone::Csiscone(){
+ rerun_allowed = false;
+}
+
+// default dtor
+//--------------
+Csiscone::~Csiscone(){
+ rerun_allowed = false;
+}
+
+bool Csiscone::init_done=false;
+std::ostream* Csiscone::_banner_ostr = &cout;
+
+/*
+ * compute the jets from a given particle set doing multiple passes
+ * such pass N looks for jets among all particles not put into jets
+ * during previous passes.
+ * - _particles list of particles
+ * - _radius cone radius
+ * - _f shared energy threshold for splitting&merging
+ * - _n_pass_max maximum number of runs
+ * - _ptmin minimum pT of the protojets
+ * - _split_merge_scale the scale choice for the split-merge procedure
+ * NOTE: using pt leads to IR unsafety for some events with momentum
+ * conservation. So we strongly advise not to change the default
+ * value.
+ * return the number of jets found.
+ **********************************************************************/
+int Csiscone::compute_jets(vector<Cmomentum> &_particles, double _radius, double _f,
+ int _n_pass_max, double _ptmin,
+ Esplit_merge_scale _split_merge_scale){
+ _initialise_if_needed();
+
+ // run some general safety tests (NB: f will be checked in split-merge)
+ if (_radius <= 0.0 || _radius >= 0.5*M_PI) {
+ ostringstream message;
+ message << "Illegal value for cone radius, R = " << _radius
+ << " (legal values are 0<R<pi/2)";
+ throw Csiscone_error(message.str());
+ }
+
+
+
+ ptcomparison.split_merge_scale = _split_merge_scale;
+ partial_clear(); // make sure some things are initialised properly
+
+ // init the split_merge algorithm with the initial list of particles
+ // this initialises particle list p_left of remaining particles to deal with
+ init_particles(_particles);
+
+ bool finished = false;
+
+ rerun_allowed = false;
+ protocones_list.clear();
+
+#ifdef DEBUG_STABLE_CONES
+ nb_hash_cones_total = 0;
+ nb_hash_occupied_total = 0;
+#endif
+
+ do{
+ // initialise stable_cone finder
+ // here we use the list of remaining particles
+ // AFTER COLLINEAR CLUSTERING !!!!!!
+ Cstable_cones::init(p_uncol_hard);
+
+ // get stable cones
+ if (get_stable_cones(_radius)){
+ // we have some new protocones; add them to candidates
+ // Note that add_protocones has to be called first
+ // if we want the 4-vect components to be available
+ // on top of eta and phi.
+ add_protocones(&protocones, R2, _ptmin);
+ protocones_list.push_back(protocones);
+#ifdef DEBUG_STABLE_CONES
+ nb_hash_cones_total += nb_hash_cones;
+ nb_hash_occupied_total += nb_hash_occupied;
+#endif
+ } else {
+ // no new protocone: leave
+ finished=true;
+ }
+
+ _n_pass_max--;
+ } while ((!finished) && (n_left>0) && (_n_pass_max!=0));
+
+ rerun_allowed = true;
+
+ // split & merge
+ return perform(_f, _ptmin);
+}
+
+
+/*
+ * compute the jets from a given particle set doing multiple passes
+ * such pass N looks for jets among all particles not put into jets
+ * during previous passes.
+ * - _particles list of particles
+ * - _radius cone radius
+ * - _n_pass_max maximum number of runs
+ * - _ptmin minimum pT of the protojets
+ * - _ordering_scale the ordering scale to decide which stable
+ * cone is removed
+ * return the number of jets found.
+ **********************************************************************/
+int Csiscone::compute_jets_progressive_removal(vector<Cmomentum> &_particles, double _radius,
+ int _n_pass_max, double _ptmin,
+ Esplit_merge_scale _ordering_scale){
+ _initialise_if_needed();
+
+ // run some general safety tests (NB: f will be checked in split-merge)
+ if (_radius <= 0.0 || _radius >= 0.5*M_PI) {
+ ostringstream message;
+ message << "Illegal value for cone radius, R = " << _radius
+ << " (legal values are 0<R<pi/2)";
+ throw Csiscone_error(message.str());
+ }
+
+ ptcomparison.split_merge_scale = _ordering_scale;
+ partial_clear(); // make sure some things are initialised properly
+
+ // init the split_merge algorithm with the initial list of particles
+ // this initialises particle list p_left of remaining particles to deal with
+ //
+ // this stores the "processed" particles in p_uncol_hard
+ init_particles(_particles);
+ jets.clear();
+
+ bool unclustered_left;
+ rerun_allowed = false;
+ protocones_list.clear();
+
+ do{
+ //cout << n_left << " particle left" << endl;
+
+ // initialise stable_cone finder
+ // here we use the list of remaining particles
+ // AFTER COLLINEAR CLUSTERING !!!!!!
+ Cstable_cones::init(p_uncol_hard);
+
+ // get stable cones (stored in 'protocones')
+ unclustered_left = get_stable_cones(_radius);
+
+ // add the hardest stable cone to the list of jets
+ if (add_hardest_protocone_to_jets(&protocones, R2, _ptmin)) break;
+
+ _n_pass_max--;
+ } while ((unclustered_left) && (n_left>0) && (_n_pass_max!=0));
+
+ // split & merge
+ return jets.size();
+}
+
+
+/*
+ * recompute the jets with a different overlap parameter.
+ * we use the same particles and R as in the preceeding call.
+ * - _f shared energy threshold for splitting&merging
+ * - _ptmin minimum pT of the protojets
+ * - _split_merge_scale the scale choice for the split-merge procedure
+ * NOTE: using pt leads to IR unsafety for some events with momentum
+ * conservation. So we strongly advise not to change the default
+ * value.
+ * return the number of jets found, -1 if recomputation not allowed.
+ ********************************************************************/
+int Csiscone::recompute_jets(double _f, double _ptmin,
+ Esplit_merge_scale _split_merge_scale){
+ if (!rerun_allowed)
+ return -1;
+
+ ptcomparison.split_merge_scale = _split_merge_scale;
+
+ // restore particle list
+ partial_clear();
+ init_pleft();
+
+ // initialise split/merge algorithm
+ unsigned int i;
+ for (i=0;i<protocones_list.size();i++)
+ add_protocones(&(protocones_list[i]), R2, _ptmin);
+
+ // split & merge
+ return perform(_f, _ptmin);
+}
+
+// ensure things are initialised
+void Csiscone::_initialise_if_needed(){
+ // initialise random number generator
+ if (init_done) return;
+
+ // initialise random number generator
+ ranlux_init();
+
+ // do not do this again
+ init_done=true;
+
+ // print the banner
+ if (_banner_ostr != 0){
+ ios::fmtflags flags_to_restore(_banner_ostr->flags());
+
+ (*_banner_ostr) << "#ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo" << endl;
+ (*_banner_ostr) << "# SISCone version " << setw(28) << left << siscone_version() << "o" << endl;
+ (*_banner_ostr) << "# http://projects.hepforge.org/siscone o" << endl;
+ (*_banner_ostr) << "# o" << endl;
+ (*_banner_ostr) << "# This is SISCone: the Seedless Infrared Safe Cone Jet Algorithm o" << endl;
+ (*_banner_ostr) << "# SISCone was written by Gavin Salam and Gregory Soyez o" << endl;
+ (*_banner_ostr) << "# It is released under the terms of the GNU General Public License o" << endl;
+ (*_banner_ostr) << "# o" << endl;
+ (*_banner_ostr) << "# A description of the algorithm is available in the publication o" << endl;
+ (*_banner_ostr) << "# JHEP 05 (2007) 086 [arXiv:0704.0292 (hep-ph)]. o" << endl;
+ (*_banner_ostr) << "# Please cite it if you use SISCone. o" << endl;
+ (*_banner_ostr) << "#ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo" << endl;
+ (*_banner_ostr) << endl;
+
+ _banner_ostr->flush();
+ _banner_ostr->flags(flags_to_restore);
+ }
+}
+
+// finally, a bunch of functions to access to
+// basic information (package name, version)
+//---------------------------------------------
+
+/*
+ * return SISCone package name.
+ * This is nothing but "SISCone", it is a replacement to the
+ * PACKAGE_NAME string defined in config.h and which is not
+ * public by default.
+ * return the SISCone name as a string
+ */
+string siscone_package_name(){
+ return PACKAGE_NAME;
+}
+
+/*
+ * return SISCone version number.
+ * return a string of the form "X.Y.Z" with possible additional tag
+ * (alpha, beta, devel) to mention stability status
+ */
+string siscone_version(){
+ return VERSION;
+}
+
+}
Property changes on: tags/siscone-3.0.2/siscone/siscone.cpp
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Date Rev
\ No newline at end of property
Index: tags/siscone-3.0.2/siscone/reference.h
===================================================================
--- tags/siscone-3.0.2/siscone/reference.h (revision 0)
+++ tags/siscone-3.0.2/siscone/reference.h (revision 398)
@@ -0,0 +1,111 @@
+// -*- C++ -*-
+///////////////////////////////////////////////////////////////////////////////
+// File: reference.h //
+// Description: header file for checkxor management (Creference class) //
+// This file is part of the SISCone project. //
+// For more details, see http://projects.hepforge.org/siscone //
+// //
+// Copyright (c) 2006 Gavin Salam and Gregory Soyez //
+// //
+// This program is free software; you can redistribute it and/or modify //
+// it under the terms of the GNU General Public License as published by //
+// the Free Software Foundation; either version 2 of the License, or //
+// (at your option) any later version. //
+// //
+// This program is distributed in the hope that it will be useful, //
+// but WITHOUT ANY WARRANTY; without even the implied warranty of //
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
+// GNU General Public License for more details. //
+// //
+// You should have received a copy of the GNU General Public License //
+// along with this program; if not, write to the Free Software //
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
+// //
+// $Revision:: $//
+// $Date:: $//
+///////////////////////////////////////////////////////////////////////////////
+
+#ifndef __REFERENCE_H__
+#define __REFERENCE_H__
+
+namespace siscone{
+
+/**
+ * \class Creference
+ * \brief references used for checksums.
+ *
+ * This class implements some reference variable
+ * that can be used for checksums. Those checksums
+ * are useful to disentengle between contents of two
+ * cones without looking into their explicit particle
+ * contents.
+ */
+class Creference{
+ public:
+ /// default constructor
+ Creference();
+
+ /// create a random reference
+ void randomize();
+
+ /// test emptyness
+ bool is_empty();
+
+ /// test non-emptyness
+ bool not_empty();
+
+ /// assignment of reference
+ Creference& operator = (const Creference &r);
+
+ /// addition of reference
+ Creference operator + (const Creference &r);
+
+ /// incrementation of reference
+ Creference& operator += (const Creference &r);
+
+ /// decrementation of reference
+ Creference& operator -= (const Creference &r);
+
+ /// accessing the reference
+ inline unsigned int operator[] (int i) {return ref[i];}
+
+ unsigned int ref[3]; ///< actual data for the reference
+};
+
+/// addition of two references
+Creference operator + (Creference &r1, Creference &r2);
+
+/// equality test of two references
+bool operator == (const Creference &r1, const Creference &r2);
+
+/// difference test of two references
+bool operator != (const Creference &r1, const Creference &r2);
+
+/// ordering of two references
+bool operator < (const Creference &r1, const Creference &r2);
+
+
+//=============== inline material ================
+
+// equality test for two references
+//----------------------------------
+inline bool operator == (const Creference &r1, const Creference &r2){
+ return (r1.ref[0]==r2.ref[0]) && (r1.ref[1]==r2.ref[1]) && (r1.ref[2]==r2.ref[2]);
+}
+
+// difference test for two references
+//----------------------------------
+inline bool operator != (const Creference &r1, const Creference &r2){
+ return (r1.ref[0]!=r2.ref[0]) || (r1.ref[1]!=r2.ref[1]) || (r1.ref[2]!=r2.ref[2]);
+}
+
+// difference test for two references
+//----------------------------------
+inline bool operator < (const Creference &r1, const Creference &r2){
+ return (r1.ref[0]<r2.ref[0]) || ((r1.ref[0]==r2.ref[0]) &&
+ ((r1.ref[1]<r2.ref[1]) || ((r1.ref[1]==r2.ref[1]) && (r1.ref[2]<r2.ref[2]))
+ ));
+}
+
+}
+#endif
Property changes on: tags/siscone-3.0.2/siscone/reference.h
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Date Rev
\ No newline at end of property
Index: tags/siscone-3.0.2/siscone/momentum.h
===================================================================
--- tags/siscone-3.0.2/siscone/momentum.h (revision 0)
+++ tags/siscone-3.0.2/siscone/momentum.h (revision 398)
@@ -0,0 +1,157 @@
+// -*- C++ -*-
+///////////////////////////////////////////////////////////////////////////////
+// File: momentum.h //
+// Description: header file for 4-momentum class Cmomentum //
+// This file is part of the SISCone project. //
+// For more details, see http://projects.hepforge.org/siscone //
+// //
+// Copyright (c) 2006 Gavin Salam and Gregory Soyez //
+// //
+// This program is free software; you can redistribute it and/or modify //
+// it under the terms of the GNU General Public License as published by //
+// the Free Software Foundation; either version 2 of the License, or //
+// (at your option) any later version. //
+// //
+// This program is distributed in the hope that it will be useful, //
+// but WITHOUT ANY WARRANTY; without even the implied warranty of //
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
+// GNU General Public License for more details. //
+// //
+// You should have received a copy of the GNU General Public License //
+// along with this program; if not, write to the Free Software //
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
+// //
+// $Revision:: $//
+// $Date:: $//
+///////////////////////////////////////////////////////////////////////////////
+
+#ifndef __VECTOR_H__
+#define __VECTOR_H__
+
+#include <vector>
+#include <math.h>
+#include "reference.h"
+#include "geom_2d.h"
+#include "defines.h"
+
+namespace siscone{
+
+/**
+ * \class Cmomentum
+ * \brief base class for dynamic coordinates management
+ *
+ * This class contains the information for particle or group of
+ * particles management.
+ * It includes all Lorentz properties as well as tools for summing them.
+ * Note: 'sums' over phi angles are indeed averages. This allows to
+ * deal with periodicity at each step
+ */
+class Cmomentum{
+ public:
+ /// default ctor
+ Cmomentum();
+
+ /// ctor with initialisation
+ Cmomentum(double _px, double _py, double _pz, double _E);
+
+ /// ctor with detailed initialisation
+ Cmomentum(double _eta, double _phi, Creference _ref);
+
+ /// default dtor
+ ~Cmomentum();
+
+ /// computes pT
+ inline double perp() const {return sqrt(perp2());}
+
+ /// computes pT^2
+ inline double perp2() const {return px*px+py*py;}
+
+ /// computes m
+ inline double mass() const {return sqrt(mass2());}
+
+ /// computes m^2
+ inline double mass2() const {return perpmass2()-perp2();}
+
+ /// transverse mass, mt = sqrt(pt^2+m^2) = sqrt(E^2 - pz^2)
+ inline double perpmass() const {return sqrt((E-pz)*(E+pz));}
+
+ /// transverse mass squared, mt^2 = pt^2+m^2 = E^2 - pz^2
+ inline double perpmass2() const {return (E-pz)*(E+pz);}
+
+ /// computes transverse energy
+ inline double Et() const {return E/sqrt(1.0+pz*pz/perp2());}
+
+ /// computes transverse energy (squared)
+ inline double Et2() const {return E*E/(1.0+pz*pz/perp2());}
+
+ /// assignment of vectors
+ Cmomentum& operator = (const Cmomentum &v);
+
+ /// addition of vectors
+ /// !!! WARNING !!! no updating of eta and phi !!!
+ const Cmomentum operator + (const Cmomentum &v);
+
+ /// incrementation of vectors
+ /// !!! WARNING !!! no updating of eta and phi !!!
+ Cmomentum& operator += (const Cmomentum &v);
+
+ /// decrementation of vectors
+ /// !!! WARNING !!! no updating of eta and phi !!!
+ Cmomentum& operator -= (const Cmomentum &v);
+
+ /// build eta-phi from 4-momentum info
+ /// !!! WARNING !!!
+ /// !!! computing eta and phi is time-consuming !!!
+ /// !!! use this whenever you need eta or phi !!!
+ /// !!! automatically called for single-particle !!!
+ void build_etaphi();
+
+ double px; ///< x-momentum
+ double py; ///< y-momentum
+ double pz; ///< z-momentum
+ double E; ///< energy
+
+ double eta; ///< particle pseudo-rapidity
+ double phi; ///< particle azimuthal angle
+ int parent_index; ///< particle number in the parent list
+ int index; ///< internal particle number
+
+ //////////////////////////////////////////////
+ // the following part is used for checksums //
+ //////////////////////////////////////////////
+ Creference ref; ///< reference number for the vector
+};
+
+/// ordering of two vectors
+/// this is by default done w.r.t. their references
+bool operator < (const Cmomentum &v1, const Cmomentum &v2);
+
+/// ordering of vectors in eta (e.g. used in collinear tests)
+bool momentum_eta_less(const Cmomentum &v1, const Cmomentum &v2);
+
+/// ordering of vectors in pt
+bool momentum_pt_less(const Cmomentum &v1, const Cmomentum &v2);
+
+
+//////////////////////////
+// some handy utilities //
+//////////////////////////
+
+/// get distance between to eta-phi points
+/// \param eta eta coordinate of first point
+/// \param phi phi coordinate of first point
+/// \param v vector defining the second point
+inline double get_distance(double eta, double phi, Cmomentum *v){
+ double dx, dy;
+
+ dx = eta - v->eta;
+ dy = fabs(phi - v->phi);
+ if (dy>M_PI)
+ dy -= twopi;
+
+ return dx*dx+dy*dy;
+}
+
+}
+
+#endif
Property changes on: tags/siscone-3.0.2/siscone/momentum.h
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Date Rev
\ No newline at end of property
Index: tags/siscone-3.0.2/siscone/siscone.h
===================================================================
--- tags/siscone-3.0.2/siscone/siscone.h (revision 0)
+++ tags/siscone-3.0.2/siscone/siscone.h (revision 398)
@@ -0,0 +1,176 @@
+// -*- C++ -*-
+///////////////////////////////////////////////////////////////////////////////
+// File: siscone.h //
+// Description: header file for the main SISCone class //
+// This file is part of the SISCone project. //
+// For more details, see http://projects.hepforge.org/siscone //
+// //
+// Copyright (c) 2006 Gavin Salam and Gregory Soyez //
+// //
+// This program is free software; you can redistribute it and/or modify //
+// it under the terms of the GNU General Public License as published by //
+// the Free Software Foundation; either version 2 of the License, or //
+// (at your option) any later version. //
+// //
+// This program is distributed in the hope that it will be useful, //
+// but WITHOUT ANY WARRANTY; without even the implied warranty of //
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
+// GNU General Public License for more details. //
+// //
+// You should have received a copy of the GNU General Public License //
+// along with this program; if not, write to the Free Software //
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
+// //
+// $Revision:: $//
+// $Date:: $//
+///////////////////////////////////////////////////////////////////////////////
+
+#ifndef __SISCONE_H__
+#define __SISCONE_H__
+
+#include "protocones.h"
+#include "split_merge.h"
+
+namespace siscone{
+
+/**
+ * \class Csiscone
+ * final class: gather everything to compute the jet contents.
+ *
+ * This is the class user should use.
+ * It computes the jet contents of a list of particles
+ * given a cone radius and a threshold for splitting/merging.
+ *
+ * After the call to 'perform', the vector jets is filled with
+ * the jets found. the 'contents' field of each jets contains
+ * the indices of the particles included in that jet.
+ */
+class Csiscone : public Cstable_cones, public Csplit_merge{
+ public:
+ /// default ctor
+ Csiscone();
+
+ /// default dtor
+ ~Csiscone();
+
+ /**
+ * compute the jets from a given particle set.
+ * We are doing multiple passes such pass n_pass looks for jets among
+ * all particles not put into jets during previous passes.
+ * By default the number of passes is infinite (0).
+ * \param _particles list of particles
+ * \param _radius cone radius
+ * \param _f shared energy threshold for splitting&merging
+ * \param _n_pass_max maximum number of passes (0=full search)
+ * \param _ptmin minimum pT of the protojets
+ * \param _split_merge_scale the scale choice for the split-merge procedure
+ * NOTE: SM_pt leads to IR unsafety for some events with momentum conservation.
+ * SM_Et is IR safe but not boost invariant and not implemented(!)
+ * SM_mt is IR safe for hadronic events, but not for decays of two
+ * back-to-back particles of identical mass
+ * SM_pttilde
+ * is always IR safe, and also boost invariant (default)
+ *
+ * \return the number of jets found.
+ */
+ int compute_jets(std::vector<Cmomentum> &_particles, double _radius, double _f,
+ int _n_pass_max=0, double _ptmin=0.0,
+ Esplit_merge_scale _split_merge_scale=SM_pttilde);
+
+ /**
+ * compute the jets from a given particle set.
+ * We are doing multiple passes such pass n_pass looks for jets among
+ * all particles not put into jets during previous passes.
+ * By default the number of passes is infinite (0).
+ * \param _particles list of particles
+ * \param _radius cone radius
+ * \param _n_pass_max maximum number of passes (0=full search)
+ * \param _ptmin minimum pT of the protojets
+ * \param _ordering_scale the ordering scale to decide which stable
+ * cone is removed
+ *
+ * Note that the Csplit_merge::SM_var2_hardest_cut_off cut is not
+ * used in the progressive removal variant.
+ *
+ * \return the number of jets found.
+ */
+ int compute_jets_progressive_removal(std::vector<Cmomentum> &_particles, double _radius,
+ int _n_pass_max=0, double _ptmin=0.0,
+ Esplit_merge_scale _ordering_scale=SM_pttilde);
+
+ /**
+ * recompute the jets with a different overlap parameter.
+ * we use the same particles and R as in the preceeding call.
+ * \param _f shared energy threshold for splitting&merging
+ * \param _ptmin minimum pT of the protojets
+ * \param _split_merge_scale the scale choice for the split-merge procedure
+ * split--merge variable
+ * NOTE: using pt leads to IR unsafety for some events with momentum
+ * conservation. So we strongly advise not to change the default
+ * value.
+ * \return the number of jets found, -1 if recomputation not allowed.
+ */
+ int recompute_jets(double _f, double _ptmin = 0.0,
+ Esplit_merge_scale _split_merge_scale=SM_pttilde);
+
+ /// list of protocones found pass-by-pass (not filled by compute_jets_progressive_removal)
+ std::vector<std::vector<Cmomentum> > protocones_list;
+
+ // random number initialisation
+ static bool init_done; ///< check random generator initialisation
+
+#ifdef DEBUG_STABLE_CONES
+ int nb_hash_cones_total, nb_hash_occupied_total;
+#endif
+
+ /**
+ * A call to this function modifies the stream
+ * used to print banners (by default cout).
+ *
+ * Please note that if you distribute 3rd party code
+ * that links with SISCone, that 3rd party code must not
+ * use this call turn off the printing of thw banner
+ * by default. This requirement reflects the spirit of
+ * clause 2c of the GNU Public License (v2), under which
+ * SISCone is distributed.
+ */
+ static void set_banner_stream(std::ostream * ostr) {_banner_ostr = ostr;}
+
+ /**
+ * returns a pointer to the stream to be used to print banners
+ * (cout by default)
+ */
+ static std::ostream * banner_stream() {return _banner_ostr;}
+
+ private:
+ bool rerun_allowed; ///< is recompute_jets allowed ?
+ static std::ostream * _banner_ostr; ///< stream to use for banners
+
+ /// ensure things are initialised
+ void _initialise_if_needed();
+
+};
+
+
+// finally, a bunch of functions to access to
+// basic information (package name, version)
+//---------------------------------------------
+
+/**
+ * return SISCone package name.
+ * This is nothing but "SISCone", it is a replacement to the
+ * PACKAGE_NAME string defined in config.h and which is not
+ * public by default.
+ * \return the SISCone name as a string
+ */
+std::string siscone_package_name();
+
+/**
+ * return SISCone version number.
+ * \return a string of the form "X.Y.Z" with possible additional tag
+ * (alpha, beta, devel) to mention stability status
+ */
+std::string siscone_version();
+
+}
+#endif
Property changes on: tags/siscone-3.0.2/siscone/siscone.h
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Date Rev
\ No newline at end of property
Index: tags/siscone-3.0.2/siscone/area.cpp
===================================================================
--- tags/siscone-3.0.2/siscone/area.cpp (revision 0)
+++ tags/siscone-3.0.2/siscone/area.cpp (revision 398)
@@ -0,0 +1,348 @@
+// -*- C++ -*-
+///////////////////////////////////////////////////////////////////////////////
+// File: area.h //
+// Description: header file for the computation of jet area //
+// This file is part of the SISCone project. //
+// For more details, see http://projects.hepforge.org/siscone //
+// //
+// Copyright (c) 2006 Gavin Salam and Gregory Soyez //
+// //
+// This program is free software; you can redistribute it and/or modify //
+// it under the terms of the GNU General Public License as published by //
+// the Free Software Foundation; either version 2 of the License, or //
+// (at your option) any later version. //
+// //
+// This program is distributed in the hope that it will be useful, //
+// but WITHOUT ANY WARRANTY; without even the implied warranty of //
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
+// GNU General Public License for more details. //
+// //
+// You should have received a copy of the GNU General Public License //
+// along with this program; if not, write to the Free Software //
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
+// //
+// $Revision:: 149 $//
+// $Date:: 2007-03-15 00:13:58 +0100 (Thu, 15 Mar 2007) $//
+///////////////////////////////////////////////////////////////////////////////
+
+#include "area.h"
+#include "momentum.h"
+#include <stdlib.h>
+#include <iostream>
+
+namespace siscone{
+using namespace std;
+
+/*******************************************************
+ * Cjet_area implementation *
+ * real Jet information, including its area(s) *
+ * *
+ * This class contains information for one single jet. *
+ * That is, first, its momentum carrying information *
+ * about its centre and pT, and second, its particle *
+ * contents (from CJeT). *
+ * Compared to the Cjet class, it also includes the *
+ * passive and active areas of the jet computed using *
+ * the Carea class. *
+ *******************************************************/
+
+// default ctor
+//--------------
+Cjet_area::Cjet_area(){
+ active_area = passive_area = 0.0;
+}
+
+// jet-initiated ctor
+//-------------------
+Cjet_area::Cjet_area(Cjet &j){
+ v = j.v;
+ n = j.n;
+ contents = j.contents;
+
+ pass = j.pass;
+
+ pt_tilde = j.pt_tilde;
+ sm_var2 = j.sm_var2;
+
+ active_area = passive_area = 0.0;
+}
+
+// default dtor
+//--------------
+Cjet_area::~Cjet_area(){
+
+}
+
+
+/******************************************************************
+ * Csiscone_area implementation *
+ * class for the computation of jet areas. *
+ * *
+ * This is the class user should use whenever you want to compute *
+ * the jet area (passive and active). *
+ * It uses the SISCone algorithm to perform the jet analysis. *
+ ******************************************************************/
+
+// default ctor
+//-------------
+Carea::Carea(){
+ grid_size = 60; // 3600 particles added
+ grid_eta_max = 6.0; // maybe having twice more points in eta than in phi should be nice
+ grid_shift = 0.5; // 50% "shacking"
+
+ pt_soft = 1e-100;
+ pt_shift = 0.05;
+ pt_soft_min = 1e-90;
+}
+
+// default dtor
+//-------------
+Carea::~Carea(){
+
+}
+
+/*
+ * compute the jet areas from a given particle set.
+ * The parameters of this method are the ones which control the jet clustering alghorithm.
+ * Note that the pt_min is not allowed here soince the jet-area determination involves soft
+ * particles/jets and thus is used internally.
+ * - _particles list of particles
+ * - _radius cone radius
+ * - _f shared energy threshold for splitting&merging
+ * - _n_pass_max maximum number of passes (0=full search, the default)
+ * - _split_merge_scale the scale choice for the split-merge procedure
+ * NOTE: SM_pt leads to IR unsafety for some events with momentum conservation.
+ * SM_Et is IR safe but not boost invariant and not implemented(!)
+ * SM_mt is IR safe for hadronic events, but not for decays of two
+ * back-to-back particles of identical mass
+ * SM_pttilde
+ * is always IR safe, and also boost invariant (default)
+ * - _hard_only when this is set on, only hard jets are computed
+ * and not the purely ghosted jets (default: false)
+ * return the jets together with their areas
+ * The return value is the number of jets (including pure-ghost ones if they are included)
+ ********************************************************************************************/
+int Carea::compute_areas(std::vector<Cmomentum> &_particles, double _radius, double _f,
+ int _n_pass_max, Esplit_merge_scale _split_merge_scale,
+ bool _hard_only){
+
+ vector<Cmomentum> all_particles;
+
+ // put "hardest cut-off" if needed
+ // this avoids computation of ghosted jets when not required and
+ // significantly shortens the SM.
+ if (_hard_only){
+ SM_var2_hardest_cut_off = pt_soft_min*pt_soft_min;
+ }
+
+ // clear potential previous runs
+ jet_areas.clear();
+
+ // put initial set of particles in the list
+ int n_hard = _particles.size();
+ all_particles = _particles;
+
+ // build the set of ghost particles and add them to the particle list
+ int i,j;
+ double eta_g,phi_g,pt_g;
+
+ for (i=0;i<grid_size;i++){
+ for (j=0;j<grid_size;j++){
+ eta_g = grid_eta_max*(-1.0+2.0*(i+0.5+grid_shift*(-1.0+2.0*(rand()/(RAND_MAX+1.0))))/grid_size);
+ phi_g = M_PI *(-1.0+2.0*(j+0.5+grid_shift*(-1.0+2.0*(rand()/(RAND_MAX+1.0))))/grid_size);
+ pt_g = pt_soft*(1.0+pt_shift*(-1.0+2.0*(rand()/(RAND_MAX+1.0))));
+ all_particles.push_back(Cmomentum(pt_g*cos(phi_g),pt_g*sin(phi_g),pt_g*sinh(eta_g),pt_g*cosh(eta_g)));
+ }
+ }
+
+ // run clustering with all particles.
+ // the split-merge here dynamically accounts for the purely soft jets.
+ // we therefore end up with the active area for the jets
+ int n_jets = compute_jets(all_particles, _radius, _f, _n_pass_max, 0.0, _split_merge_scale);
+
+ // save jets in the Cjet_area structure
+ // and determine their size
+ // jet contents is ordered by increasing index of the initial
+ // particles. Hence, we look for the first particle with index >= n_hard
+ // and deduce the number of ghosts in the jet, hence the area.
+ double area_factor = (2.0*grid_eta_max/grid_size)*(twopi/grid_size);
+
+ for (i=0;i<(int) jets.size();i++){
+ jet_areas.push_back(jets[i]);
+ j=0;
+ while ((j<jets[i].n) && (jets[i].contents[j]<n_hard)) j++;
+ jet_areas[i].active_area = (jets[i].n-j)*area_factor;
+ }
+
+ // determine passive jet area
+ // for that onem we use the pt_min cut in order to remove purely
+ // soft jets from the SM procedure
+ recompute_jets(_f, pt_soft_min);
+
+ // for the area computation, we assume the jete order is the same!
+ for (i=0;i<(int) jets.size();i++){
+ j=0;
+ while ((j<jets[i].n) && (jets[i].contents[j]<n_hard)) j++;
+ jet_areas[i].passive_area = (jets[i].n-j)*area_factor;
+ }
+
+ // Note:
+ // there surely remain purely soft je at the end
+ // their active area is 0 by default (see ctor)
+
+ jets.clear();
+
+ return n_jets;
+}
+
+/*
+ * compute the passive jet areas from a given particle set.
+ * The parameters of this method are the ones which control the jet clustering alghorithm.
+ * Note that the pt_min is not allowed here soince the jet-area determination involves soft
+ * particles/jets and thus is used internally.
+ * - _particles list of particles
+ * - _radius cone radius
+ * - _f shared energy threshold for splitting&merging
+ * - _n_pass_max maximum number of passes (0=full search, the default)
+ * - _split_merge_scale the scale choice for the split-merge procedure
+ * NOTE: SM_pt leads to IR unsafety for some events with momentum conservation.
+ * SM_Et is IR safe but not boost invariant and not implemented(!)
+ * SM_mt is IR safe for hadronic events, but not for decays of two
+ * back-to-back particles of identical mass
+ * SM_pttilde
+ * is always IR safe, and also boost invariant (default)
+ * return the jets together with their passive areas
+ * The return value is the number of jets
+ ********************************************************************************************/
+int Carea::compute_passive_areas(std::vector<Cmomentum> &_particles, double _radius, double _f,
+ int _n_pass_max, Esplit_merge_scale _split_merge_scale){
+
+ vector<Cmomentum> all_particles;
+
+ // in the case of passive area, we do not need
+ // to put the ghosts in the stable-cone search
+ // (they do no influence the list of stable cones)
+ // Here's how it goes...
+ stable_cone_soft_pt2_cutoff = pt_soft_min*pt_soft_min;
+
+ // clear potential previous runs
+ jet_areas.clear();
+
+ // put initial set of particles in the list
+ int n_hard = _particles.size();
+ all_particles = _particles;
+
+ // build the set of ghost particles and add them to the particle list
+ int i,j;
+ double eta_g,phi_g,pt_g;
+
+ for (i=0;i<grid_size;i++){
+ for (j=0;j<grid_size;j++){
+ eta_g = grid_eta_max*(-1.0+2.0*(i+0.5+grid_shift*(-1.0+2.0*(rand()/(RAND_MAX+1.0))))/grid_size);
+ phi_g = M_PI *(-1.0+2.0*(j+0.5+grid_shift*(-1.0+2.0*(rand()/(RAND_MAX+1.0))))/grid_size);
+ pt_g = pt_soft*(1.0+pt_shift*(-1.0+2.0*(rand()/(RAND_MAX+1.0))));
+ all_particles.push_back(Cmomentum(pt_g*cos(phi_g),pt_g*sin(phi_g),pt_g*sinh(eta_g),pt_g*cosh(eta_g)));
+ }
+ }
+
+ // determine passive jet area
+ // for that onem we use the pt_min cut in order to remove purely
+ // soft jets from the SM procedure
+ int n_jets = compute_jets(all_particles, _radius, _f, _n_pass_max, pt_soft_min, _split_merge_scale);
+
+ // save jets in the Cjet_area structure
+ // and determine their size
+ // jet contents is ordered by increasing index of the initial
+ // particles. Hence, we look for the first particle with index >= n_hard
+ // and deduce the number of ghosts in the jet, hence the area.
+ double area_factor = (2.0*grid_eta_max/grid_size)*(twopi/grid_size);
+ for (i=0;i<(int) jets.size();i++){
+ j=0;
+ while ((j<jets[i].n) && (jets[i].contents[j]<n_hard)) j++;
+ jet_areas[i].passive_area = (jets[i].n-j)*area_factor;
+ }
+
+ jets.clear();
+
+ return n_jets;
+}
+
+/*
+ * compute the active jet areas from a given particle set.
+ * The parameters of this method are the ones which control the jet clustering alghorithm.
+ * Note that the pt_min is not allowed here soince the jet-area determination involves soft
+ * particles/jets and thus is used internally.
+ * - _particles list of particles
+ * - _radius cone radius
+ * - _f shared energy threshold for splitting&merging
+ * - _n_pass_max maximum number of passes (0=full search, the default)
+ * - _split_merge_scale the scale choice for the split-merge procedure
+ * NOTE: SM_pt leads to IR unsafety for some events with momentum conservation.
+ * SM_Et is IR safe but not boost invariant and not implemented(!)
+ * SM_mt is IR safe for hadronic events, but not for decays of two
+ * back-to-back particles of identical mass
+ * SM_pttilde
+ * is always IR safe, and also boost invariant (default)
+ * - _hard_only when this is set on, only hard jets are computed
+ * and not the purely ghosted jets (default: false)
+ * return the jets together with their active areas
+ * The return value is the number of jets (including pure-ghost ones if they are included)
+ ********************************************************************************************/
+int Carea::compute_active_areas(std::vector<Cmomentum> &_particles, double _radius, double _f,
+ int _n_pass_max, Esplit_merge_scale _split_merge_scale,
+ bool _hard_only){
+
+ vector<Cmomentum> all_particles;
+
+ // put "hardest cut-off" if needed
+ // this avoids computation of ghosted jets when not required and
+ // significantly shortens the SM.
+ if (_hard_only){
+ SM_var2_hardest_cut_off = pt_soft_min*pt_soft_min;
+ }
+
+ // clear potential previous runs
+ jet_areas.clear();
+
+ // put initial set of particles in the list
+ int n_hard = _particles.size();
+ all_particles = _particles;
+
+ // build the set of ghost particles and add them to the particle list
+ int i,j;
+ double eta_g,phi_g,pt_g;
+
+ for (i=0;i<grid_size;i++){
+ for (j=0;j<grid_size;j++){
+ eta_g = grid_eta_max*(-1.0+2.0*(i+0.5+grid_shift*(-1.0+2.0*(rand()/(RAND_MAX+1.0))))/grid_size);
+ phi_g = M_PI *(-1.0+2.0*(j+0.5+grid_shift*(-1.0+2.0*(rand()/(RAND_MAX+1.0))))/grid_size);
+ pt_g = pt_soft*(1.0+pt_shift*(-1.0+2.0*(rand()/(RAND_MAX+1.0))));
+ all_particles.push_back(Cmomentum(pt_g*cos(phi_g),pt_g*sin(phi_g),pt_g*sinh(eta_g),pt_g*cosh(eta_g)));
+ }
+ }
+
+ // run clustering with all particles.
+ // the split-merge here dynamically accounts for the purely soft jets.
+ // we therefore end up with the active area for the jets
+ int n_jets = compute_jets(all_particles, _radius, _f, _n_pass_max, 0.0, _split_merge_scale);
+
+ // save jets in the Cjet_area structure
+ // and determine their size
+ // jet contents is ordered by increasing index of the initial
+ // particles. Hence, we look for the first particle with index >= n_hard
+ // and deduce the number of ghosts in the jet, hence the area.
+ double area_factor = (2.0*grid_eta_max/grid_size)*(twopi/grid_size);
+
+ for (i=0;i<(int) jets.size();i++){
+ jet_areas.push_back(jets[i]);
+ j=0;
+ while ((j<jets[i].n) && (jets[i].contents[j]<n_hard)) j++;
+ jet_areas[i].active_area = (jets[i].n-j)*area_factor;
+ }
+
+ jets.clear();
+
+ return n_jets;
+}
+
+}
Index: tags/siscone-3.0.2/siscone/ranlux.cpp
===================================================================
--- tags/siscone-3.0.2/siscone/ranlux.cpp (revision 0)
+++ tags/siscone-3.0.2/siscone/ranlux.cpp (revision 398)
@@ -0,0 +1,171 @@
+// file: ranlux.xpp
+#include "ranlux.h"
+#include <stdlib.h>
+#include <stdio.h>
+
+/* This is a lagged fibonacci generator with skipping developed by Luescher.
+ The sequence is a series of 24-bit integers, x_n,
+
+ x_n = d_n + b_n
+
+ where d_n = x_{n-10} - x_{n-24} - c_{n-1}, b_n = 0 if d_n >= 0 and
+ b_n = 2^24 if d_n < 0, c_n = 0 if d_n >= 0 and c_n = 1 if d_n < 0,
+ where after 24 samples a group of p integers are "skipped", to
+ reduce correlations. By default p = 199, but can be increased to
+ 365.
+
+ The period of the generator is around 10^171.
+
+ From: M. Luescher, "A portable high-quality random number generator
+ for lattice field theory calculations", Computer Physics
+ Communications, 79 (1994) 100-110.
+
+ Available on the net as hep-lat/9309020 at http://xxx.lanl.gov/
+
+ See also,
+
+ F. James, "RANLUX: A Fortran implementation of the high-quality
+ pseudo-random number generator of Luscher", Computer Physics
+ Communications, 79 (1994) 111-114
+
+ Kenneth G. Hamilton, F. James, "Acceleration of RANLUX", Computer
+ Physics Communications, 101 (1997) 241-248
+
+ Kenneth G. Hamilton, "Assembler RANLUX for PCs", Computer Physics
+ Communications, 101 (1997) 249-253 */
+
+namespace siscone{
+
+static const unsigned long int mask_lo = 0x00ffffffUL; // 2^24 - 1
+static const unsigned long int mask_hi = ~0x00ffffffUL;
+static const unsigned long int two24 = 16777216; // 2^24
+
+
+// internal generator structure
+//------------------------------
+typedef struct {
+ unsigned int i;
+ unsigned int j;
+ unsigned int n;
+ unsigned int skip;
+ unsigned int carry;
+ unsigned long int u[24];
+} ranlux_state_t;
+
+
+// internal generator state
+//--------------------------
+ranlux_state_t local_ranlux_state;
+
+
+// incrementation of the generator state
+//---------------------------------------
+static inline unsigned long int increment_state(){
+ unsigned int i = local_ranlux_state.i;
+ unsigned int j = local_ranlux_state.j;
+ long int delta = local_ranlux_state.u[j] - local_ranlux_state.u[i]
+ - local_ranlux_state.carry;
+
+ if (delta & mask_hi){
+ local_ranlux_state.carry = 1;
+ delta &= mask_lo;
+ } else {
+ local_ranlux_state.carry = 0;
+ }
+
+ local_ranlux_state.u[i] = delta;
+
+ if (i==0)
+ i = 23;
+ else
+ i--;
+
+ local_ranlux_state.i = i;
+
+ if (j == 0)
+ j = 23;
+ else
+ j--;
+
+ local_ranlux_state.j = j;
+
+ return delta;
+}
+
+
+// set generator state
+//---------------------
+static void ranlux_set(unsigned long int s){
+ int i;
+ long int seed;
+
+ if (s==0)
+ s = 314159265; /* default seed is 314159265 */
+
+ seed = s;
+
+ /* This is the initialization algorithm of F. James, widely in use
+ for RANLUX. */
+
+ for (i=0;i<24;i++){
+ unsigned long int k = seed/53668;
+ seed = 40014*(seed-k*53668)-k*12211;
+ if (seed<0){
+ seed += 2147483563;
+ }
+ local_ranlux_state.u[i] = seed%two24;
+ }
+
+ local_ranlux_state.i = 23;
+ local_ranlux_state.j = 9;
+ local_ranlux_state.n = 0;
+ local_ranlux_state.skip = 389-24; // 389 => best decorrelation
+
+ if (local_ranlux_state.u[23]&mask_hi){
+ local_ranlux_state.carry = 1;
+ } else {
+ local_ranlux_state.carry = 0;
+ }
+}
+
+
+// generator initialization
+//--------------------------
+void ranlux_init(){
+ // seed the generator
+ ranlux_set(0);
+}
+
+
+// get random number
+//-------------------
+unsigned long int ranlux_get(){
+ const unsigned int skip = local_ranlux_state.skip;
+ unsigned long int r = increment_state();
+
+ local_ranlux_state.n++;
+
+ if (local_ranlux_state.n == 24){
+ unsigned int i;
+ local_ranlux_state.n = 0;
+ for (i = 0; i < skip; i++)
+ increment_state();
+ }
+
+ return r;
+}
+
+// print generator state
+//-----------------------
+void ranlux_print_state(){
+ size_t i;
+ unsigned char *p = (unsigned char *) (&local_ranlux_state);
+ const size_t n = sizeof (ranlux_state_t);
+
+ for (i=0;i<n;i++){
+ /* FIXME: we're assuming that a char is 8 bits */
+ printf("%.2x", *(p+i));
+ }
+}
+
+}
Property changes on: tags/siscone-3.0.2/siscone/ranlux.cpp
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Date Rev
\ No newline at end of property
Index: tags/siscone-3.0.2/siscone/split_merge.cpp
===================================================================
--- tags/siscone-3.0.2/siscone/split_merge.cpp (revision 0)
+++ tags/siscone-3.0.2/siscone/split_merge.cpp (revision 398)
@@ -0,0 +1,1186 @@
+///////////////////////////////////////////////////////////////////////////////
+// File: split_merge.cpp //
+// Description: source file for splitting/merging (contains the CJet class) //
+// This file is part of the SISCone project. //
+// For more details, see http://projects.hepforge.org/siscone //
+// //
+// Copyright (c) 2006 Gavin Salam and Gregory Soyez //
+// //
+// This program is free software; you can redistribute it and/or modify //
+// it under the terms of the GNU General Public License as published by //
+// the Free Software Foundation; either version 2 of the License, or //
+// (at your option) any later version. //
+// //
+// This program is distributed in the hope that it will be useful, //
+// but WITHOUT ANY WARRANTY; without even the implied warranty of //
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
+// GNU General Public License for more details. //
+// //
+// You should have received a copy of the GNU General Public License //
+// along with this program; if not, write to the Free Software //
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
+// //
+// $Revision:: $//
+// $Date:: $//
+///////////////////////////////////////////////////////////////////////////////
+
+#include "split_merge.h"
+#include "siscone_error.h"
+#include "momentum.h"
+#include <limits> // for max
+#include <iostream>
+#include <algorithm>
+#include <sstream>
+#include <cassert>
+#include <cmath>
+
+namespace siscone{
+
+using namespace std;
+
+/********************************************************
+ * class Cjet implementation *
+ * real Jet information. *
+ * This class contains information for one single jet. *
+ * That is, first, its momentum carrying information *
+ * about its centre and pT, and second, its particle *
+ * contents *
+ ********************************************************/
+// default ctor
+//--------------
+Cjet::Cjet(){
+ n = 0;
+ v = Cmomentum();
+ pt_tilde = 0.0;
+ sm_var2 = 0.0;
+ pass = CJET_INEXISTENT_PASS; // initialised to a value that should
+ // notappear in the end (after clustering)
+}
+
+// default dtor
+//--------------
+Cjet::~Cjet(){
+
+}
+
+// ordering of jets in pt (e.g. used in final jets ordering)
+//-----------------------------------------------------------
+bool jets_pt_less(const Cjet &j1, const Cjet &j2){
+ return j1.v.perp2() > j2.v.perp2();
+}
+
+
+/********************************************************
+ * Csplit_merge_ptcomparison implementation *
+ * This deals with the ordering of the jets candidates *
+ ********************************************************/
+
+// odering of two jets
+// The variable of the ordering is pt or mt
+// depending on 'split_merge_scale' choice
+//
+// with EPSILON_SPLITMERGE defined, this attempts to identify
+// delicate cases where two jets have identical momenta except for
+// softish particles -- the difference of pt's may not be correctly
+// identified normally and so lead to problems for the fate of the
+// softish particle.
+//
+// NB: there is a potential issue in momentum-conserving events,
+// whereby the harder of two jets becomes ill-defined when a soft
+// particle is emitted --- this may have a knock-on effect on
+// subsequent split-merge steps in cases with sufficiently large R
+// (but we don't know what the limit is...)
+//------------------------------------------------------------------
+bool Csplit_merge_ptcomparison::operator ()(const Cjet &jet1, const Cjet &jet2) const{
+ double q1, q2;
+
+ // compute the value for comparison for both jets
+ // This depends on the choice of variable (mt is the default)
+ q1 = jet1.sm_var2;
+ q2 = jet2.sm_var2;
+
+ bool res = q1 > q2;
+
+ // if we enable the refined version of the comparison (see defines.h),
+ // we compute the difference more precisely when the two jets are very
+ // close in the ordering variable.
+#ifdef EPSILON_SPLITMERGE
+ if ( (fabs(q1-q2) < EPSILON_SPLITMERGE*max(q1,q2)) &&
+ (jet1.v.ref != jet2.v.ref) ) {
+ // get the momentum of the difference
+ Cmomentum difference;
+ double pt_tilde_difference;
+ get_difference(jet1,jet2,&difference,&pt_tilde_difference);
+
+ // use the following relation: pt1^2 - pt2^2 = (pt1+pt2)*(pt1-pt2)
+ double qdiff;
+ Cmomentum sum = jet1.v ;
+ sum += jet2.v;
+ double pt_tilde_sum = jet1.pt_tilde + jet2.pt_tilde;
+
+ // depending on the choice of ordering variable, set the result
+ switch (split_merge_scale){
+ case SM_mt:
+ qdiff = sum.E*difference.E - sum.pz*difference.pz;
+ break;
+ case SM_pt:
+ qdiff = sum.px*difference.px + sum.py*difference.py;
+ break;
+ case SM_pttilde:
+ qdiff = pt_tilde_sum*pt_tilde_difference;
+ break;
+ case SM_Et:
+ // diff = E^2 (dpt^2 pz^2- pt^2 dpz^2)
+ // + dE^2 (pt^2+pz^2) pt2^2
+ // where, unless explicitely specified the variables
+ // refer to the first jet or differences jet1-jet2.
+ qdiff = jet1.v.E*jet1.v.E*
+ ((sum.px*difference.px + sum.py*difference.py)*jet1.v.pz*jet1.v.pz
+ -jet1.v.perp2()*sum.pz*difference.pz)
+ +sum.E*difference.E*(jet1.v.perp2()+jet1.v.pz*jet1.v.pz)*jet2.v.perp2();
+ break;
+ default:
+ throw Csiscone_error("Unsupported split-merge scale choice: "
+ + SM_scale_name());
+ }
+ res = qdiff > 0;
+ }
+#endif // EPSILON_SPLITMERGE
+
+ return res;
+}
+
+
+/// return a name for the sm scale choice
+/// NB: used internally and also by fastjet
+std::string split_merge_scale_name(Esplit_merge_scale sms) {
+ switch(sms) {
+ case SM_pt:
+ return "pt (IR unsafe)";
+ case SM_Et:
+ return "Et (boost dep.)";
+ case SM_mt:
+ return "mt (IR safe except for pairs of identical decayed heavy particles)";
+ case SM_pttilde:
+ return "pttilde (scalar sum of pt's)";
+ default:
+ return "[SM scale without a name]";
+ }
+}
+
+
+// get the difference between 2 jets
+// - j1 first jet
+// - j2 second jet
+// - v jet1-jet2
+// - pt_tilde jet1-jet2 pt_tilde
+// return true if overlapping, false if disjoint
+//-----------------------------------------------
+void Csplit_merge_ptcomparison::get_difference(const Cjet &j1, const Cjet &j2, Cmomentum *v, double *pt_tilde) const {
+ int i1,i2;
+
+ // initialise
+ i1=i2=0;
+ *v = Cmomentum();
+ *pt_tilde = 0.0;
+
+ // compute overlap
+ // at the same time, we store union in indices
+ do{
+ if (j1.contents[i1]==j2.contents[i2]) {
+ i1++;
+ i2++;
+ } else if (j1.contents[i1]<j2.contents[i2]){
+ (*v) += (*particles)[j1.contents[i1]];
+ (*pt_tilde) += (*pt)[j1.contents[i1]];
+ i1++;
+ } else if (j1.contents[i1]>j2.contents[i2]){
+ (*v) -= (*particles)[j2.contents[i2]];
+ (*pt_tilde) -= (*pt)[j2.contents[i2]];
+ i2++;
+ } else {
+ throw Csiscone_error("get_non_overlap reached part it should never have seen...");
+ }
+ } while ((i1<j1.n) && (i2<j2.n));
+
+ // deal with particles at the end of the list...
+ while (i1 < j1.n) {
+ (*v) += (*particles)[j1.contents[i1]];
+ (*pt_tilde) += (*pt)[j1.contents[i1]];
+ i1++;
+ }
+ while (i2 < j2.n) {
+ (*v) -= (*particles)[j2.contents[i2]];
+ (*pt_tilde) -= (*pt)[j2.contents[i2]];
+ i2++;
+ }
+}
+
+
+/********************************************************
+ * class Csplit_merge implementation *
+ * Class used to split and merge jets. *
+ ********************************************************/
+// default ctor
+//--------------
+Csplit_merge::Csplit_merge(){
+ merge_identical_protocones = false;
+#ifdef ALLOW_MERGE_IDENTICAL_PROTOCONES
+#ifdef MERGE_IDENTICAL_PROTOCONES_DEFAULT_TRUE
+ merge_identical_protocones = true;
+#endif
+#endif
+ _user_scale = NULL;
+ indices = NULL;
+
+ // ensure that ptcomparison points to our set of particles (though params not correct)
+ ptcomparison.particles = &particles;
+ ptcomparison.pt = &pt;
+ candidates.reset(new multiset<Cjet,Csplit_merge_ptcomparison>(ptcomparison));
+
+ // no hardest cut (col-unsafe)
+ SM_var2_hardest_cut_off = -numeric_limits<double>::max();
+
+ // no pt cutoff for the particles to put in p_uncol_hard
+ stable_cone_soft_pt2_cutoff = -1.0;
+
+ // no pt-weighted splitting
+ use_pt_weighted_splitting = false;
+}
+
+
+// default dtor
+//--------------
+Csplit_merge::~Csplit_merge(){
+ full_clear();
+}
+
+
+// initialisation function
+// - _particles list of particles
+// - protocones list of protocones (initial jet candidates)
+// - R2 cone radius (squared)
+// - ptmin minimal pT allowed for jets
+//-------------------------------------------------------------
+int Csplit_merge::init(vector<Cmomentum> & /*_particles*/, vector<Cmomentum> *protocones, double R2, double ptmin){
+ // browse protocones
+ return add_protocones(protocones, R2, ptmin);
+}
+
+
+// initialisation function for particle list
+// - _particles list of particles
+//-------------------------------------------------------------
+int Csplit_merge::init_particles(vector<Cmomentum> &_particles){
+ full_clear();
+
+ // compute the list of particles
+ // here, we do not need to throw away particles
+ // with infinite rapidity (colinear with the beam)
+ particles = _particles;
+ n = particles.size();
+
+ // build the vector of particles' pt
+ pt.resize(n);
+ for (int i=0;i<n;i++)
+ pt[i] = particles[i].perp();
+
+ // ensure that ptcomparison points to our set of particles (though params not correct)
+ ptcomparison.particles = &particles;
+ ptcomparison.pt = &pt;
+
+ // set up the list of particles left.
+ init_pleft();
+
+ indices = new int[n];
+
+ return 0;
+}
+
+
+// build initial list of remaining particles
+//------------------------------------------
+int Csplit_merge::init_pleft(){
+ // at this level, we only rule out particles with
+ // infinite rapidity
+ // in the parent particle list, index contain the run
+ // at which particles are puts in jets:
+ // - -1 means infinity rapidity
+ // - 0 means not included
+ // - i mean included at run i
+ int i,j;
+
+ // copy particles removing the ones with infinite rapidity
+ // determine min,max eta
+ j=0;
+ double eta_min=0.0; /// for the Ceta_phi_range static member!
+ double eta_max=0.0; /// for the Ceta_phi_range static member!
+ p_remain.clear();
+ for (i=0;i<n;i++){
+ // set ref for checkxor
+ particles[i].ref.randomize();
+
+ // check if rapidity is not infinite or ill-defined
+ if (fabs(particles[i].pz) < (particles[i].E)){
+ p_remain.push_back(particles[i]);
+ // set up parent index for tracability
+ p_remain[j].parent_index = i;
+ // left particles are marked with a 1
+ // IMPORTANT NOTE: the meaning of index in p_remain is
+ // somehow different as in the initial particle list.
+ // here, within one pass, we use the index to track whether
+ // a particle is included in the current pass (index set to 0
+ // in add_protocones) or still remain (index still 1)
+ p_remain[j].index = 1;
+
+ j++;
+ // set up parent-particle index
+ particles[i].index = 0;
+
+ eta_min = min(eta_min, particles[i].eta);
+ eta_max = max(eta_max, particles[i].eta);
+ } else {
+ particles[i].index = -1;
+ }
+ }
+ n_left = p_remain.size();
+ n_pass = 0;
+
+ Ceta_phi_range epr;
+ epr.eta_min = eta_min-0.01;
+ epr.eta_max = eta_max+0.01;
+
+ merge_collinear_and_remove_soft();
+
+ return 0;
+}
+
+
+// partial clearance
+// we want to keep particle list and indices
+// for future usage, so do not clear it !
+// this is done in full_clear
+//----------------------------------------
+int Csplit_merge::partial_clear(){
+ // release jets
+
+ // set up the auto_ptr for the multiset with the _current_ state of
+ // ptcomparison (which may have changed since we constructed the
+ // class)
+ candidates.reset(new multiset<Cjet,Csplit_merge_ptcomparison>(ptcomparison));
+
+ // start off with huge number
+ most_ambiguous_split = numeric_limits<double>::max();
+
+ jets.clear();
+#ifdef ALLOW_MERGE_IDENTICAL_PROTOCONES
+ if (merge_identical_protocones)
+ cand_refs.clear();
+#endif
+
+ p_remain.clear();
+
+ return 0;
+}
+
+
+// full clearance
+//----------------
+int Csplit_merge::full_clear(){
+ partial_clear();
+
+ // clear previously allocated memory
+ if (indices != NULL){
+ delete[] indices;
+ }
+ particles.clear();
+
+ return 0;
+}
+
+
+// build the list 'p_uncol_hard' from p_remain by clustering collinear particles
+// note that thins in only used for stable-cone detection
+// so the parent_index field is unnecessary
+//-------------------------------------------------------------------------
+int Csplit_merge::merge_collinear_and_remove_soft(){
+ int i,j;
+ vector<Cmomentum> p_sorted;
+ bool collinear;
+ double dphi;
+
+ p_uncol_hard.clear();
+
+ // we first sort the particles according to their rapidity
+ for (i=0;i<n_left;i++)
+ p_sorted.push_back(p_remain[i]);
+ sort(p_sorted.begin(), p_sorted.end(), momentum_eta_less);
+
+ // then we cluster particles looping over the particles in the following way
+ // if (a particle i has same eta-phi a one after (j))
+ // then add momentum i to j
+ // else add i to the p_uncol_hard list
+ i = 0;
+ while (i<n_left){
+ // check if the particle passes the stable_cone_soft_pt2_cutoff
+ if (p_sorted[i].perp2()<stable_cone_soft_pt2_cutoff) {
+ i++;
+ continue;
+ }
+
+ // check if there is(are) particle(s) with the 'same' eta
+ collinear = false;
+ j=i+1;
+ while ((j<n_left) && (fabs(p_sorted[j].eta-p_sorted[i].eta)<EPSILON_COLLINEAR) && (!collinear)){
+ dphi = fabs(p_sorted[j].phi-p_sorted[i].phi);
+ if (dphi>M_PI) dphi = twopi-dphi;
+ if (dphi<EPSILON_COLLINEAR){
+ // i is collinear with j; add the momentum (i) to the momentum (j)
+ p_sorted[j] += p_sorted[i];
+ // set collinearity test to true
+ collinear = true;
+ }
+ j++;
+ }
+ // if no collinearity detected, add the particle to our list
+ if (!collinear)
+ p_uncol_hard.push_back(p_sorted[i]);
+ i++;
+ }
+
+ return 0;
+}
+
+
+// add a list of protocones
+// - protocones list of protocones (initial jet candidates)
+// - R2 cone radius (squared)
+// - ptmin minimal pT allowed for jets
+//-------------------------------------------------------------
+int Csplit_merge::add_protocones(vector<Cmomentum> *protocones, double R2, double ptmin){
+ int i;
+ Cmomentum *c;
+ Cmomentum *v;
+ double eta, phi;
+ double dx, dy;
+ double R;
+ Cjet jet;
+
+ if (protocones->size()==0)
+ return 1;
+
+ pt_min2 = ptmin*ptmin;
+ R = sqrt(R2);
+
+ // browse protocones
+ // for each of them, build the list of particles in them
+ for (vector<Cmomentum>::iterator p_it = protocones->begin();p_it != protocones->end();p_it++){
+ // initialise variables
+ c = &(*p_it);
+
+ // note: cones have been tested => their (eta,phi) coordinates are computed
+ eta = c->eta;
+ phi = c->phi;
+
+ // browse particles to create cone contents
+ // note that jet is always initialised with default values at this level
+ jet.v = Cmomentum();
+ jet.pt_tilde=0;
+ jet.contents.clear();
+ for (i=0;i<n_left;i++){
+ v = &(p_remain[i]);
+ // for security, avoid including particles with infinite rapidity)
+ // NO NEEDED ANYMORE SINCE REMOVED FROM p_remain FROM THE BEGINNING
+ //if (fabs(v->pz)!=v->E){
+ dx = eta - v->eta;
+ dy = fabs(phi - v->phi);
+ if (dy>M_PI)
+ dy -= twopi;
+ if (dx*dx+dy*dy<R2){
+ jet.contents.push_back(v->parent_index);
+ jet.v+= *v;
+ jet.pt_tilde+= pt[v->parent_index];
+ v->index=0;
+ }
+ }
+ jet.n=jet.contents.size();
+
+ // set the momentum in protocones
+ // (it was only known through eta and phi up to now)
+ *c = jet.v;
+ c->eta = eta; // restore exact original coords
+ c->phi = phi; // to avoid rounding error inconsistencies
+
+ // set the jet range
+ jet.range=Ceta_phi_range(eta,phi,R);
+
+#ifdef DEBUG_SPLIT_MERGE
+ cout << "adding jet: ";
+ for (int i2=0;i2<jet.n;i2++)
+ cout << jet.contents[i2] << " ";
+ cout << endl;
+#endif
+
+ // add it to the list of jets
+ insert(jet);
+ }
+
+ // update list of included particles
+ n_pass++;
+
+#ifdef DEBUG_SPLIT_MERGE
+ cout << "remaining particles: ";
+#endif
+ int j=0;
+ for (i=0;i<n_left;i++){
+ if (p_remain[i].index){
+ // copy particle
+ p_remain[j]=p_remain[i];
+ p_remain[j].parent_index = p_remain[i].parent_index;
+ p_remain[j].index=1;
+ // set run in initial list
+ particles[p_remain[j].parent_index].index = n_pass;
+#ifdef DEBUG_SPLIT_MERGE
+ cout << p_remain[j].parent_index << " ";
+#endif
+ j++;
+ }
+ }
+#ifdef DEBUG_SPLIT_MERGE
+ cout << endl;
+#endif
+ n_left = j;
+ p_remain.resize(j);
+
+ merge_collinear_and_remove_soft();
+
+ return 0;
+}
+
+
+/*
+ * remove the hardest protocone and declare it a a jet
+ * - protocones list of protocones (initial jet candidates)
+ * - R2 cone radius (squared)
+ * - ptmin minimal pT allowed for jets
+ * return 0 on success, 1 on error
+ *
+ * The list of remaining particles (and the uncollinear-hard ones)
+ * is updated.
+ */
+int Csplit_merge::add_hardest_protocone_to_jets(std::vector<Cmomentum> *protocones, double R2, double ptmin){
+
+ int i;
+ Cmomentum *c;
+ Cmomentum *v;
+ double eta, phi;
+ double dx, dy;
+ double R;
+ Cjet jet, jet_candidate;
+ bool found_jet = false;
+
+ if (protocones->size()==0)
+ return 1;
+
+ pt_min2 = ptmin*ptmin;
+ R = sqrt(R2);
+
+ // browse protocones
+ // for each of them, build the list of particles in them
+ for (vector<Cmomentum>::iterator p_it = protocones->begin();p_it != protocones->end();p_it++){
+ // initialise variables
+ c = &(*p_it);
+
+ // note: cones have been tested => their (eta,phi) coordinates are computed
+ eta = c->eta;
+ phi = c->phi;
+
+ // NOTE: this is common to this method and add_protocones, so it
+ // could be moved into a 'build_jet_from_protocone' method
+ //
+ // browse particles to create cone contents
+ jet_candidate.v = Cmomentum();
+ jet_candidate.pt_tilde=0;
+ jet_candidate.contents.clear();
+ for (i=0;i<n_left;i++){
+ v = &(p_remain[i]);
+ // for security, avoid including particles with infinite rapidity)
+ // NO NEEDED ANYMORE SINCE REMOVED FROM p_remain FROM THE BEGINNING
+ //if (fabs(v->pz)!=v->E){
+ dx = eta - v->eta;
+ dy = fabs(phi - v->phi);
+ if (dy>M_PI)
+ dy -= twopi;
+ if (dx*dx+dy*dy<R2){
+ jet_candidate.contents.push_back(v->parent_index);
+ jet_candidate.v+= *v;
+ jet_candidate.pt_tilde+= pt[v->parent_index];
+ v->index=0;
+ }
+ }
+ jet_candidate.n=jet_candidate.contents.size();
+
+ // set the momentum in protocones
+ // (it was only known through eta and phi up to now)
+ *c = jet_candidate.v;
+ c->eta = eta; // restore exact original coords
+ c->phi = phi; // to avoid rounding error inconsistencies
+
+ // set the jet range
+ jet_candidate.range=Ceta_phi_range(eta,phi,R);
+
+ // check that the protojet has large enough pt
+ if (jet_candidate.v.perp2()<pt_min2)
+ continue;
+
+ // assign the split-merge (or progressive-removal) squared scale variable
+ if (_user_scale) {
+ // sm_var2 is the signed square of the user scale returned
+ // for the jet candidate
+ jet_candidate.sm_var2 = (*_user_scale)(jet_candidate);
+ jet_candidate.sm_var2 *= abs(jet_candidate.sm_var2);
+ } else {
+ jet_candidate.sm_var2 = get_sm_var2(jet_candidate.v, jet_candidate.pt_tilde);
+ }
+
+ // now check if it is possibly the hardest
+ if ((! found_jet) ||
+ (_user_scale ? _user_scale->is_larger(jet_candidate, jet)
+ : ptcomparison(jet_candidate, jet))){
+ jet = jet_candidate;
+ found_jet = true;
+ }
+ }
+
+ // make sure at least one of the jets has passed the selection
+ if (!found_jet) return 1;
+
+ // add the jet to the list of jets
+ jets.push_back(jet);
+ jets[jets.size()-1].v.build_etaphi();
+
+#ifdef DEBUG_SPLIT_MERGE
+ cout << "PR-Jet " << jets.size() << " [size " << jet.contents.size() << "]:";
+#endif
+
+ // update the list of what particles are left
+ int p_remain_index = 0;
+ int contents_index = 0;
+ //sort(next_jet.contents.begin(),next_jet.contents.end());
+ for (int index=0;index<n_left;index++){
+ if ((contents_index<(int) jet.contents.size()) &&
+ (p_remain[index].parent_index == jet.contents[contents_index])){
+ // this particle belongs to the newly found jet
+ // set pass in initial list
+ particles[p_remain[index].parent_index].index = n_pass;
+#ifdef DEBUG_SPLIT_MERGE
+ cout << " " << jet.contents[contents_index];
+#endif
+ contents_index++;
+ } else {
+ // this particle still has to be clustered
+ p_remain[p_remain_index] = p_remain[index];
+ p_remain[p_remain_index].parent_index = p_remain[index].parent_index;
+ p_remain[p_remain_index].index=1;
+ p_remain_index++;
+ }
+ }
+ p_remain.resize(n_left-jet.contents.size());
+ n_left = p_remain.size();
+ jets[jets.size()-1].pass = particles[jet.contents[0]].index;
+
+ // increase the pass index
+ n_pass++;
+
+#ifdef DEBUG_SPLIT_MERGE
+ cout << endl;
+#endif
+
+ // male sure the list of uncol_hard particles (used for the next
+ // stable cone finding) is updated [could probably be more
+ // efficient]
+ merge_collinear_and_remove_soft();
+
+ return 0;
+}
+
+/*
+ * really do the splitting and merging
+ * At the end, the vector jets is filled with the jets found.
+ * the 'contents' field of each jets contains the indices
+ * of the particles included in that jet.
+ * - overlap_tshold threshold for splitting/merging transition
+ * - ptmin minimal pT allowed for jets
+ * return the number of jets is returned
+ ******************************************************************/
+int Csplit_merge::perform(double overlap_tshold, double ptmin){
+ // iterators for the 2 jets
+ cjet_iterator j1;
+ cjet_iterator j2;
+
+ pt_min2 = ptmin*ptmin;
+
+ if (candidates->size()==0)
+ return 0;
+
+ if (overlap_tshold>=1.0 || overlap_tshold <= 0) {
+ ostringstream message;
+ message << "Illegal value for overlap_tshold, f = " << overlap_tshold;
+ message << " (legal values are 0<f<1)";
+ throw Csiscone_error(message.str());
+ }
+
+ // overlap (the contents of this variable depends on the choice for
+ // the split--merge variable.)
+ // Note that the square of the ovelap is used
+ double overlap2;
+
+ // avoid to compute tshold*tshold at each overlap
+ double overlap_tshold2 = overlap_tshold*overlap_tshold;
+
+ do{
+ if (candidates->size()>0){
+ // browse for the first jet
+ j1 = candidates->begin();
+
+ // if hardest jet does not pass threshold then nothing else will
+ // either so one stops the split merge.
+ if (j1->sm_var2<SM_var2_hardest_cut_off) {break;}
+
+ // browse for the second jet
+ j2 = j1;
+ j2++;
+ int j2_relindex = 1; // used only in ifdef, but costs little so keep it outside
+
+ while (j2 != candidates->end()){
+#ifdef DEBUG_SPLIT_MERGE
+ show();
+#endif
+ // check overlapping
+ if (get_overlap(*j1, *j2, &overlap2)){
+ // check if overlapping energy passes threshold
+ // Note that this depends on the ordering variable
+#ifdef DEBUG_SPLIT_MERGE
+ cout << "overlap between cdt 1 and cdt " << j2_relindex+1 << " with overlap "
+ << sqrt(overlap2/j2->sm_var2) << endl<<endl;
+#endif
+ if (overlap2<overlap_tshold2*j2->sm_var2){
+ // split jets
+ split(j1, j2);
+
+ // update iterators
+ j2 = j1 = candidates->begin();
+ j2_relindex = 0;
+ } else {
+ // merge jets
+ merge(j1, j2);
+
+ // update iterators
+ j2 = j1 = candidates->begin();
+ j2_relindex = 0;
+ }
+ }
+ // watch out: split/merge might have caused new jets with pt <
+ // ptmin to disappear, so the total number of jets may
+ // have changed by more than expected and j2 might already by
+ // the end of the candidates list...
+ j2_relindex++;
+ if (j2 != candidates->end()) j2++;
+ } // end of loop on the second jet
+
+ if (j1 != candidates->end()) {
+ // all "second jet" passed without overlapping
+ // (otherwise we won't leave the j2 loop)
+ // => store jet 1 as real jet
+ jets.push_back(*j1);
+ jets[jets.size()-1].v.build_etaphi();
+ // a bug where the contents has non-zero size has been cropping
+ // up in many contexts -- so catch it!
+ assert(j1->contents.size() > 0);
+ jets[jets.size()-1].pass = particles[j1->contents[0]].index;
+#ifdef ALLOW_MERGE_IDENTICAL_PROTOCONES
+ cand_refs.erase(j1->v.ref);
+#endif
+ candidates->erase(j1);
+
+ //// test that the hardest jet pass the potential cut-off
+ //if ((candidates->size()!=0) &&
+ // (candidates->begin()->sm_var2<SM_var2_hardest_cut_off)){
+ // candidates->clear();
+ //}
+ }
+ }
+ } while (candidates->size()>0);
+
+ // sort jets by pT
+ sort(jets.begin(), jets.end(), jets_pt_less);
+#ifdef DEBUG_SPLIT_MERGE
+ show();
+#endif
+
+ return jets.size();
+}
+
+
+
+// save the event on disk
+// - flux stream used to save jet contents
+//--------------------------------------------
+int Csplit_merge::save_contents(FILE *flux){
+ jet_iterator it_j;
+ Cjet *j1;
+ int i1, i2;
+
+ fprintf(flux, "# %d jets found\n", (int) jets.size());
+ fprintf(flux, "# columns are: eta, phi, pt and number of particles for each jet\n");
+ for (it_j = jets.begin(), i1=0 ; it_j != jets.end() ; it_j++, i1++){
+ j1 = &(*it_j);
+ j1->v.build_etaphi();
+ fprintf(flux, "%f\t%f\t%e\t%d\n",
+ j1->v.eta, j1->v.phi, j1->v.perp(), j1->n);
+ }
+
+ fprintf(flux, "# jet contents\n");
+ fprintf(flux, "# columns are: eta, phi, pt, particle index and jet number\n");
+ for (it_j = jets.begin(), i1=0 ; it_j != jets.end() ; it_j++, i1++){
+ j1 = &(*it_j);
+ for (i2=0;i2<j1->n;i2++)
+ fprintf(flux, "%f\t%f\t%e\t%d\t%d\n",
+ particles[j1->contents[i2]].eta, particles[j1->contents[i2]].phi,
+ particles[j1->contents[i2]].perp(), j1->contents[i2], i1);
+ }
+
+ return 0;
+}
+
+
+// show current jets/candidate status
+//------------------------------------
+int Csplit_merge::show(){
+ jet_iterator it_j;
+ cjet_iterator it_c;
+ Cjet *j;
+ const Cjet *c;
+ int i1, i2;
+
+ for (it_j = jets.begin(), i1=0 ; it_j != jets.end() ; it_j++, i1++){
+ j = &(*it_j);
+ fprintf(stdout, "jet %2d: %e\t%e\t%e\t%e\t", i1+1,
+ j->v.px, j->v.py, j->v.pz, j->v.E);
+ for (i2=0;i2<j->n;i2++)
+ fprintf(stdout, "%d ", j->contents[i2]);
+ fprintf(stdout, "\n");
+ }
+
+ for (it_c = candidates->begin(), i1=0 ; it_c != candidates->end() ; it_c++, i1++){
+ c = &(*it_c);
+ fprintf(stdout, "cdt %2d: %e\t%e\t%e\t%e\t%e\t", i1+1,
+ c->v.px, c->v.py, c->v.pz, c->v.E, sqrt(c->sm_var2));
+ for (i2=0;i2<c->n;i2++)
+ fprintf(stdout, "%d ", c->contents[i2]);
+ fprintf(stdout, "\n");
+ }
+
+ fprintf(stdout, "\n");
+ return 0;
+}
+
+
+// get the overlap between 2 jets
+// - j1 first jet
+// - j2 second jet
+// - overlap2 returned overlap^2 (determined by the choice of SM variable)
+// return true if overlapping, false if disjoint
+//---------------------------------------------------------------------
+bool Csplit_merge::get_overlap(const Cjet &j1, const Cjet &j2, double *overlap2){
+ // check if ranges overlap
+ if (!is_range_overlap(j1.range,j2.range))
+ return false;
+
+ int i1,i2;
+ bool is_overlap;
+
+ // initialise
+ i1=i2=idx_size=0;
+ is_overlap = false;
+ Cmomentum v;
+ double pt_tilde=0.0;
+
+ // compute overlap
+ // at the same time, we store union in indices
+ do{
+ if (j1.contents[i1]<j2.contents[i2]){
+ indices[idx_size] = j1.contents[i1];
+ i1++;
+ } else if (j1.contents[i1]>j2.contents[i2]){
+ indices[idx_size] = j2.contents[i2];
+ i2++;
+ } else { // (j1.contents[i1]==j2.contents[i2])
+ v += particles[j1.contents[i1]];
+ pt_tilde += pt[j1.contents[i1]];
+ indices[idx_size] = j1.contents[i1];
+ i1++;
+ i2++;
+ is_overlap = true;
+ }
+ idx_size++;
+ } while ((i1<j1.n) && (i2<j2.n));
+
+ // finish computing union
+ // (only needed if overlap !)
+ if (is_overlap){
+ while (i1<j1.n){
+ indices[idx_size] = j1.contents[i1];
+ i1++;
+ idx_size++;
+ }
+ while (i2<j2.n){
+ indices[idx_size] = j2.contents[i2];
+ i2++;
+ idx_size++;
+ }
+ }
+
+ // assign the overlapping var as return variable
+ (*overlap2) = get_sm_var2(v, pt_tilde);
+
+ return is_overlap;
+}
+
+
+
+// split the two given jet.
+// during this procedure, the jets j1 & j2 are replaced
+// by 2 new jets. Common particles are associted to the
+// closest initial jet.
+// - it_j1 iterator of the first jet in 'candidates'
+// - it_j2 iterator of the second jet in 'candidates'
+// - j1 first jet (Cjet instance)
+// - j2 second jet (Cjet instance)
+// return true on success, false on error
+////////////////////////////////////////////////////////////////
+bool Csplit_merge::split(cjet_iterator &it_j1, cjet_iterator &it_j2){
+ int i1, i2;
+ Cjet jet1, jet2;
+ double eta1, phi1, pt1_weight, eta2, phi2, pt2_weight;
+ double dx1, dy1, dx2, dy2;
+ Cmomentum tmp;
+ Cmomentum *v;
+
+ // shorthand to avoid having "->" all over the place
+ const Cjet & j1 = * it_j1;
+ const Cjet & j2 = * it_j2;
+
+ i1=i2=0;
+ jet2.v = jet1.v = Cmomentum();
+ jet2.pt_tilde = jet1.pt_tilde = 0.0;
+
+ // compute centroids
+ // When use_pt_weighted_splitting is activated, the
+ // "geometrical" distance is weighted by the inverse
+ // of the pt of the protojet
+ // This is stored in pt{1,2}_weight
+ tmp = j1.v;
+ tmp.build_etaphi();
+ eta1 = tmp.eta;
+ phi1 = tmp.phi;
+ pt1_weight = (use_pt_weighted_splitting) ? 1.0/tmp.perp2() : 1.0;
+
+ tmp = j2.v;
+ tmp.build_etaphi();
+ eta2 = tmp.eta;
+ phi2 = tmp.phi;
+ pt2_weight = (use_pt_weighted_splitting) ? 1.0/tmp.perp2() : 1.0;
+
+ jet1.v = jet2.v = Cmomentum();
+
+ // compute jet splitting
+ do{
+ if (j1.contents[i1]<j2.contents[i2]){
+ // particle i1 belong only to jet 1
+ v = &(particles[j1.contents[i1]]);
+ jet1.contents.push_back(j1.contents[i1]);
+ jet1.v += *v;
+ jet1.pt_tilde += pt[j1.contents[i1]];
+ i1++;
+ jet1.range.add_particle(v->eta,v->phi);
+ } else if (j1.contents[i1]>j2.contents[i2]){
+ // particle i2 belong only to jet 2
+ v = &(particles[j2.contents[i2]]);
+ jet2.contents.push_back(j2.contents[i2]);
+ jet2.v += *v;
+ jet2.pt_tilde += pt[j2.contents[i2]];
+ i2++;
+ jet2.range.add_particle(v->eta,v->phi);
+ } else { // (j1.contents[i1]==j2.contents[i2])
+ // common particle, decide which is the closest centre
+ v = &(particles[j1.contents[i1]]);
+
+ // distance w.r.t. centroid 1
+ dx1 = eta1 - v->eta;
+ dy1 = fabs(phi1 - v->phi);
+ if (dy1>M_PI)
+ dy1 -= twopi;
+
+ // distance w.r.t. centroid 2
+ dx2 = eta2 - v->eta;
+ dy2 = fabs(phi2 - v->phi);
+ if (dy2>M_PI)
+ dy2 -= twopi;
+
+ //? what when == ?
+ // When use_pt_weighted_splitting is activated, the
+ // "geometrical" distance is weighted by the inverse
+ // of the pt of the protojet
+ double d1sq = (dx1*dx1+dy1*dy1)*pt1_weight;
+ double d2sq = (dx2*dx2+dy2*dy2)*pt2_weight;
+ // do bookkeeping on most ambiguous split
+ if (fabs(d1sq-d2sq) < most_ambiguous_split)
+ most_ambiguous_split = fabs(d1sq-d2sq);
+
+ if (d1sq<d2sq){
+ // particle i1 belong only to jet 1
+ jet1.contents.push_back(j1.contents[i1]);
+ jet1.v += *v;
+ jet1.pt_tilde += pt[j1.contents[i1]];
+ jet1.range.add_particle(v->eta,v->phi);
+ } else {
+ // particle i2 belong only to jet 2
+ jet2.contents.push_back(j2.contents[i2]);
+ jet2.v += *v;
+ jet2.pt_tilde += pt[j2.contents[i2]];
+ jet2.range.add_particle(v->eta,v->phi);
+ }
+
+ i1++;
+ i2++;
+ }
+ } while ((i1<j1.n) && (i2<j2.n));
+
+ while (i1<j1.n){
+ v = &(particles[j1.contents[i1]]);
+ jet1.contents.push_back(j1.contents[i1]);
+ jet1.v += *v;
+ jet1.pt_tilde += pt[j1.contents[i1]];
+ i1++;
+ jet1.range.add_particle(v->eta,v->phi);
+ }
+ while (i2<j2.n){
+ v = &(particles[j2.contents[i2]]);
+ jet2.contents.push_back(j2.contents[i2]);
+ jet2.v += *v;
+ jet2.pt_tilde += pt[j2.contents[i2]];
+ i2++;
+ jet2.range.add_particle(v->eta,v->phi);
+ }
+
+ // finalise jets
+ jet1.n = jet1.contents.size();
+ jet2.n = jet2.contents.size();
+
+ //jet1.range = j1.range;
+ //jet2.range = j2.range;
+
+ // remove previous jets
+#ifdef ALLOW_MERGE_IDENTICAL_PROTOCONES
+ cand_refs.erase(j1.v.ref);
+ cand_refs.erase(j2.v.ref);
+#endif
+ candidates->erase(it_j1);
+ candidates->erase(it_j2);
+
+ // reinsert new ones
+ insert(jet1);
+ insert(jet2);
+
+ return true;
+}
+
+// merge the two given jet.
+// during this procedure, the jets j1 & j2 are replaced
+// by 1 single jets containing both of them.
+// - it_j1 iterator of the first jet in 'candidates'
+// - it_j2 iterator of the second jet in 'candidates'
+// return true on success, false on error
+////////////////////////////////////////////////////////////////
+bool Csplit_merge::merge(cjet_iterator &it_j1, cjet_iterator &it_j2){
+ Cjet jet;
+ int i;
+
+ // build new jet
+ // note: particles within j1 & j2 have already been stored in indices
+ for (i=0;i<idx_size;i++){
+ jet.contents.push_back(indices[i]);
+ jet.v += particles[indices[i]];
+ jet.pt_tilde += pt[indices[i]];
+ }
+ jet.n = jet.contents.size();
+
+ // deal with ranges
+ jet.range = range_union(it_j1->range, it_j2->range);
+
+ // remove old candidates
+#ifdef ALLOW_MERGE_IDENTICAL_PROTOCONES
+ if (merge_identical_protocones){
+ cand_refs.erase(it_j1->v.ref);
+ cand_refs.erase(it_j2->v.ref);
+ }
+#endif
+ candidates->erase(it_j1);
+ candidates->erase(it_j2);
+
+ // reinsert new candidate
+ insert(jet);
+
+ return true;
+}
+
+/**
+ * Check whether or not a jet has to be inserted in the
+ * list of protojets. If it has, set its sm_variable and
+ * insert it to the list of protojets.
+ */
+bool Csplit_merge::insert(Cjet &jet){
+
+ // eventually check that no other candidate are present with the
+ // same cone contents. We recall that this automatic merging of
+ // identical protocones can lead to infrared-unsafe situations.
+#ifdef ALLOW_MERGE_IDENTICAL_PROTOCONES
+ if ((merge_identical_protocones) && (!cand_refs.insert(jet.v.ref).second))
+ return false;
+#endif
+
+ // check that the protojet has large enough pt
+ if (jet.v.perp2()<pt_min2)
+ return false;
+
+ // assign SM variable
+ jet.sm_var2 = get_sm_var2(jet.v, jet.pt_tilde);
+
+ // insert the jet.
+ candidates->insert(jet);
+
+ return true;
+}
+
+/**
+ * given a 4-momentum and its associated pT, return the
+ * variable that has to be used for SM
+ * \param v 4 momentum of the protojet
+ * \param pt_tilde pt_tilde of the protojet
+ */
+double Csplit_merge::get_sm_var2(Cmomentum &v, double &pt_tilde){
+ switch(ptcomparison.split_merge_scale) {
+ case SM_pt: return v.perp2();
+ case SM_mt: return v.perpmass2();
+ case SM_pttilde: return pt_tilde*pt_tilde;
+ case SM_Et: return v.Et2();
+ default:
+ throw Csiscone_error("Unsupported split-merge scale choice: "
+ + ptcomparison.SM_scale_name());
+ }
+
+ //return 0.0;
+}
+
+}
Property changes on: tags/siscone-3.0.2/siscone/split_merge.cpp
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Date Rev
\ No newline at end of property
Index: tags/siscone-3.0.2/siscone/quadtree.cpp
===================================================================
--- tags/siscone-3.0.2/siscone/quadtree.cpp (revision 0)
+++ tags/siscone-3.0.2/siscone/quadtree.cpp (revision 398)
@@ -0,0 +1,304 @@
+///////////////////////////////////////////////////////////////////////////////
+// File: quadtree.cpp //
+// Description: source file for quadtree management (Cquadtree class) //
+// This file is part of the SISCone project. //
+// For more details, see http://projects.hepforge.org/siscone //
+// //
+// Copyright (c) 2006 Gavin Salam and Gregory Soyez //
+// //
+// This program is free software; you can redistribute it and/or modify //
+// it under the terms of the GNU General Public License as published by //
+// the Free Software Foundation; either version 2 of the License, or //
+// (at your option) any later version. //
+// //
+// This program is distributed in the hope that it will be useful, //
+// but WITHOUT ANY WARRANTY; without even the implied warranty of //
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
+// GNU General Public License for more details. //
+// //
+// You should have received a copy of the GNU General Public License //
+// along with this program; if not, write to the Free Software //
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
+// //
+// $Revision:: $//
+// $Date:: $//
+///////////////////////////////////////////////////////////////////////////////
+
+#include "quadtree.h"
+#include <math.h>
+#include <stdio.h>
+#include <iostream>
+
+namespace siscone{
+
+using namespace std;
+
+/*******************************************************************
+ * Cquadtree implementation *
+ * Implementation of a 2D quadtree. *
+ * This class implements the traditional two-dimensional quadtree. *
+ * The elements at each node are of 'Cmomentum' type. *
+ *******************************************************************/
+
+// default ctor
+//--------------
+Cquadtree::Cquadtree(){
+ v = NULL;
+
+ children[0][0] = children[0][1] = children[1][0] = children[1][1] = NULL;
+ has_child = false;
+}
+
+
+// ctor with initialisation (see init for details)
+//--------------------------
+Cquadtree::Cquadtree(double _x, double _y, double _half_size_x, double _half_size_y){
+ v = NULL;
+
+ children[0][0] = children[0][1] = children[1][0] = children[1][1] = NULL;
+ has_child = false;
+
+ init(_x, _y, _half_size_x, _half_size_y);
+}
+
+
+// default destructor
+// at destruction, everything is destroyed except
+// physical values at the leaves
+//------------------------------------------------
+Cquadtree::~Cquadtree(){
+ if (has_child){
+ if (v!=NULL) delete v;
+ delete children[0][0];
+ delete children[0][1];
+ delete children[1][0];
+ delete children[1][1];
+ }
+}
+
+
+/*
+ * init the tree.
+ * By initializing the tree, we mean setting the cell parameters
+ * and preparing the object to act as a seed for a new tree.
+ * - _x x-position of the center
+ * - _y y-position of the center
+ * - half_size_x half x-size of the cell
+ * - half_size_y half y-size of the cell
+ * return 0 on success, 1 on error. Note that if the cell
+ * is already filled, we return an error.
+ ******************************************************************/
+int Cquadtree::init(double _x, double _y, double _half_size_x, double _half_size_y){
+ if (v!=NULL)
+ return 1;
+
+ centre_x = _x;
+ centre_y = _y;
+ half_size_x = _half_size_x;
+ half_size_y = _half_size_y;
+
+ return 0;
+}
+
+
+/*
+ * adding a particle to the tree.
+ * This method adds one vector to the quadtree structure which
+ * is updated consequently.
+ * - v vector to add
+ * return 0 on success 1 on error
+ ******************************************************************/
+int Cquadtree::add(Cmomentum *v_add){
+ // Description of the method:
+ // --------------------------
+ // the addition process goes as follows:
+ // 1. check if the cell is empty, in which case, add the particle
+ // here and leave.
+ // 2. If there is a unique particle already inside,
+ // (a) create children
+ // (b) forward the existing particle to the appropriate child
+ // 3. Add current particle to this cell and forward to the
+ // adequate child
+ // NOTE: we assume in the whole procedure that the particle is
+ // indeed inside the cell !
+
+ // step 1: the case of empty cells
+ if (v==NULL){
+ v = v_add;
+ return 0;
+ }
+
+ // step 2: additional work if 1! particle already present
+ // we use the fact that only 1-particle systems have no child
+ if (!has_child){
+ double new_half_size_x = 0.5*half_size_x;
+ double new_half_size_y = 0.5*half_size_y;
+ // create children
+ children[0][0] = new Cquadtree(centre_x-new_half_size_x, centre_y-new_half_size_y,
+ new_half_size_x, new_half_size_y);
+ children[0][1] = new Cquadtree(centre_x-new_half_size_x, centre_y+new_half_size_y,
+ new_half_size_x, new_half_size_y);
+ children[1][0] = new Cquadtree(centre_x+new_half_size_x, centre_y-new_half_size_y,
+ new_half_size_x, new_half_size_y);
+ children[1][1] = new Cquadtree(centre_x+new_half_size_x, centre_y+new_half_size_y,
+ new_half_size_x, new_half_size_y);
+
+ has_child = true;
+
+ // forward to child
+ //? The following line assumes 'true'==1 and 'false'==0
+ // Note: v being a single particle, eta and phi are correct
+ children[v->eta>centre_x][v->phi>centre_y]->add(v);
+
+ // copy physical params
+ v = new Cmomentum(*v);
+ }
+
+ // step 3: add new particle
+ // Note: v_add being a single particle, eta and phi are correct
+ children[v_add->eta>centre_x][v_add->phi>centre_y]->add(v_add);
+ *v+=*v_add;
+
+ return 0;
+}
+
+
+/*
+ * circle intersection.
+ * computes the intersection with a circle of given centre and radius.
+ * The output takes the form of a quadtree with all squares included
+ * in the circle.
+ * - cx circle centre x coordinate
+ * - cy circle centre y coordinate
+ * - cR2 circle radius SQUARED
+ * return the checksum for the intersection
+ ******************************************************************/
+Creference Cquadtree::circle_intersect(double cx, double cy, double cR2){
+ // Description of the method:
+ // --------------------------
+ // 1. check if cell is empty => no intersection
+ // 2. if cell has 1! particle, check if it is inside the circle.
+ // If yes, add it and return, if not simply return.
+ // 3. check if the circle intersects the square. If not, return.
+ // 4. check if the square is inside the circle.
+ // If yes, add it to qt and return.
+ // 5. check intersections with children.
+
+ // step 1: if there is no particle inside te square, no reason to go further
+ if (v==NULL)
+ return Creference();
+
+ double dx, dy;
+
+ // step 2: if there is only one particle inside the square, test if it is in
+ // the circle, in which case return associated reference
+ if (!has_child){
+ // compute the distance
+ // Note: v has only one particle => eta and phi are defined
+ dx = cx - v->eta;
+ dy = fabs(cy - v->phi);
+ if (dy>M_PI)
+ dy -= 2.0*M_PI;
+
+ // test distance
+ if (dx*dx+dy*dy<cR2){
+ return v->ref;
+ }
+
+ return Creference();
+ }
+
+ // step 3: check if there is an intersection
+ //double ryp, rym;
+ double dx_c, dy_c;
+
+ // store distance with the centre of the square
+ dx_c = fabs(cx-centre_x);
+ dy_c = fabs(cy-centre_y);
+ if (dy_c>M_PI) dy_c = 2.0*M_PI-dy_c;
+
+ // compute (minimal) the distance (pay attention to the periodicity in phi).
+ dx = dx_c-half_size_x;
+ if (dx<0) dx=0;
+ dy = dy_c-half_size_y;
+ if (dy<0) dy=0;
+
+ // check the distance
+ if (dx*dx+dy*dy>=cR2){
+ // no intersection
+ return Creference();
+ }
+
+ // step 4: check if included
+
+ // compute the (maximal) distance
+ dx = dx_c+half_size_x;
+ dy = dy_c+half_size_y;
+ if (dy>M_PI) dy = M_PI;
+
+ // compute the distance
+ if (dx*dx+dy*dy<cR2){
+ return v->ref;
+ }
+
+ // step 5: the square is not fully in. Recurse to children
+ return children[0][0]->circle_intersect(cx, cy, cR2)
+ + children[0][1]->circle_intersect(cx, cy, cR2)
+ + children[1][0]->circle_intersect(cx, cy, cR2)
+ + children[1][1]->circle_intersect(cx, cy, cR2);
+}
+
+
+/*
+ * output a data file for drawing the grid.
+ * This can be used to output a data file containing all the
+ * grid subdivisions. The file contents is as follows:
+ * first and second columns give center of the cell, the third
+ * gives the size.
+ * - flux opened stream to write to
+ * return 0 on success, 1 on error
+ ******************************************************************/
+int Cquadtree::save(FILE *flux){
+
+ if (flux==NULL)
+ return 1;
+
+ if (has_child){
+ fprintf(flux, "%e\t%e\t%e\t%e\n", centre_x, centre_y, half_size_x, half_size_y);
+ children[0][0]->save(flux);
+ children[0][1]->save(flux);
+ children[1][0]->save(flux);
+ children[1][1]->save(flux);
+ }
+
+ return 0;
+}
+
+
+/*
+ * output a data file for drawing the tree leaves.
+ * This can be used to output a data file containing all the
+ * tree leaves. The file contents is as follows:
+ * first and second columns give center of the cell, the third
+ * gives the size.
+ * - flux opened stream to write to
+ * return 0 on success, 1 on error
+ ******************************************************************/
+int Cquadtree::save_leaves(FILE *flux){
+
+ if (flux==NULL)
+ return 1;
+
+ if (has_child){
+ if (children[0][0]!=NULL) children[0][0]->save_leaves(flux);
+ if (children[0][1]!=NULL) children[0][1]->save_leaves(flux);
+ if (children[1][0]!=NULL) children[1][0]->save_leaves(flux);
+ if (children[1][1]!=NULL) children[1][1]->save_leaves(flux);
+ } else {
+ fprintf(flux, "%e\t%e\t%e\t%e\n", centre_x, centre_y, half_size_x, half_size_y);
+ }
+
+ return 0;
+}
+
+}
Property changes on: tags/siscone-3.0.2/siscone/quadtree.cpp
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Date Rev
\ No newline at end of property
Index: tags/siscone-3.0.2/siscone/siscone_error.cpp
===================================================================
--- tags/siscone-3.0.2/siscone/siscone_error.cpp (revision 0)
+++ tags/siscone-3.0.2/siscone/siscone_error.cpp (revision 398)
@@ -0,0 +1,33 @@
+///////////////////////////////////////////////////////////////////////////////
+// File: siscone_error.cpp //
+// Description: source file for SISCone error messages (Csiscone_error) //
+// This file is part of the SISCone project. //
+// For more details, see http://projects.hepforge.org/siscone //
+// //
+// Copyright (c) 2006 Gavin Salam and Gregory Soyez //
+// //
+// This program is free software; you can redistribute it and/or modify //
+// it under the terms of the GNU General Public License as published by //
+// the Free Software Foundation; either version 2 of the License, or //
+// (at your option) any later version. //
+// //
+// This program is distributed in the hope that it will be useful, //
+// but WITHOUT ANY WARRANTY; without even the implied warranty of //
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
+// GNU General Public License for more details. //
+// //
+// You should have received a copy of the GNU General Public License //
+// along with this program; if not, write to the Free Software //
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
+// //
+// $Revision:: $//
+// $Date:: $//
+///////////////////////////////////////////////////////////////////////////////
+
+#include "siscone_error.h"
+
+namespace siscone{
+
+bool Csiscone_error::m_print_errors = true;
+
+}
Property changes on: tags/siscone-3.0.2/siscone/siscone_error.cpp
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Date Rev
\ No newline at end of property
Index: tags/siscone-3.0.2/siscone/circulator.h
===================================================================
--- tags/siscone-3.0.2/siscone/circulator.h (revision 0)
+++ tags/siscone-3.0.2/siscone/circulator.h (revision 398)
@@ -0,0 +1,90 @@
+// -*- C++ -*-
+///////////////////////////////////////////////////////////////////////////////
+// File: circulator.h //
+// Description: header file for circulator (circulator class) //
+// This file is part of the SISCone project. //
+// For more details, see http://projects.hepforge.org/siscone //
+// //
+// Copyright (c) 2006 Gavin Salam and Gregory Soyez //
+// //
+// This program is free software; you can redistribute it and/or modify //
+// it under the terms of the GNU General Public License as published by //
+// the Free Software Foundation; either version 2 of the License, or //
+// (at your option) any later version. //
+// //
+// This program is distributed in the hope that it will be useful, //
+// but WITHOUT ANY WARRANTY; without even the implied warranty of //
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
+// GNU General Public License for more details. //
+// //
+// You should have received a copy of the GNU General Public License //
+// along with this program; if not, write to the Free Software //
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
+// //
+// $Revision:: 103 $//
+// $Date:: 2007-02-18 17:07:34 +0100 (Sun, 18 Feb 2007) $//
+///////////////////////////////////////////////////////////////////////////////
+
+#ifndef __CIRCULATOR_H__
+#define __CIRCULATOR_H__
+
+namespace siscone{
+
+/// \class circulator
+/// a circulator that is foreseen to take as template member either a
+/// pointer or an iterator;
+template<class T> class circulator {
+
+public:
+ /// ctor with iniitalisation from iterators
+ /// \param here the current position
+ /// \param begin the first position
+ /// \param end the last position
+ inline circulator(T here, T begin, T end) : m_here(here), m_begin(begin), m_end(end) {}
+
+ /// copy ctor
+ /// \param other the circulator to copy
+ inline circulator(const circulator<T> & other) : m_here(other.m_here), m_begin(other.m_begin), m_end(other.m_end) {}
+
+ /// set just the position without resetting the begin and end elements
+ /// \param other the circulator to grab position from
+ void set_position(const circulator<T> & other) {m_here = other.m_here;}
+
+ /// set just the position without resetting the begin and end elements
+ /// \param pointer the iterator to use as the new position
+ void set_position(T pointer) {m_here = pointer;}
+
+ /// get the current object
+ T operator()() {return m_here;}
+
+ /// position incrementation
+ inline circulator<T> & operator++() {
+ ++m_here;
+ if (m_here == m_end) m_here = m_begin;
+ return *this;
+ }
+
+ /// position decrementation
+ inline circulator<T> & operator--() {
+ if (m_here == m_begin) m_here = m_end;
+ --m_here;
+ return *this;
+ }
+
+ /// check if the current elements are the same
+ /// NB: for efficiency, this checks only the here element
+ /// \param other the circulator to compare to the current one
+ bool operator==(const circulator & other) const {return m_here == other.m_here;}
+
+ /// check if the current elements are different
+ /// NB: for efficiency, this checks only the here element
+ /// \param other the circulator to compare to the current one
+ bool operator!=(const circulator & other) const {return m_here != other.m_here;}
+
+private:
+ T m_here, m_begin, m_end; ///< the current, beginning and ending iterators/pointers
+};
+
+}
+
+#endif // __CIRCULATOR_H__
Index: tags/siscone-3.0.2/siscone/geom_2d.cpp
===================================================================
--- tags/siscone-3.0.2/siscone/geom_2d.cpp (revision 0)
+++ tags/siscone-3.0.2/siscone/geom_2d.cpp (revision 398)
@@ -0,0 +1,150 @@
+///////////////////////////////////////////////////////////////////////////////
+// File: geom_2d.cpp //
+// Description: source file for two-dimensional geometry tools //
+// This file is part of the SISCone project. //
+// For more details, see http://projects.hepforge.org/siscone //
+// //
+// Copyright (c) 2006 Gavin Salam and Gregory Soyez //
+// //
+// This program is free software; you can redistribute it and/or modify //
+// it under the terms of the GNU General Public License as published by //
+// the Free Software Foundation; either version 2 of the License, or //
+// (at your option) any later version. //
+// //
+// This program is distributed in the hope that it will be useful, //
+// but WITHOUT ANY WARRANTY; without even the implied warranty of //
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
+// GNU General Public License for more details. //
+// //
+// You should have received a copy of the GNU General Public License //
+// along with this program; if not, write to the Free Software //
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
+// //
+// $Revision:: $//
+// $Date:: $//
+///////////////////////////////////////////////////////////////////////////////
+
+#include "geom_2d.h"
+#include <algorithm>
+
+namespace siscone{
+
+#define PHI_RANGE_MASK 0xFFFFFFFF
+
+/*********************************************************
+ * class Ceta_phi_range implementation *
+ * class for holding a covering range in eta-phi *
+ * *
+ * This class deals with ranges in the eta-phi plane. It *
+ * implements methods to test if two ranges overlap and *
+ * to take the union of two overlapping intervals. *
+ *********************************************************/
+
+using namespace std;
+
+// static member default init
+//----------------------------
+double Ceta_phi_range::eta_min = -100.0;
+double Ceta_phi_range::eta_max = 100.0;
+
+// default ctor
+//--------------
+Ceta_phi_range::Ceta_phi_range(){
+ eta_range = 0;
+ phi_range = 0;
+}
+
+// ctor with initialisation
+// we initialise with a centre (in eta,phi) and a radius
+// - c_eta eta coordinate of the centre
+// - c_phi phi coordinate of the centre
+// - R radius
+//-------------------------------------------------------
+Ceta_phi_range::Ceta_phi_range(double c_eta, double c_phi, double R){
+ // determination of the eta range
+ //-------------------------------
+ double xmin = max(c_eta-R,eta_min+0.0001);
+ double xmax = min(c_eta+R,eta_max-0.0001);
+
+ unsigned int cell_min = get_eta_cell(xmin);
+ unsigned int cell_max = get_eta_cell(xmax);
+
+ // warning: if cell_max==2^31, 2*cell_max==0 hence,
+ // even if the next formula is formally (2*cell_max-cell_min),
+ // expressing it as (cell_max-cell_min)+cell_max is safe.
+ eta_range = (cell_max-cell_min)+cell_max;
+
+ // determination of the phi range
+ // !! taking care of periodicity !!
+ //---------------------------------
+ xmin = phi_in_range(c_phi-R);
+ xmax = phi_in_range(c_phi+R);
+
+ cell_min = get_phi_cell(xmin);
+ cell_max = get_phi_cell(xmax);
+
+ // Also, if the interval goes through pi, inversion is needed
+ if (xmax>xmin)
+ phi_range = (cell_max-cell_min)+cell_max;
+ else {
+ phi_range = (cell_min==cell_max)
+ ? PHI_RANGE_MASK
+ : ((PHI_RANGE_MASK^(cell_min-cell_max)) + cell_max);
+ }
+}
+
+// assignment of range
+// - r range to assign to current one
+//---------------------------------------
+Ceta_phi_range& Ceta_phi_range::operator = (const Ceta_phi_range &r){
+ eta_range = r.eta_range;
+ phi_range = r.phi_range;
+
+ return *this;
+}
+
+// add a particle to the range
+// - eta eta coordinate of the particle
+// - phi phi coordinate of the particle
+// \return 0 on success, 1 on error
+//----------------------------------------
+int Ceta_phi_range::add_particle(const double eta, const double phi){
+ // deal with the eta coordinate
+ eta_range |= get_eta_cell(eta);
+
+ // deal with the phi coordinate
+ phi_range |= get_phi_cell(phi);
+
+ return 0;
+}
+
+
+// test overlap
+// - r1 first range
+// - r2 second range
+// return true if overlap, false otherwise.
+//------------------------------------------
+bool is_range_overlap(const Ceta_phi_range &r1, const Ceta_phi_range &r2){
+ // check overlap in eta AND phi
+ return ((r1.eta_range & r2.eta_range) && (r1.phi_range & r2.phi_range));
+}
+
+// compute union
+// Note: we assume that the two intervals overlap
+// - r1 first range
+// - r2 second range
+// \return union of the two ranges
+//------------------------------------------
+const Ceta_phi_range range_union (const Ceta_phi_range &r1, const Ceta_phi_range &r2){
+ Ceta_phi_range tmp;
+
+ // compute union in eta
+ tmp.eta_range = r1.eta_range | r2.eta_range;
+
+ // compute union in phi
+ tmp.phi_range = r1.phi_range | r2.phi_range;
+
+ return tmp;
+}
+
+}
Property changes on: tags/siscone-3.0.2/siscone/geom_2d.cpp
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Date Revision
\ No newline at end of property
Index: tags/siscone-3.0.2/siscone/area.h
===================================================================
--- tags/siscone-3.0.2/siscone/area.h (revision 0)
+++ tags/siscone-3.0.2/siscone/area.h (revision 398)
@@ -0,0 +1,139 @@
+// -*- C++ -*-
+///////////////////////////////////////////////////////////////////////////////
+// File: area.h //
+// Description: header file for the computation of jet area //
+// This file is part of the SISCone project. //
+// For more details, see http://projects.hepforge.org/siscone //
+// //
+// Copyright (c) 2006 Gavin Salam and Gregory Soyez //
+// //
+// This program is free software; you can redistribute it and/or modify //
+// it under the terms of the GNU General Public License as published by //
+// the Free Software Foundation; either version 2 of the License, or //
+// (at your option) any later version. //
+// //
+// This program is distributed in the hope that it will be useful, //
+// but WITHOUT ANY WARRANTY; without even the implied warranty of //
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
+// GNU General Public License for more details. //
+// //
+// You should have received a copy of the GNU General Public License //
+// along with this program; if not, write to the Free Software //
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
+// //
+// $Revision:: 149 $//
+// $Date:: 2007-03-15 00:13:58 +0100 (Thu, 15 Mar 2007) $//
+///////////////////////////////////////////////////////////////////////////////
+
+#ifndef __SISCONE_AREA_H__
+#define __SISCONE_AREA_H__
+
+#include "momentum.h"
+#include "siscone.h"
+
+namespace siscone{
+
+/**
+ * \class Cjet_area
+ * real Jet information, including its area(s)
+ *
+ * This class contains information for one single jet.
+ * That is, first, its momentum carrying information
+ * about its centre and pT, and second, its particle
+ * contents.
+ * Compared to the Cjet class, it also includes the
+ * passive and active areas of the jet computed using
+ * the Carea class.
+ */
+class Cjet_area : public Cjet{
+ public:
+ /// default ctor
+ Cjet_area();
+
+ /// jet-initialised ctor
+ Cjet_area(Cjet &j);
+
+ /// default dtor
+ ~Cjet_area();
+
+ // area information
+ double passive_area; ///< passive area
+ double active_area; ///< active area
+};
+
+/**
+ * \class Carea
+ * class for the computation of jet areas.
+ *
+ * This is the class user should use whenever you want to compute
+ * the jet area (passive and active). .
+ * It uses the SISCone algorithm to perform the jet analysis.
+ */
+class Carea : public Csiscone{
+ public:
+ /// default ctor
+ Carea();
+
+ /// default dtor
+ ~Carea();
+
+ /**
+ * compute the jet areas from a given particle set.
+ * The parameters of this method are the ones which control the jet clustering alghorithn.
+ * Note that the pt_min is not allowed here soince the jet-area determination involves soft
+ * particles/jets and thus is used internally.
+ * \param _particles list of particles
+ * \param _radius cone radius
+ * \param _f shared energy threshold for splitting&merging
+ * \param _n_pass_max maximum number of passes (0=full search, the default)
+ * \param _split_merge_scale the scale choice for the split-merge procedure
+ * NOTE: SM_pt leads to IR unsafety for some events with momentum conservation.
+ * SM_Et is IR safe but not boost invariant and not implemented(!)
+ * SM_mt is IR safe for hadronic events, but not for decays of two
+ * back-to-back particles of identical mass
+ * SM_pttilde
+ * is always IR safe, and also boost invariant (default)
+ * \param _hard_only when this is set on, only hard jets are computed
+ * and not the purely ghosted jets (default: false)
+ * \return the number of jets (including pure-ghost ones if they are included)
+ */
+ int compute_areas(std::vector<Cmomentum> &_particles, double _radius, double _f,
+ int _n_pass_max=0, Esplit_merge_scale _split_merge_scale=SM_pttilde,
+ bool _hard_only=false);
+
+ /**
+ * compute the jet active areas from a given particle set.
+ * The parameters of this method are the ones which control the jet clustering alghorithn.
+ * Note that the pt_min is not allowed here soince the jet-area determination involves soft
+ * particles/jets and thus is used internally.
+ * See compute_areas for paramters definition.
+ * \return the number of jets (including pure-ghost ones if they are included)
+ */
+ int compute_active_areas(std::vector<Cmomentum> &_particles, double _radius, double _f,
+ int _n_pass_max=0, Esplit_merge_scale _split_merge_scale=SM_pttilde,
+ bool _hard_only=false);
+
+ /**
+ * compute the jet passive areas from a given particle set.
+ * The parameters of this method are the ones which control the jet clustering alghorithn.
+ * Note that the pt_min is not allowed here soince the jet-area determination involves soft
+ * particles/jets and thus is used internally.
+ * See compute_areas for paramters definition.
+ */
+ int compute_passive_areas(std::vector<Cmomentum> &_particles, double _radius, double _f,
+ int _n_pass_max=0, Esplit_merge_scale _split_merge_scale=SM_pttilde);
+
+ int grid_size; ///< size of the grid we add soft particles on (N_soft=(grid_size^2))
+ double grid_eta_max; ///< maximal value of eta we add soft particles on
+ double grid_shift; ///< fractional (random) displacement of the points om the grid
+
+ double pt_soft; ///< pt of the soft particles added
+ double pt_shift; ///< amplitude of the pt random shift
+ double pt_soft_min; ///< pt_min used in SM to compute passive areas
+
+ /// jets with their areas
+ std::vector<Cjet_area> jet_areas;
+};
+
+}
+#endif
Index: tags/siscone-3.0.2/siscone/ranlux.h
===================================================================
--- tags/siscone-3.0.2/siscone/ranlux.h (revision 0)
+++ tags/siscone-3.0.2/siscone/ranlux.h (revision 398)
@@ -0,0 +1,49 @@
+//! \file ranlux.h
+
+#ifndef __RANLUX_H__
+#define __RANLUX_H__
+
+/* This is a lagged fibonacci generator with skipping developed by Luescher.
+ The sequence is a series of 24-bit integers, x_n,
+
+ x_n = d_n + b_n
+
+ where d_n = x_{n-10} - x_{n-24} - c_{n-1}, b_n = 0 if d_n >= 0 and
+ b_n = 2^24 if d_n < 0, c_n = 0 if d_n >= 0 and c_n = 1 if d_n < 0,
+ where after 24 samples a group of p integers are "skipped", to
+ reduce correlations. By default p = 199, but can be increased to
+ 365.
+
+ The period of the generator is around 10^171.
+
+ From: M. Luescher, "A portable high-quality random number generator
+ for lattice field theory calculations", Computer Physics
+ Communications, 79 (1994) 100-110.
+
+ Available on the net as hep-lat/9309020 at http://xxx.lanl.gov/
+
+ See also,
+
+ F. James, "RANLUX: A Fortran implementation of the high-quality
+ pseudo-random number generator of Luscher", Computer Physics
+ Communications, 79 (1994) 111-114
+
+ Kenneth G. Hamilton, F. James, "Acceleration of RANLUX", Computer
+ Physics Communications, 101 (1997) 241-248
+
+ Kenneth G. Hamilton, "Assembler RANLUX for PCs", Computer Physics
+ Communications, 101 (1997) 249-253 */
+
+namespace siscone{
+
+/// initialize 'ranlux' generator
+void ranlux_init();
+
+/// generate random value (24 bits)
+unsigned long int ranlux_get();
+
+/// save state of the generator
+void ranlux_print_state();
+
+}
+#endif
Property changes on: tags/siscone-3.0.2/siscone/ranlux.h
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Date Rev
\ No newline at end of property
Index: tags/siscone-3.0.2/siscone/quadtree.h
===================================================================
--- tags/siscone-3.0.2/siscone/quadtree.h (revision 0)
+++ tags/siscone-3.0.2/siscone/quadtree.h (revision 398)
@@ -0,0 +1,124 @@
+// -*- C++ -*-
+///////////////////////////////////////////////////////////////////////////////
+// File: quadtree.h //
+// Description: header file for quadtree management (Cquadtree class) //
+// This file is part of the SISCone project. //
+// For more details, see http://projects.hepforge.org/siscone //
+// //
+// Copyright (c) 2006 Gavin Salam and Gregory Soyez //
+// //
+// This program is free software; you can redistribute it and/or modify //
+// it under the terms of the GNU General Public License as published by //
+// the Free Software Foundation; either version 2 of the License, or //
+// (at your option) any later version. //
+// //
+// This program is distributed in the hope that it will be useful, //
+// but WITHOUT ANY WARRANTY; without even the implied warranty of //
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
+// GNU General Public License for more details. //
+// //
+// You should have received a copy of the GNU General Public License //
+// along with this program; if not, write to the Free Software //
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
+// //
+// $Revision:: $//
+// $Date:: $//
+///////////////////////////////////////////////////////////////////////////////
+
+#ifndef __QUADTREE_H__
+#define __QUADTREE_H__
+
+#include "momentum.h"
+#include <stdio.h>
+
+namespace siscone{
+
+/**
+ * \class Cquadtree
+ * \brief Implementation of a 2D quadtree.
+ *
+ * This class implements the traditional two-dimensional quadtree.
+ * The elements at each node are of 'Cmomentum' type.
+ */
+class Cquadtree{
+ public:
+ /// default ctor
+ Cquadtree();
+
+ /// ctor with initialisation (see init for details)
+ Cquadtree(double _x, double _y, double _half_size_x, double _half_size_y);
+
+ /// default destructor
+ /// at destruction, everything is destroyed except
+ /// physical values at the leaves
+ ~Cquadtree();
+
+ /**
+ * init the tree.
+ * By initializing the tree, we mean setting the cell parameters
+ * and preparing the object to act as a seed for a new tree.
+ * \param _x x-position of the center
+ * \param _y y-position of the center
+ * \param _half_size_x x-size of the cell
+ * \param _half_size_y y-size of the cell
+ * \return 0 on success, 1 on error. Note that if the cell or its
+ * parent is already filled, we return an error.
+ */
+ int init(double _x, double _y, double _half_size_x, double _half_size_y);
+
+ /**
+ * adding a particle to the tree.
+ * This method adds one vector to the quadtree structure which
+ * is updated consequently.
+ * \param v_add vector to add
+ * \return 0 on success 1 on error
+ */
+ int add(Cmomentum *v_add);
+
+ /**
+ * circle intersection.
+ * computes the intersection with a circle of given centre and radius.
+ * The output takes the form of a quadtree with all squares included
+ * in the circle.
+ * \param cx circle centre x coordinate
+ * \param cy circle centre y coordinate
+ * \param cR2 circle radius SQUARED
+ * \return the checksum for that intersection
+ */
+ Creference circle_intersect(double cx, double cy, double cR2);
+
+ /**
+ * output a data file for drawing the grid.
+ * This can be used to output a data file containing all the
+ * grid subdivisions. The file contents is as follows:
+ * first and second columns give center of the cell, the third
+ * gives the size.
+ * \param flux opened stream to write to
+ * \return 0 on success, 1 on error
+ */
+ int save(FILE *flux);
+
+ /**
+ * output a data file for drawing the tree leaves.
+ * This can be used to output a data file containing all the
+ * tree leaves. The file contents is as follows:
+ * first and second columns give center of the cell, the third
+ * gives the size.
+ * \param flux opened stream to write to
+ * \return 0 on success, 1 on error
+ */
+ int save_leaves(FILE *flux);
+
+ double centre_x; ///< x-position of the centre of the cell
+ double centre_y; ///< y-position of the centre of the cell
+ double half_size_x; ///< HALF size of the cell
+ double half_size_y; ///< HALF size of the cell
+
+ Cmomentum *v; ///< physical contents
+
+ Cquadtree* children[2][2]; ///< sub-cells ( 0,1->left-right; 0,1->bottom,top)
+ bool has_child; ///< true if not a leaf
+};
+
+}
+#endif
Property changes on: tags/siscone-3.0.2/siscone/quadtree.h
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Date Rev
\ No newline at end of property
Index: tags/siscone-3.0.2/siscone/split_merge.h
===================================================================
--- tags/siscone-3.0.2/siscone/split_merge.h (revision 0)
+++ tags/siscone-3.0.2/siscone/split_merge.h (revision 398)
@@ -0,0 +1,476 @@
+// -*- C++ -*-
+///////////////////////////////////////////////////////////////////////////////
+// File: split_merge.h //
+// Description: header file for splitting/merging (contains the CJet class) //
+// This file is part of the SISCone project. //
+// For more details, see http://projects.hepforge.org/siscone //
+// //
+// Copyright (c) 2006 Gavin Salam and Gregory Soyez //
+// //
+// This program is free software; you can redistribute it and/or modify //
+// it under the terms of the GNU General Public License as published by //
+// the Free Software Foundation; either version 2 of the License, or //
+// (at your option) any later version. //
+// //
+// This program is distributed in the hope that it will be useful, //
+// but WITHOUT ANY WARRANTY; without even the implied warranty of //
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
+// GNU General Public License for more details. //
+// //
+// You should have received a copy of the GNU General Public License //
+// along with this program; if not, write to the Free Software //
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
+// //
+// $Revision:: $//
+// $Date:: $//
+///////////////////////////////////////////////////////////////////////////////
+
+#ifndef __SPLIT_MERGE_H__
+#define __SPLIT_MERGE_H__
+
+#include "defines.h"
+#include "geom_2d.h"
+#include "momentum.h"
+#include <stdio.h>
+#include <vector>
+#include <set>
+#include <memory>
+#include <string>
+
+namespace siscone{
+
+const int CJET_INEXISTENT_PASS = -2;
+
+/**
+ * \class Cjet
+ * real Jet information.
+ *
+ * This class contains information for one single jet.
+ * That is, first, its momentum carrying information
+ * about its centre and pT, and second, its particle
+ * contents
+ */
+class Cjet{
+ public:
+ /// default ctor
+ Cjet();
+
+ /// default dtor
+ ~Cjet();
+
+ Cmomentum v; ///< jet momentum
+ double pt_tilde; ///< p-scheme pt
+ int n; ///< number of particles inside
+ std::vector<int> contents; ///< particle contents (list of indices)
+
+ /// ordering variable used for ordering and overlap in the
+ /// split--merge. This variable is automatically set either to
+ /// pt_tilde, or to mt or to pt, depending on the siscone
+ /// parameter. Note that the default behaviour is pt_tilde and that
+ /// other chices may lead to infrared unsafe situations.
+ /// Note: we use the square of the varible rather than the variable itself
+ double sm_var2;
+
+ /// covered range in eta-phi
+ Ceta_phi_range range;
+
+ /// pass at which the jet has been found
+ /// It starts at 0 (first pass), -1 means infinite rapidity
+ /// (it will be initialised to "CJET_INEXISTENT_PASS" which should
+ /// never appear after clustering)
+ int pass;
+};
+
+/// ordering of jets in pt (e.g. used in final jets ordering)
+bool jets_pt_less(const Cjet &j1, const Cjet &j2);
+
+
+/// the choices of scale variable that can be used in the split-merge
+/// step, both for ordering the protojets and for measuing their
+/// overlap; pt, Et and mt=sqrt(pt^2+m^2) are all defined in E-scheme
+/// (4-momentum) recombination; pttilde = \sum_{i\in jet} |p_{t,i}|
+///
+/// NB: if one changes the order here, one _MUST_ also change the order
+/// in the SISCone plugin
+enum Esplit_merge_scale {
+ SM_pt, ///< transverse momentum (E-scheme), IR unsafe
+ SM_Et, ///< transverse energy (E-scheme), not long. boost inv.
+ ///< original run-II choice [may not be implemented]
+ SM_mt, ///< transverse mass (E-scheme), IR safe except
+ ///< in decays of two identical narrow heavy particles
+ SM_pttilde ///< pt-scheme pt = \sum_{i in jet} |p_{ti}|, should
+ ///< be IR safe in all cases
+};
+
+/// return the name of the split-merge scale choice
+std::string split_merge_scale_name(Esplit_merge_scale sms);
+
+/**
+ * \class Csplit_merge_ptcomparison
+ * comparison of jets for split--merge ordering
+ *
+ * a class that allows us to carry out comparisons of pt of jets, using
+ * information from exact particle contents where necessary.
+ */
+class Csplit_merge_ptcomparison{
+public:
+ /// default ctor
+ Csplit_merge_ptcomparison() :
+ particles(0), split_merge_scale(SM_pttilde){};
+
+ /// return the name corresponding to the SM scale variable
+ std::string SM_scale_name() const {
+ return split_merge_scale_name(split_merge_scale);}
+
+ std::vector<Cmomentum> * particles; ///< pointer to the list of particles
+ std::vector<double> * pt; ///< pointer to the pt of the particles
+
+ /// comparison between 2 jets
+ bool operator()(const Cjet &jet1, const Cjet &jet2) const;
+
+ /**
+ * get the difference between 2 jets, calculated such that rounding
+ * errors will not affect the result even if the two jets have
+ * almost the same content (so that the difference is below the
+ * rounding errors)
+ *
+ * \param j1 first jet
+ * \param j2 second jet
+ * \param v jet1-jet2
+ * \param pt_tilde jet1-jet2 pt_tilde
+ */
+ void get_difference(const Cjet &j1, const Cjet &j2, Cmomentum *v, double *pt_tilde) const;
+
+ /// the following parameter controls the variable we're using for
+ /// the split-merge process i.e. the variable we use for
+ /// 1. ordering jet candidates;
+ /// 2. computing the overlap fraction of two candidates.
+ /// The default value uses pttile (p-scheme pt). Other alternatives are
+ /// pt, mt=sqrt(pt^2+m^2)=sqrt(E^2-pz^2) or Et.
+ /// NOTE: Modifying the default choice can have nasty effects:
+ /// - using pt leads to some IR unsafety when we have two jets,
+ /// e.g. back-to-back, with the same pt. In that case, their ordering
+ /// in pt is random and can be affected by the addition of a
+ /// soft particle. Hence, we highly recommand to keep this to
+ /// the default value i.e. to use pt only for the purpose of
+ /// investigating the IR issue
+ /// - using Et is safe but does not respect boost invariance
+ /// - using mt solves the IR unsafety issues with the pt variable
+ /// for QCD jets but the IR unsafety remains for nack-to-back
+ /// jets of unstable narrow-width particles (e.g. Higgs).
+ /// Therefore, keeping the default value is strongly advised.
+ Esplit_merge_scale split_merge_scale;
+};
+
+
+// iterator types
+/// iterator definition for the jet candidates structure
+typedef std::multiset<siscone::Cjet,Csplit_merge_ptcomparison>::iterator cjet_iterator;
+
+/// iterator definition for the jet structure
+typedef std::vector<siscone::Cjet>::iterator jet_iterator;
+
+
+
+/**
+ * \class Csplit_merge
+ * Class used to split and merge jets.
+ */
+class Csplit_merge{
+ public:
+ /// default ctor
+ Csplit_merge();
+
+ /// default dtor
+ ~Csplit_merge();
+
+
+ //////////////////////////////
+ // initialisation functions //
+ //////////////////////////////
+
+ /**
+ * initialisation function
+ * \param _particles list of particles
+ * \param protocones list of protocones (initial jet candidates)
+ * \param R2 cone radius (squared)
+ * \param ptmin minimal pT allowed for jets
+ * \return 0 on success, 1 on error
+ */
+ int init(std::vector<Cmomentum> &_particles, std::vector<Cmomentum> *protocones, double R2, double ptmin=0.0);
+
+ /**
+ * initialisation function for particle list
+ * \param _particles list of particles
+ * \return 0 on success, 1 on error
+ */
+ int init_particles(std::vector<Cmomentum> &_particles);
+
+ /**
+ * build initial list of left particles
+ */
+ int init_pleft();
+
+ /**
+ * use a pt-dependent boundary for splitting
+ * When called with true, the criterium for splitting two protojets
+ * will be to compare D1^2/kt1^2 vs. D2^2/kt2^2, the (anti-)kt-weighted
+ * distance instead of the plain distance D1^2 vs. D2^2.
+ * This can be set in order to produce more circular hard jets,
+ * with the same underlying philosophy as for the anti-kt algorithm.
+ * We thus expect a behaviour closer to the IterativeCone one.
+ * By default, we use the standard D1^2 vs. D2^2 comparison and this
+ * function is not called.
+ */
+ inline int set_pt_weighted_splitting(bool _use_pt_weighted_splitting){
+ use_pt_weighted_splitting = _use_pt_weighted_splitting;
+ return 0;
+ }
+
+ ////////////////////////
+ // cleaning functions //
+ ////////////////////////
+
+ /// partial clearance
+ int partial_clear();
+
+ /// full clearance
+ int full_clear();
+
+ ///////////////////////////////////////
+ // user-defined stable-cone ordering //
+ ///////////////////////////////////////
+
+ /// \class Cuser_scale_base
+ /// base class for user-defined ordering of stable cones
+ ///
+ /// derived classes have to implement the () operator that returns
+ /// the scale associated with a given jet.
+ class Cuser_scale_base{
+ public:
+ /// empty virtual dtor
+ virtual ~Cuser_scale_base(){}
+
+ /// the scale associated with a given jet
+ ///
+ /// "progressive removal" iteratively removes the stable cone with
+ /// the largest scale
+ virtual double operator()(const Cjet & jet) const = 0;
+
+ /// returns true when the scale associated with jet a is larger than
+ /// the scale associated with jet b
+ ///
+ /// By default this does a simple direct comparison but it can be
+ /// overloaded for higher precision [recommended if possible]
+ ///
+ /// This function assumes that a.sm_var2 and b.sm_var2 have been
+ /// correctly initialised with the signed squared output of
+ /// operator(), as is by default the case when is_larger is called
+ /// from within siscone.
+ virtual bool is_larger(const Cjet & a, const Cjet & b) const{
+ return (a.sm_var2 > b.sm_var2);
+ }
+ };
+
+ /// associate a user-defined scale to order the stable cones
+ ///
+ /// Note that this is only used in "progressive-removal mode",
+ /// e.g. in add_hardest_protocone_to_jets().
+ void set_user_scale(const Cuser_scale_base * user_scale_in){
+ _user_scale = user_scale_in;
+ }
+
+ /// return the user-defined scale (NULL if none)
+ const Cuser_scale_base * user_scale() const { return _user_scale; }
+
+
+ /////////////////////////////////
+ // main parts of the algorithm //
+ /////////////////////////////////
+
+ /**
+ * build the list 'p_uncol_hard' from p_remain by clustering
+ * collinear particles and removing particles softer than
+ * stable_cone_soft_pt2_cutoff
+ * note that thins in only used for stable-cone detection
+ * so the parent_index field is unnecessary
+ */
+ int merge_collinear_and_remove_soft();
+
+ /**
+ * add a list of protocones
+ * \param protocones list of protocones (initial jet candidates)
+ * \param R2 cone radius (squared)
+ * \param ptmin minimal pT allowed for jets
+ * \return 0 on success, 1 on error
+ */
+ int add_protocones(std::vector<Cmomentum> *protocones, double R2, double ptmin=0.0);
+
+ /**
+ * remove the hardest protocone and declare it a jet
+ * \param protocones list of protocones (initial jet candidates)
+ * \param R2 cone radius (squared)
+ * \param ptmin minimal pT allowed for jets
+ * \return 0 on success, 1 on error
+ *
+ * The list of remaining particles (and the uncollinear-hard ones)
+ * is updated.
+ */
+ int add_hardest_protocone_to_jets(std::vector<Cmomentum> *protocones, double R2, double ptmin=0.0);
+
+ /**
+ * really do the splitting and merging
+ * At the end, the vector jets is filled with the jets found.
+ * the 'contents' field of each jets contains the indices
+ * of the particles included in that jet.
+ * \param overlap_tshold threshold for splitting/merging transition
+ * \param ptmin minimal pT allowed for jets
+ * \return the number of jets is returned
+ */
+ int perform(double overlap_tshold, double ptmin=0.0);
+
+
+ //////////////////////////////
+ // save and debug functions //
+ //////////////////////////////
+
+ /// save final jets
+ /// \param flux stream to save the jet contentss
+ int save_contents(FILE *flux);
+
+ /// show jets/candidates status
+ int show();
+
+ // particle information
+ int n; ///< number of particles
+ std::vector<Cmomentum> particles; ///< list of particles
+ std::vector<double> pt; ///< list of particles' pt
+ int n_left; ///< numer of particles that does not belong to any jet
+ std::vector<Cmomentum> p_remain; ///< list of particles remaining to deal with
+ std::vector<Cmomentum> p_uncol_hard; ///< list of particles remaining with collinear clustering
+ int n_pass; ///< index of the run
+
+ /// minimal difference in squared distance between a particle and
+ /// two overlapping protojets when doing a split (useful when
+ /// testing approx. collinear safety)
+ double most_ambiguous_split;
+
+ // jets information
+ std::vector<Cjet> jets; ///< list of jets
+
+ // working entries
+ int *indices; ///< maximal size array for indices works
+ int idx_size; ///< number of elements in indices1
+
+ /// The following flag indicates that identical protocones
+ /// are to be merged automatically each time around the split-merge
+ /// loop and before anything else happens.
+ ///
+ /// This flag is only effective if ALLOW_MERGE_IDENTICAL_PROTOCONES
+ /// is set in 'defines.h'
+ /// Note that this lead to infrared-unsafety so it is disabled
+ /// by default
+ bool merge_identical_protocones;
+
+ /// member used for detailed comparisons of pt's
+ Csplit_merge_ptcomparison ptcomparison;
+
+ /// stop split--merge or progressive-removal when the squared SM_var
+ /// of the hardest protojet is below this cut-off. Note that this is
+ /// a signed square (ie SM_var*|SM_var|) to be able to handle
+ /// negative values.
+ ///
+ /// Note that the cut-off is set on the variable squared.
+ double SM_var2_hardest_cut_off;
+
+ /// pt cutoff for the particles to put in p_uncol_hard
+ /// this is meant to allow removing soft particles in the
+ /// stable-cone search.
+ ///
+ /// This is not collinear-safe so you should not use this
+ /// variable unless you really know what you are doing
+ /// Note that the cut-off is set on the variable squared.
+ double stable_cone_soft_pt2_cutoff;
+
+ private:
+ /**
+ * get the overlap between 2 jets
+ * \param j1 first jet
+ * \param j2 second jet
+ * \param v returned overlap^2 (determined by the choice of SM variable)
+ * \return true if overlapping, false if disjoint
+ */
+ bool get_overlap(const Cjet &j1, const Cjet &j2, double *v);
+
+
+ /**
+ * split the two given jets.
+ * during this procedure, the jets j1 & j2 are replaced
+ * by 2 new jets. Common particles are associted to the
+ * closest initial jet.
+ * \param it_j1 iterator of the first jet in 'candidates'
+ * \param it_j2 iterator of the second jet in 'candidates'
+ * \param j1 first jet (Cjet instance)
+ * \param j2 second jet (Cjet instance)
+ * \return true on success, false on error
+ */
+ bool split(cjet_iterator &it_j1, cjet_iterator &it_j2);
+
+ /**
+ * merge the two given jet.
+ * during this procedure, the jets j1 & j2 are replaced
+ * by 1 single jets containing both of them.
+ * \param it_j1 iterator of the first jet in 'candidates'
+ * \param it_j2 iterator of the second jet in 'candidates'
+ * \return true on success, false on error
+ */
+ bool merge(cjet_iterator &it_j1, cjet_iterator &it_j2);
+
+ /**
+ * Check whether or not a jet has to be inserted in the
+ * list of protojets. If it has, set its sm_variable and
+ * insert it to the list of protojets.
+ * \param jet jet to insert
+ */
+ bool insert(Cjet &jet);
+
+ /**
+ * given a 4-momentum and its associated pT, return the
+ * variable tht has to be used for SM
+ * \param v 4 momentum of the protojet
+ * \param pt_tilde pt_tilde of the protojet
+ */
+ double get_sm_var2(Cmomentum &v, double &pt_tilde);
+
+ // jet information
+ /// list of jet candidates
+#ifdef SISCONE_USES_UNIQUE_PTR_AS_AUTO_PTR
+ std::unique_ptr<std::multiset<Cjet,Csplit_merge_ptcomparison> > candidates;
+#else
+ std::auto_ptr<std::multiset<Cjet,Csplit_merge_ptcomparison> > candidates;
+#endif
+
+ /// minimal pt2
+ double pt_min2;
+
+ /**
+ * do we have or not to use the pt-weighted splitting
+ * (see description for set_pt_weighted_splitting)
+ * This will be false by default
+ */
+ bool use_pt_weighted_splitting;
+
+ /// use a user-defined scale to order the stable cones and jet
+ /// candidates
+ const Cuser_scale_base *_user_scale;
+
+#ifdef ALLOW_MERGE_IDENTICAL_PROTOCONES
+ /// checkxor for the candidates (to avoid having twice the same contents)
+ std::set<Creference> cand_refs;
+#endif
+};
+
+}
+
+
+#endif
Property changes on: tags/siscone-3.0.2/siscone/split_merge.h
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Date Rev
\ No newline at end of property
Index: tags/siscone-3.0.2/siscone/geom_2d.h
===================================================================
--- tags/siscone-3.0.2/siscone/geom_2d.h (revision 0)
+++ tags/siscone-3.0.2/siscone/geom_2d.h (revision 398)
@@ -0,0 +1,179 @@
+// -*- C++ -*-
+///////////////////////////////////////////////////////////////////////////////
+// File: geom_2d.h //
+// Description: header file for two-dimensional geometry tools //
+// This file is part of the SISCone project. //
+// For more details, see http://projects.hepforge.org/siscone //
+// //
+// Copyright (c) 2006 Gavin Salam and Gregory Soyez //
+// //
+// This program is free software; you can redistribute it and/or modify //
+// it under the terms of the GNU General Public License as published by //
+// the Free Software Foundation; either version 2 of the License, or //
+// (at your option) any later version. //
+// //
+// This program is distributed in the hope that it will be useful, //
+// but WITHOUT ANY WARRANTY; without even the implied warranty of //
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
+// GNU General Public License for more details. //
+// //
+// You should have received a copy of the GNU General Public License //
+// along with this program; if not, write to the Free Software //
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
+// //
+// $Revision:: $//
+// $Date:: $//
+///////////////////////////////////////////////////////////////////////////////
+
+#ifndef __GEOM_2D_H__
+#define __GEOM_2D_H__
+
+#include <iostream>
+#include <math.h>
+#include "defines.h"
+
+#ifndef M_PI
+#define M_PI 3.141592653589793238462643383279502884197
+#endif
+
+namespace siscone{
+
+/// return a result that corresponds to phi, but in the
+/// range (-pi..pi]; the result is only correct if -3pi < phi <= 3pi
+inline double phi_in_range(double phi) {
+ if (phi <= -M_PI) phi += twopi;
+ else if (phi > M_PI) phi -= twopi;
+ return phi;
+}
+
+/// return the difference between the two phi values,
+/// placed in the correct range (-pi..pi], , assuming that phi1,phi2
+/// are already in the correct range.
+inline double dphi(double phi1, double phi2) {
+ return phi_in_range(phi1-phi2);
+}
+
+
+/// return the absolute difference between the two phi values,
+/// placed in the correct range, assuming that phi1,phi2 are already
+/// in the correct range.
+inline double abs_dphi(double phi1, double phi2) {
+ double delta = fabs(phi1-phi2);
+ return delta > M_PI ? twopi-delta : delta;
+}
+
+/// return the square of the argument
+inline double pow2(double x) {return x*x;}
+
+
+/**
+ * \class Ctwovect
+ * \brief class for holding a two-vector
+ */
+class Ctwovect {
+public:
+ /// default ctor
+ Ctwovect() : x(0.0), y(0.0) {}
+
+ /// ctor with initialisation
+ /// \param _x first coordinate
+ /// \param _y second coordinate
+ Ctwovect(double _x, double _y) : x(_x), y(_y) {}
+
+ /// vector coordinates
+ double x, y;
+
+ /// norm (modulud square) of the vector
+ inline double mod2() const {return pow2(x)+pow2(y);}
+
+ /// modulus of the vector
+ inline double modulus() const {return sqrt(mod2());}
+};
+
+
+/// dot product of two 2-vectors
+/// \param a first 2-vect
+/// \param b second 2-vect
+/// \return a.b is returned
+inline double dot_product(const Ctwovect & a, const Ctwovect & b) {
+ return a.x*b.x + a.y*b.y;
+}
+
+
+/// cross product of two 2-vectors
+/// \param a first 2-vect
+/// \param b second 2-vect
+/// \return a x b is returned
+inline double cross_product(const Ctwovect & a, const Ctwovect & b) {
+ return a.x*b.y - a.y*b.x;
+}
+
+
+/**
+ * \class Ceta_phi_range
+ * \brief class for holding a covering range in eta-phi
+ *
+ * This class deals with ranges in the eta-phi plane. It
+ * implements methods to test if two ranges overlap and
+ * to take the union of two overlapping intervals.
+ */
+class Ceta_phi_range{
+public:
+ /// default ctor
+ Ceta_phi_range();
+
+ /// ctor with initialisation
+ /// we initialise with a centre (in eta,phi) and a radius
+ /// \param c_eta eta coordinate of the centre
+ /// \param c_phi phi coordinate of the centre
+ /// \param R radius
+ Ceta_phi_range(double c_eta, double c_phi, double R);
+
+ /// assignment of range
+ /// \param r range to assign to current one
+ Ceta_phi_range& operator = (const Ceta_phi_range &r);
+
+ /// add a particle to the range
+ /// \param eta eta coordinate of the particle
+ /// \param phi phi coordinate of the particle
+ /// \return 0 on success, 1 on error
+ int add_particle(const double eta, const double phi);
+
+ /// eta range as a binary coding of covered cells
+ unsigned int eta_range;
+
+ /// phi range as a binary coding of covered cells
+ unsigned int phi_range;
+
+ // extremal value for eta
+ static double eta_min; ///< minimal value for eta
+ static double eta_max; ///< maximal value for eta
+
+private:
+ /// return the cell index corrsponding to an eta value
+ inline unsigned int get_eta_cell(double eta){
+ return (unsigned int) (1 << ((int) (32*((eta-eta_min)/(eta_max-eta_min)))));
+ }
+
+ /// return the cell index corrsponding to a phi value
+ inline unsigned int get_phi_cell(double phi){
+ return (unsigned int) (1 << ((int) (32*phi/twopi+16)%32));
+ }
+};
+
+/// test overlap
+/// \param r1 first range
+/// \param r2 second range
+/// \return true if overlap, false otherwise.
+bool is_range_overlap(const Ceta_phi_range &r1, const Ceta_phi_range &r2);
+
+/// compute union
+/// Note: we assume that the two intervals overlap
+/// \param r1 first range
+/// \param r2 second range
+/// \return union of the two ranges
+const Ceta_phi_range range_union(const Ceta_phi_range &r1, const Ceta_phi_range &r2);
+
+}
+
+#endif
Property changes on: tags/siscone-3.0.2/siscone/geom_2d.h
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Date Revision
\ No newline at end of property
Index: tags/siscone-3.0.2/siscone/siscone_error.h
===================================================================
--- tags/siscone-3.0.2/siscone/siscone_error.h (revision 0)
+++ tags/siscone-3.0.2/siscone/siscone_error.h (revision 398)
@@ -0,0 +1,64 @@
+// -*- C++ -*-
+///////////////////////////////////////////////////////////////////////////////
+// File: siscone_error.h //
+// Description: header file for SISCone error messages (Csiscone_error) //
+// This file is part of the SISCone project. //
+// For more details, see http://projects.hepforge.org/siscone //
+// //
+// Copyright (c) 2006 Gavin Salam and Gregory Soyez //
+// //
+// This program is free software; you can redistribute it and/or modify //
+// it under the terms of the GNU General Public License as published by //
+// the Free Software Foundation; either version 2 of the License, or //
+// (at your option) any later version. //
+// //
+// This program is distributed in the hope that it will be useful, //
+// but WITHOUT ANY WARRANTY; without even the implied warranty of //
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
+// GNU General Public License for more details. //
+// //
+// You should have received a copy of the GNU General Public License //
+// along with this program; if not, write to the Free Software //
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
+// //
+// $Revision:: $//
+// $Date:: $//
+///////////////////////////////////////////////////////////////////////////////
+
+#ifndef __SISCONE_ERROR_H__
+#define __SISCONE_ERROR_H__
+
+#include<iostream>
+#include<string>
+
+namespace siscone{
+
+/// \class Csiscone_error
+/// class corresponding to errors that will be thrown by siscone
+class Csiscone_error {
+public:
+ /// default ctor
+ Csiscone_error() {;};
+
+ /// ctor with a given error message
+ /// \param message_in the error message to be printed
+ Csiscone_error(const std::string & message_in) {
+ m_message = message_in;
+ if (m_print_errors) std::cerr << "siscone::Csiscone_error: "<< message_in << std::endl;
+ };
+
+ /// access to the error message
+ std::string message() const {return m_message;};
+
+ /// switch on/off the error message printing
+ /// \param print_errors errors will be printed when true
+ static void setm_print_errors(bool print_errors) {
+ m_print_errors = print_errors;};
+
+private:
+ std::string m_message; ///< the error message
+ static bool m_print_errors; ///< do we print error messages?
+};
+
+}
+#endif
Property changes on: tags/siscone-3.0.2/siscone/siscone_error.h
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Date Rev
\ No newline at end of property
Index: tags/siscone-3.0.2/siscone/makefile.static
===================================================================
--- tags/siscone-3.0.2/siscone/makefile.static (revision 0)
+++ tags/siscone-3.0.2/siscone/makefile.static (revision 398)
@@ -0,0 +1,58 @@
+SUBDIRS = spherical
+CC = g++
+LIBOUT = libsiscone.a
+CFLAGS = -Wall -g -O3 -ffast-math
+
+LDFLAGS = -lm #-lprofiler -lpthread -ltcmalloc
+ifeq ($(shell whoami),salam)
+ # needed for Gavin to include tcmalloc
+ LDFLAGS += -L/ada1/lpthe/salam/software/local/lib
+endif
+
+OBJS = ranlux.o reference.o geom_2d.o momentum.o hash.o quadtree.o \
+ vicinity.o protocones.o split_merge.o siscone.o siscone_error.o area.o
+
+SRCS = $(patsubst %.o,%.cpp,$(OBJS))
+
+
+%.o: %.cpp %.h
+ $(CC) -c $(CFLAGS) $<
+
+%.o: %.cpp
+ $(CC) -c $(CFLAGS) $<
+
+all: $(OBJS) $(SUBDIRS)
+ ar cru $(LIBOUT) $(OBJS)
+ ranlib $(LIBOUT)
+
+.PHONY: clean $(SUBDIRS)
+
+clean: $(SUBDIRS)
+ rm -f *.o *~
+
+spherical:
+ @cd spherical && $(MAKE) -f makefile.static $(MAKECMDGOALS)
+
+# note the -Y option below avoids including all the standard
+# include directories (which change from one system to another)
+depend: $(SUBDIRS)
+ makedepend -f makefile.static -- -Y -- $(SRCS)
+# DO NOT DELETE
+
+ranlux.o: ranlux.h
+reference.o: reference.h ranlux.h
+geom_2d.o: geom_2d.h defines.h
+momentum.o: momentum.h reference.h geom_2d.h defines.h
+hash.o: hash.h momentum.h reference.h geom_2d.h defines.h
+quadtree.o: quadtree.h momentum.h reference.h geom_2d.h defines.h
+vicinity.o: vicinity.h momentum.h reference.h geom_2d.h defines.h quadtree.h
+protocones.o: protocones.h momentum.h reference.h geom_2d.h defines.h
+protocones.o: vicinity.h quadtree.h hash.h siscone_error.h circulator.h
+split_merge.o: split_merge.h defines.h geom_2d.h momentum.h reference.h
+split_merge.o: siscone_error.h
+siscone.o: config.h ranlux.h momentum.h reference.h geom_2d.h defines.h
+siscone.o: siscone.h protocones.h vicinity.h quadtree.h hash.h split_merge.h
+siscone.o: siscone_error.h
+siscone_error.o: siscone_error.h
+area.o: area.h momentum.h reference.h geom_2d.h defines.h siscone.h
+area.o: protocones.h vicinity.h quadtree.h hash.h split_merge.h
Index: tags/siscone-3.0.2/siscone/defines.h
===================================================================
--- tags/siscone-3.0.2/siscone/defines.h (revision 0)
+++ tags/siscone-3.0.2/siscone/defines.h (revision 398)
@@ -0,0 +1,128 @@
+// -*- C++ -*-
+///////////////////////////////////////////////////////////////////////////////
+// File: defines.h //
+// Description: header file for generic parameters definitions //
+// This file is part of the SISCone project. //
+// For more details, see http://projects.hepforge.org/siscone //
+// //
+// Copyright (c) 2006 Gavin Salam and Gregory Soyez //
+// //
+// This program is free software; you can redistribute it and/or modify //
+// it under the terms of the GNU General Public License as published by //
+// the Free Software Foundation; either version 2 of the License, or //
+// (at your option) any later version. //
+// //
+// This program is distributed in the hope that it will be useful, //
+// but WITHOUT ANY WARRANTY; without even the implied warranty of //
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
+// GNU General Public License for more details. //
+// //
+// You should have received a copy of the GNU General Public License //
+// along with this program; if not, write to the Free Software //
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
+// //
+// $Revision:: $//
+// $Date:: $//
+///////////////////////////////////////////////////////////////////////////////
+
+//! \file defines.h
+#ifndef __DEFINES_H__
+#define __DEFINES_H__
+
+/// program name
+// we get "SISCone" by calling
+// siscone::siscone_package_name
+// defined in siscone.h
+// Otherwise, config.h
+// It is also defined as "PACKAGE_NAME" in config.h but this method
+// might lead to conflicts
+//#define PROGRAM PACKAGE_NAME
+
+// program version
+// we get it from
+// siscone::siscone_version
+// defined in siscone.h
+// It is also defined as "VERSION" in config.h but this method
+// might lead to conflicts
+
+/// perform final stability check using the quadtree
+/// With the following define enabled, the final check for stability
+/// is performed using the quadtree rather than the explicit list of
+/// particles (see Cstable_cone::proceed_with_stability())
+//#define USE_QUADTREE_FOR_STABILITY_TEST
+
+
+/// threshold for recomoutation of the cone (see Cstable_cones::update_cone())
+/// When traversing cone candidates along the angular ordering,
+/// the momentum of the protojet candidate is computed incrementally
+/// from the particles that enter and leave the cone.
+/// When the cumulative change in "|px|+|py|" exceeds the cone "|px|+|py|"
+/// we explicitely recompute the cone contents
+#define PT_TSHOLD 1000.0
+
+
+/// The following parameter controls collinear safety. For the set of
+/// particles used in the search of stable cones, we gather particles
+/// if their distance in eta and phi is smaller than EPSILON_COLLINEAR.
+///
+/// NB: for things to behave sensibly one requires
+/// 1e-15 << EPSILON_COCIRCULAR << EPSILON_COLLINEAR << 1
+///
+/// among the scales that appear in practice (e.g. in deciding to use
+/// special strategies), we have EPSILON_COLLINEAR, EPSILON_COCIRCULAR,
+/// sqrt(EPSILON_COCIRCULAR) and EPSILON_COLLINEAR / EPSILON_COCIRCULAR.
+///
+#define EPSILON_COLLINEAR 1e-8
+
+
+/// The following parameter controls cocircular situations.
+/// When consecutive particles in the ordered vicinity list are separated
+/// (in angle) by less that that limit, we consider that we face a situation
+/// of cocircularity.
+#define EPSILON_COCIRCULAR 1e-12
+
+
+/// The following define enables you to allow for identical protocones
+/// to be merged automatically after each split-merge step before
+/// anything else happens. Whether this happens depends on teh value
+/// of the merge_identical_protocones flag in Csplit_merge.
+///
+/// It we allow such a merging and define allow
+/// MERGE_IDENTICAL_PROTOCONES_DEFAULT_TRUE then the
+/// 'merge_identical_protocones' flag in Csplit_merge to be set to
+/// 'true'. It may be manually reset to false in which case the
+/// merging of identical protocones (protojets) will be turned off.
+///
+/// Note that this merging identical protocones makes the algorithm
+/// infrared-unsafe, so it should be disabled except for testing
+/// purposes.
+//#define ALLOW_MERGE_IDENTICAL_PROTOCONES
+//#define MERGE_IDENTICAL_PROTOCONES_DEFAULT_TRUE
+
+
+/// if EPSILON_SPLITMERGE is defined then, during the split-merge
+/// step, when two jets are found with PTs that are identical to
+/// within a relative difference of EPSILON_SPLITMERGE they are
+/// compared element-by-element to see where the differences are, and
+/// one then uses pt1^2-pt2^2 = (pt1-pt2).(pt1+pt2) as an estimator of
+/// which is harder. NB: in unfortunate cases, this can take the split
+/// merge step up to N n * ln N time, though on normal events there
+/// don't seem to have been any major problems yet.
+#define EPSILON_SPLITMERGE 1e-12
+
+/// definition of 2*M_PI which is useful a bit everyhere!
+const double twopi = 6.283185307179586476925286766559005768394;
+
+/// debugging information
+//#define DEBUG_STABLE_CONES ///< debug messages in stable cones search
+//#define DEBUG_SPLIT_MERGE ///< debug messages in split-merge
+//#define DEBUG ///< all debug messages !
+
+// in case all debug massages allowed, allow them in practice !
+#ifdef DEBUG
+#define DEBUG_STABLE_CONES
+#define DEBUG_SPLIT_MERGE
+#endif
+
+#endif // __DEFINES_H__
+
Property changes on: tags/siscone-3.0.2/siscone/defines.h
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Date Rev
\ No newline at end of property
Index: tags/siscone-3.0.2/siscone/hash.cpp
===================================================================
--- tags/siscone-3.0.2/siscone/hash.cpp (revision 0)
+++ tags/siscone-3.0.2/siscone/hash.cpp (revision 398)
@@ -0,0 +1,230 @@
+///////////////////////////////////////////////////////////////////////////////
+// File: hash.cpp //
+// Description: source file for classes hash_element and hash_cones //
+// This file is part of the SISCone project. //
+// For more details, see http://projects.hepforge.org/siscone //
+// //
+// Copyright (c) 2006 Gavin Salam and Gregory Soyez //
+// //
+// This program is free software; you can redistribute it and/or modify //
+// it under the terms of the GNU General Public License as published by //
+// the Free Software Foundation; either version 2 of the License, or //
+// (at your option) any later version. //
+// //
+// This program is distributed in the hope that it will be useful, //
+// but WITHOUT ANY WARRANTY; without even the implied warranty of //
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
+// GNU General Public License for more details. //
+// //
+// You should have received a copy of the GNU General Public License //
+// along with this program; if not, write to the Free Software //
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
+// //
+// $Revision:: $//
+// $Date:: $//
+///////////////////////////////////////////////////////////////////////////////
+
+#include <math.h>
+#include <stdio.h>
+#include "hash.h"
+#include <iostream>
+
+namespace siscone{
+
+using namespace std;
+
+/**************************************************************
+ * implementation of hash_cones *
+ * list of cones candidates. *
+ * We store in this class all the hash_elements and give *
+ * functions to manipulate them. *
+ **************************************************************/
+
+// constructor with initialisation
+// - _Np number of particles
+// - _R2 cone radius (squared)
+//-----------------------------------
+hash_cones::hash_cones(int _Np, double _R2){
+ int i;
+
+ n_cones = 0;
+#ifdef DEBUG_STABLE_CONES
+ n_occupied_cells = 0;
+#endif
+
+ // determine hash size
+ // for a ymax=5 and R=0.7, we observed an occupancy around 1/8 N^2 ~ N2 R2/4
+ //mask = 1 << (int) (2*log(double(_Np))/log(2.0));
+ //if (mask<=1) mask=2;
+ int nbits = (int) (log(_Np*_R2*_Np/4.0)/log(2.0));
+ if (nbits<1) nbits=1;
+ mask = 1 << nbits;
+
+ // create hash
+ hash_array = new hash_element*[mask];
+ mask--;
+
+ // set the array to 0
+ //? needed ?
+ for (i=0;i<mask+1;i++)
+ hash_array[i] = NULL;
+
+ R2 = _R2;
+}
+
+// destructor
+//------------
+hash_cones::~hash_cones(){
+ int i;
+ hash_element *elm;
+
+ for (i=0;i<mask+1;i++){
+ while (hash_array[i]!=NULL){
+ elm = hash_array[i];
+ hash_array[i] = hash_array[i]->next;
+ delete elm;
+ }
+ }
+
+ delete[] hash_array;
+}
+
+
+/*
+ * insert a new candidate into the hash.
+ * - v 4-momentum of the cone to add
+ * - parent parent particle defining the cone
+ * - child child particle defining the cone
+ * - p_io whether the parent has to belong to the cone or not
+ * - c_io whether the child has to belong to the cone or not
+ * return 0 on success, 1 on error
+ ***********************************************************************/
+int hash_cones::insert(Cmomentum *v, Cmomentum *parent, Cmomentum *child, bool p_io, bool c_io){
+ hash_element *elm;
+ int index = (v->ref.ref[0]) & mask;
+
+ // check the array cell corresponding to our reference
+ elm = hash_array[index];
+
+#ifdef DEBUG_STABLE_CONES
+ if (elm==NULL)
+ n_occupied_cells++;
+#endif
+
+ do{
+ // if it is not present, add it
+ if (elm==NULL){
+ // create element
+ elm = new hash_element;
+
+ // set its varibles
+ // Note: at this level, eta and phi have already been computed
+ // through Cmomentum::build_etaphi.
+ elm->ref = v->ref;
+
+ //compute vectors centre
+ v->build_etaphi();
+ elm->eta = v->eta;
+ elm->phi = v->phi;
+ // if at least one of the two is_inside tests gives a result != from the expected,
+ // the || will be true hence !(...) false as wanted
+ elm->is_stable = !((is_inside(v, parent)^p_io)||(is_inside(v, child)^c_io));
+ //cout << "-- new status of " << v->ref[0] << ":" << elm->is_stable << endl;
+
+ // update hash
+ elm->next = hash_array[index];
+ hash_array[index] = elm;
+
+ n_cones++;
+ return 0;
+ }
+
+ // if the cone is already there, simply update stability status
+ if (v->ref == elm->ref){
+ // there is only an update to perform to see if the cone is still stable
+ if (elm->is_stable){
+ v->build_etaphi();
+ elm->is_stable = !((is_inside(v, parent)^p_io)||(is_inside(v, child)^c_io));
+ //cout << " parent/child: "
+ // << parent->ref[0] << ":" << is_inside(v, parent) << ":" << p_io << " "
+ // << child->ref[0] << ":" << is_inside(v, child) << ":" << c_io << endl;
+ //cout << "-- rep status of " << v->ref[0] << ":" << elm->is_stable << endl;
+ //cout << v->eta << " " << v->phi << endl;
+ //cout << (child->eta) << " " << child->phi << endl;
+ }
+ return 0;
+ }
+
+ elm = elm->next;
+ } while (1);
+
+ return 1;
+}
+
+/*
+ * insert a new candidate into the hash.
+ * - v 4-momentum of te cone to add
+ * Note, in this case, we assume stability. We also assume
+ * that eta and phi are computed for v
+ * return 0 on success, 1 on error
+ ***********************************************************************/
+int hash_cones::insert(Cmomentum *v){
+ hash_element *elm;
+ int index = (v->ref.ref[0]) & mask;
+ //cout << "-- stable candidate: " << v->ref[0] << ":" << endl;
+
+ // check the array cell corresponding to our reference
+ elm = hash_array[index];
+ do{
+ // if it is not present, add it
+ if (elm==NULL){
+ // create element
+ elm = new hash_element;
+
+ // set its varibles
+ // Note: at this level, eta and phi have already been computed
+ // through Cmomentum::build_etaphi.
+ elm->ref = v->ref;
+ elm->eta = v->eta;
+ elm->phi = v->phi;
+ elm->is_stable = true;
+
+ // update hash
+ elm->next = hash_array[index];
+ hash_array[index] = elm;
+
+ n_cones++;
+ return 0;
+ }
+
+ // if the cone is already there, we have nothing to do
+ if (v->ref == elm->ref){
+ return 0;
+ }
+
+ elm = elm->next;
+ } while (1);
+
+ return 1;
+}
+
+/*
+ * test if a particle is inside a cone of given centre.
+ * check if the particle of coordinates 'v' is inside the circle of radius R
+ * centered at 'centre'.
+ * - centre centre of the circle
+ * - v particle to test
+ * return true if inside, false if outside
+ ******************************************************************************/
+inline bool hash_cones::is_inside(Cmomentum *centre, Cmomentum *v){
+ double dx, dy;
+
+ dx = centre->eta - v->eta;
+ dy = fabs(centre->phi - v->phi);
+ if (dy>M_PI)
+ dy -= 2.0*M_PI;
+
+ return dx*dx+dy*dy<R2;
+}
+
+}
Property changes on: tags/siscone-3.0.2/siscone/hash.cpp
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Date Rev
\ No newline at end of property
Index: tags/siscone-3.0.2/siscone
===================================================================
--- tags/siscone-3.0.2/siscone (revision 397)
+++ tags/siscone-3.0.2/siscone (revision 398)
Property changes on: tags/siscone-3.0.2/siscone
___________________________________________________________________
Added: svn:ignore
## -0,0 +1,13 ##
+libsiscone.a
+
+Makefile.in
+
+.deps
+
+Makefile
+
+stamp-h1
+
+config.h
+
+.libs
Index: tags/siscone-3.0.2/makefile.static
===================================================================
--- tags/siscone-3.0.2/makefile.static (revision 0)
+++ tags/siscone-3.0.2/makefile.static (revision 398)
@@ -0,0 +1,34 @@
+SUBDIRS = siscone examples
+DISTFILES = AUTHORS BUGS COPYING ChangeLog INSTALL NEWS README TODO Doxyfile \
+makefile.static siscone/makefile.static examples/makefile.static \
+configure.ac Makefile.am siscone/Makefile.am examples/Makefile.am \
+config.h.in siscone/*.cpp siscone/*.h \
+examples/events/*.dat examples/mem_check examples/*.h examples/*.cpp
+VERSION = `head -1 configure.ac | sed -e"s/AC_INIT(\[SISCone\], \[//;s/\])//"`
+TARDIR = siscone-$(VERSION)
+
+all: config $(SUBDIRS)
+
+.PHONY: clean $(SUBDIRS)
+
+clean: $(SUBDIRS)
+ rm *~
+
+depend: $(SUBDIRS)
+
+config:
+ @echo "Creating the configuration file"
+ sed -e "s/#undef PACKAGE_NAME/#define PACKAGE_NAME \"SISCone\"/;s/#undef VERSION/#define VERSION \"$(VERSION)\"/" config.h.in > siscone/config.h
+
+siscone:
+ @cd siscone && $(MAKE) -f makefile.static $(MAKECMDGOALS)
+
+examples:
+ @cd examples && $(MAKE) -f makefile.static $(MAKECMDGOALS)
+
+dist:
+ mkdir $(TARDIR)
+ cp -R -t $(TARDIR) --parents $(DISTFILES)
+ tar -czf $(TARDIR)_noautoconf.tar.gz $(TARDIR)
+# chmod a-w $(TARDIR).tar.gz
+ rm -Rf $(TARDIR)
Index: tags/siscone-3.0.2/configure.ac
===================================================================
--- tags/siscone-3.0.2/configure.ac (revision 0)
+++ tags/siscone-3.0.2/configure.ac (revision 398)
@@ -0,0 +1,95 @@
+AC_INIT([SISCone], [3.0.2])
+AC_CONFIG_SRCDIR([siscone/siscone.cpp])
+AM_INIT_AUTOMAKE
+dnl uncomment the following line if you want to use autoheader
+AC_CONFIG_HEADERS(siscone/config.h:config.h.in)
+dnl and also uncomment the call to autoheader in autogen.sh
+
+dnl check autoconf version
+AC_PREREQ(2.63)
+
+dnl check basic types
+AC_CHECK_TYPE(int)
+AC_CHECK_TYPE(long)
+
+dnl set default compilation and link flags
+dnl those can be changed at configure time so we don't use AM_CXXFLAGS here
+test "x${CXXFLAGS+yes}" = xyes || CXXFLAGS="-O3 -Wall -ffast-math"
+dnl CXXFLAGS=" -Wall -O3 -ffast-math "
+
+dnl check useful programs
+AC_PROG_CXX
+AC_PROG_INSTALL
+AC_PROG_LN_S
+AC_PROG_MAKE_SET
+
+dnl check standard C headers
+AC_STDC_HEADERS
+
+dnl set the default destination directory
+AC_PREFIX_DEFAULT(/usr/local)
+
+dnl if the debug flag is set, build with -g
+dnl default is "yes"
+AC_ARG_ENABLE(debug,
+ [ --enable-debug Turn on debug compiler information],
+ [ENABLE_DEBUG_FLAG="$enableval"],
+ [ENABLE_DEBUG_FLAG="yes"])
+if [[ "x$ENABLE_DEBUG_FLAG" == "xyes" ]] ; then
+ CXXFLAGS=${CXXFLAGS}" -g "
+fi
+
+dnl uncomment the next line not to build the shared lib by default
+dnl AM_DISABLE_SHARED
+
+dnl-----------------
+dnl check libraries
+dnl ----------------
+
+dnl math lib
+AC_CHECK_LIB(m, cos)
+dnl already included into LIBS by the previous check
+dnl AM_LDFLAGS=" -lm "
+
+dnl if the debug flags are on, check if we can also use
+dnl some profiling tools
+dnl COMMENTED: Pass LDFLAGS to configure instead
+dnl if [[ "x$ENABLE_DEBUG_FLAG" == "xyes" ]] ; then
+dnl AC_CHECK_LIB(profiler, google_initializer_module_profiler)
+dnl AC_CHECK_LIB(pthread, pthread_create)
+dnl AC_CHECK_LIB(tcmalloc, malloc)
+dnl fi
+
+dnl enable libtool
+AC_PROG_LIBTOOL
+
+dnl chceck if auto_ptr is deprecated
+dnl if yes, see if unique_ptr is supported
+AC_MSG_CHECKING([[if $CXX $CXXFLAGS considers atd::auto_ptr as deprecated]])
+AC_LANG_PUSH(C++)
+save_CXXFLAGS="$CXXFLAGS"
+CXXFLAGS="$CXXFLAGS -Werror=deprecated-declarations"
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <memory>]],[[int *a= new int(1); std::auto_ptr<int> b; b.reset(a);]])],
+ [ac_compilation_deprecated="no"],[ac_compilation_deprecated="yes"])
+AC_MSG_RESULT([$ac_compilation_deprecated])
+if [[ "$ac_compilation_deprecated" == "yes" ]] ; then
+ AC_MSG_CHECKING([[if $CXX $CXXFLAGS supports atd::unique_ptr]])
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <memory>]],[[int *a= new int(1); std::unique_ptr<int> b; b.reset(a);]])],
+ [ac_supports_unique_ptr="yes"],[as_supports_unique_ptr="no"])
+ if [[ "$ac_supports_unique_ptr" == "yes" ]] ; then
+
+ dnl it is tempting to define something in the config.h header
+ dnl but it is only used internally (to avoid unleashing things
+ dnl like PACKAGE_NAME in the public interface
+ dnl AC_DEFINE(HAVE_UNIQUE_PTR_AS_AUTO_PTR, [], [use unique_ptr instead of auto_ptr])
+ dnl So we go via the compiler flags
+ save_CXXFLAGS="$save_CXXFLAGS -DSISCONE_USES_UNIQUE_PTR_AS_AUTO_PTR"
+ fi
+ AC_MSG_RESULT([$ac_supports_unique_ptr])
+
+fi
+CXXFLAGS="$save_CXXFLAGS"
+AC_LANG_POP(C++)
+
+
+AC_OUTPUT( Makefile siscone/Makefile siscone/spherical/Makefile examples/Makefile examples/events/Makefile )
Index: tags/siscone-3.0.2/TODO
===================================================================
--- tags/siscone-3.0.2/TODO (revision 0)
+++ tags/siscone-3.0.2/TODO (revision 398)
@@ -0,0 +1,2 @@
+//!\file TODO
+
Index: tags/siscone-3.0.2/doc/devel/html/footer.html
===================================================================
--- tags/siscone-3.0.2/doc/devel/html/footer.html (revision 0)
+++ tags/siscone-3.0.2/doc/devel/html/footer.html (revision 398)
@@ -0,0 +1,13 @@
+<hr size="1"><address style="align: right;"><small>
+The <a href="http://projects.hepforge.org/siscone" target="_top">
+SISCone</a> project has been developed by
+<a href="http://www.lpthe.jussieu.fr/~salam" target="_top">
+Gavin Salam</a> and
+<a href="http://www.theo.phys.ulg.ac.be/~soyez" target="_top">
+Gregory Soyez</a><br>
+Documentation generated on $datetime for $projectname by&nbsp;
+<a href="http://www.doxygen.org/index.html">Doxygen</a> $doxygenversion
+</small>
+</address>
+</body>
+</html>
Index: tags/siscone-3.0.2/doc/html/etilde.jpg
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: tags/siscone-3.0.2/doc/html/etilde.jpg
===================================================================
--- tags/siscone-3.0.2/doc/html/etilde.jpg (revision 397)
+++ tags/siscone-3.0.2/doc/html/etilde.jpg (revision 398)
Property changes on: tags/siscone-3.0.2/doc/html/etilde.jpg
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/siscone-3.0.2/doc/html/style.css
===================================================================
--- tags/siscone-3.0.2/doc/html/style.css (revision 0)
+++ tags/siscone-3.0.2/doc/html/style.css (revision 398)
@@ -0,0 +1,319 @@
+BODY,H1,H2,H3,H4,H5,H6,P,CENTER,TD,TH,UL,DL,DIV {
+ font-family: Geneva, Arial, Helvetica, sans-serif;
+}
+BODY,TD {
+ font-size: 100%;
+}
+H1 {
+ text-align: center;
+ font-size: 160%;
+}
+H2 {
+ font-size: 140%;
+}
+H3 {
+ font-size: 100%;
+}
+CAPTION { font-weight: bold }
+DIV.qindex {
+ width: 100%;
+ background-color: #e8eef2;
+ border: 1px solid #84b0c7;
+ text-align: center;
+ margin: 2px;
+ padding: 2px;
+ line-height: 140%;
+}
+DIV.nav {
+ width: 100%;
+ background-color: #e8eef2;
+ border: 1px solid #84b0c7;
+ text-align: center;
+ margin: 2px;
+ padding: 2px;
+ line-height: 140%;
+}
+DIV.navtab {
+ background-color: #e8eef2;
+ border: 1px solid #84b0c7;
+ text-align: center;
+ margin: 2px;
+ margin-right: 15px;
+ padding: 2px;
+}
+TD.navtab {
+ font-size: 70%;
+}
+A.qindex {
+ text-decoration: none;
+ font-weight: bold;
+ color: #1A419D;
+}
+A.qindex:visited {
+ text-decoration: none;
+ font-weight: bold;
+ color: #1A419D
+}
+A.qindex:hover {
+ text-decoration: none;
+ background-color: #ddddff;
+}
+A.qindexHL {
+ text-decoration: none;
+ font-weight: bold;
+ background-color: #6666cc;
+ color: #ffffff;
+ border: 1px double #9295C2;
+}
+A.qindexHL:hover {
+ text-decoration: none;
+ background-color: #6666cc;
+ color: #ffffff;
+}
+A.qindexHL:visited { text-decoration: none; background-color: #6666cc; color: #ffffff }
+A.el { text-decoration: none; font-weight: bold }
+A.elRef { font-weight: bold }
+A.code:link { text-decoration: none; font-weight: normal; color: #0000FF}
+A.code:visited { text-decoration: none; font-weight: normal; color: #0000FF}
+A.codeRef:link { font-weight: normal; color: #0000FF}
+A.codeRef:visited { font-weight: normal; color: #0000FF}
+A:hover { text-decoration: none; background-color: #f2f2ff }
+DL.el { margin-left: -1cm }
+.fragment {
+ font-family: Fixed, monospace;
+ font-size: 95%;
+}
+PRE.fragment {
+ border: 0px solid #CCCCCC;
+ background-color: #CCCCFF;
+ margin-top: 4px;
+ margin-bottom: 4px;
+ margin-left: 2px;
+ margin-right: 8px;
+ padding-left: 6px;
+ padding-right: 6px;
+ padding-top: 4px;
+ padding-bottom: 4px;
+}
+DIV.ah { background-color: black; font-weight: bold; color: #ffffff; margin-bottom: 3px; margin-top: 3px }
+TD.md { background-color: #F4F4FB; font-weight: bold; }
+TD.mdPrefix {
+ background-color: #F4F4FB;
+ color: #606060;
+ font-size: 80%;
+}
+TD.mdname1 { background-color: #F4F4FB; font-weight: bold; color: #602020; }
+TD.mdname { background-color: #F4F4FB; font-weight: bold; color: #602020; width: 600px; }
+DIV.groupHeader {
+ margin-left: 16px;
+ margin-top: 12px;
+ margin-bottom: 6px;
+ font-weight: bold;
+}
+DIV.groupText { margin-left: 16px; font-style: italic; font-size: 90% }
+BODY {
+ background: white;
+# background-image: url("sc.jpg");
+ background-color: #FFFFFF;
+ background-repeat: repeat-y;
+ background-position: top center;
+ color: black;
+ margin-right: 20px;
+ margin-left: 20px;
+}
+TD.indexkey {
+ background-color: #e8eef2;
+ font-weight: bold;
+ padding-right : 10px;
+ padding-top : 2px;
+ padding-left : 10px;
+ padding-bottom : 2px;
+ margin-left : 0px;
+ margin-right : 0px;
+ margin-top : 2px;
+ margin-bottom : 2px;
+ border: 1px solid #CCCCCC;
+}
+TD.indexvalue {
+ background-color: #e8eef2;
+ font-style: italic;
+ padding-right : 10px;
+ padding-top : 2px;
+ padding-left : 10px;
+ padding-bottom : 2px;
+ margin-left : 0px;
+ margin-right : 0px;
+ margin-top : 2px;
+ margin-bottom : 2px;
+ border: 1px solid #CCCCCC;
+}
+TR.memlist {
+ background-color: #f0f0f0;
+}
+P.formulaDsp { text-align: center; }
+IMG.formulaDsp { }
+IMG.formulaInl { vertical-align: middle; }
+SPAN.keyword { color: #008000 }
+SPAN.keywordtype { color: #604020 }
+SPAN.keywordflow { color: #e08000 }
+SPAN.comment { color: #800000 }
+SPAN.preprocessor { color: #806020 }
+SPAN.stringliteral { color: #002080 }
+SPAN.charliteral { color: #008080 }
+TABLE.code {
+ border: 1px solid #0000FF;
+ background-color: #CCCCFF;
+ width: 100%
+}
+.mdTable {
+ border: 1px solid #868686;
+ background-color: #F4F4FB;
+}
+.mdRow {
+ padding: 8px 10px;
+}
+.mdescLeft {
+ padding: 0px 8px 4px 8px;
+ font-size: 80%;
+ font-style: italic;
+ background-color: #FAFAFA;
+ border-top: 1px none #E0E0E0;
+ border-right: 1px none #E0E0E0;
+ border-bottom: 1px none #E0E0E0;
+ border-left: 1px none #E0E0E0;
+ margin: 0px;
+}
+.mdescRight {
+ padding: 0px 8px 4px 8px;
+ font-size: 80%;
+ font-style: italic;
+ background-color: #FAFAFA;
+ border-top: 1px none #E0E0E0;
+ border-right: 1px none #E0E0E0;
+ border-bottom: 1px none #E0E0E0;
+ border-left: 1px none #E0E0E0;
+ margin: 0px;
+}
+.memItemLeft {
+ padding: 1px 0px 0px 8px;
+ margin: 4px;
+ border-top-width: 1px;
+ border-right-width: 1px;
+ border-bottom-width: 1px;
+ border-left-width: 1px;
+ border-top-color: #E0E0E0;
+ border-right-color: #E0E0E0;
+ border-bottom-color: #E0E0E0;
+ border-left-color: #E0E0E0;
+ border-top-style: solid;
+ border-right-style: none;
+ border-bottom-style: none;
+ border-left-style: none;
+ background-color: #FAFAFA;
+ font-size: 80%;
+}
+.memItemRight {
+ padding: 1px 8px 0px 8px;
+ margin: 4px;
+ border-top-width: 1px;
+ border-right-width: 1px;
+ border-bottom-width: 1px;
+ border-left-width: 1px;
+ border-top-color: #E0E0E0;
+ border-right-color: #E0E0E0;
+ border-bottom-color: #E0E0E0;
+ border-left-color: #E0E0E0;
+ border-top-style: solid;
+ border-right-style: none;
+ border-bottom-style: none;
+ border-left-style: none;
+ background-color: #FAFAFA;
+ font-size: 80%;
+}
+.memTemplItemLeft {
+ padding: 1px 0px 0px 8px;
+ margin: 4px;
+ border-top-width: 1px;
+ border-right-width: 1px;
+ border-bottom-width: 1px;
+ border-left-width: 1px;
+ border-top-color: #E0E0E0;
+ border-right-color: #E0E0E0;
+ border-bottom-color: #E0E0E0;
+ border-left-color: #E0E0E0;
+ border-top-style: none;
+ border-right-style: none;
+ border-bottom-style: none;
+ border-left-style: none;
+ background-color: #FAFAFA;
+ font-size: 80%;
+}
+.memTemplItemRight {
+ padding: 1px 8px 0px 8px;
+ margin: 4px;
+ border-top-width: 1px;
+ border-right-width: 1px;
+ border-bottom-width: 1px;
+ border-left-width: 1px;
+ border-top-color: #E0E0E0;
+ border-right-color: #E0E0E0;
+ border-bottom-color: #E0E0E0;
+ border-left-color: #E0E0E0;
+ border-top-style: none;
+ border-right-style: none;
+ border-bottom-style: none;
+ border-left-style: none;
+ background-color: #FAFAFA;
+ font-size: 80%;
+}
+.memTemplParams {
+ padding: 1px 0px 0px 8px;
+ margin: 4px;
+ border-top-width: 1px;
+ border-right-width: 1px;
+ border-bottom-width: 1px;
+ border-left-width: 1px;
+ border-top-color: #E0E0E0;
+ border-right-color: #E0E0E0;
+ border-bottom-color: #E0E0E0;
+ border-left-color: #E0E0E0;
+ border-top-style: solid;
+ border-right-style: none;
+ border-bottom-style: none;
+ border-left-style: none;
+ color: #606060;
+ background-color: #FAFAFA;
+ font-size: 80%;
+}
+.search { color: #003399;
+ font-weight: bold;
+}
+FORM.search {
+ margin-bottom: 0px;
+ margin-top: 0px;
+}
+INPUT.search { font-size: 75%;
+ color: #000080;
+ font-weight: normal;
+ background-color: #e8eef2;
+}
+TD.tiny { font-size: 75%;
+}
+a {
+ color: #1A41A8;
+}
+a:visited {
+ color: #2A3798;
+}
+.dirtab { padding: 4px;
+ border-collapse: collapse;
+ border: 1px solid #84b0c7;
+}
+TH.dirtab { background: #e8eef2;
+ font-weight: bold;
+}
+HR { height: 1px;
+ border: none;
+ border-top: 1px solid black;
+}
+
Index: tags/siscone-3.0.2/doc/html/algorithm.html
===================================================================
--- tags/siscone-3.0.2/doc/html/algorithm.html (revision 0)
+++ tags/siscone-3.0.2/doc/html/algorithm.html (revision 398)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+
+<head>
+<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>SISCone: Algorithm</title>
+<link href="style.css" rel="stylesheet" type="text/css">
+</head>
+
+<body>
+<!------------>
+<!-- Header -->
+<!------------>
+<h1 align="center">SISCone Documentation</h1>
+<p>
+<a name="top"></a>
+<h3 align="center">Version 3.0.2</h3>
+</p>
+<hr size="1">
+
+
+<h2 align="center">Scheme for the main algorithm</h2>
+<img align="center" src="algo_main.png">
+<hr size="1">
+<h2 align="center">Scheme for stable cone determination</h2>
+<img align="center" src="algo_stable.png">
+
+<!------------>
+<!-- footer -->
+<!------------>
+<hr size="1">
+<a href="index.html">Home</a><br>
+Contacts: &nbsp;<a href="mailto:soyez@fastjet.fr">Gregory Soyez</a>
+&nbsp;<a href="mailto:gavin.salam@cern.ch">Gavin Salam</a>
+</body>
+</html>
Index: tags/siscone-3.0.2/doc/html/sm_issue.html
===================================================================
--- tags/siscone-3.0.2/doc/html/sm_issue.html (revision 0)
+++ tags/siscone-3.0.2/doc/html/sm_issue.html (revision 398)
@@ -0,0 +1,78 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+
+<head>
+<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>SISCone: split-merge issues</title>
+<link href="style.css" rel="stylesheet" type="text/css">
+</head>
+
+<body>
+<!------------>
+<!-- Header -->
+<!------------>
+<h1 align="center">SISCone Documentation</h1>
+<p>
+<a name="top"></a>
+<h3 align="center">Version 3.0.2</h3>
+</p>
+<hr size="1">
+
+<h2>
+The split-merge variable issue:
+</h2>
+
+SISCone is intended to be a cone algorithm that is as close as
+possible to the <a
+href="http://xxx.lanl.gov/abs/hep-ex/0005012">Tevatron run II cone
+algorithm</a>, while also being infrared (IR) safe.
+
+<p> Though the main IR difficulties are related to the search for
+stable cones, and are solved by a seedless procedure, it turns out
+that the split-merge phase of the algorithm is also non-trivial.
+The Tevatron run II split-merge procedure requires that "protojets" be
+considered in a sequence determined by some ordering variable. A
+change in the sequence can leads to a change in the final jets.
+
+When trying to find the best suited variable for the ordering of protojets in
+the split--merge process of SISCone, we met a couple of physical issues.
+Their history goes as follows:
+<ul>
+<li> the <i>E<sub>t</sub></i> variable, suggested e.g. in the Tevatron Run II
+specification of the midpint algorithm, is not boost invariant.</li>
+
+<li> the <i>p<sub>t</sub></i> variable, used e.g. in practical midpoint
+implementations (except for MCFM), suffers from problems with two back-to-back
+protojets. Due to momentum conservation, they can have the same <i>p<sub>t</sub></i>.
+Their ordering is thus random and can be modified by the addition of a soft
+particle, leading to an IR unsafety problem.</li>
+
+
+<li> the <i>m<sub>t</sub></i> variable does not directly suffer from that
+problem: two back-to-back jets only overlap if they cover a region in
+the eta-phi plane. In that case, their values of <i>m<sub>t</sub></i> will
+differ and the ordering is safe. This choice (the default one for
+SISCone 1.1.0) suffers unfortunately from one remaining issue: though
+<i>m<sub>t</sub></i> works for pure QCD, in the case of two back-to-back
+narrow-decay-width unstable particles (e.g. a pair of Higgs bosons), both <i>p<sub>t</sub>
+and </i><i>m<sub>t</sub></i> will be the same. </li>
+
+<li> As of SISCone 1.1.1, we use <i>pttilde</i>: the p-scheme pt
+(the sum of the moduli of transverse momenta of all particles in the
+protojet ) that interpolates between <i>p<sub>t</sub></i> and
+<i>m<sub>t</sub></i> according to the decay plane of the unstable
+massive particle. This will lift the degeneracy between decays of
+identical pairs of unstable particles, since the phase space for them
+to have identical decay planes vanishes.</li>
+</ul>
+
+<!------------>
+<!-- footer -->
+<!------------>
+<hr size="1">
+<a href="index.html">Home</a><br>
+Contacts: &nbsp;<a href="mailto:soyez@fastjet.fr">Gregory Soyez</a>
+&nbsp;<a href="mailto:gavin.salam@cern.ch">Gavin Salam</a>
+
+</body>
+</html>
Index: tags/siscone-3.0.2/doc/html/home.xpm
===================================================================
--- tags/siscone-3.0.2/doc/html/home.xpm (revision 0)
+++ tags/siscone-3.0.2/doc/html/home.xpm (revision 398)
@@ -0,0 +1,36 @@
+/* XPM */
+static char * home_xpm[] = {
+"24 24 9 1",
+" c None",
+". c #020202",
+"+ c #6C7962",
+"@ c #7A8A6E",
+"# c #FEFEFE",
+"$ c #7E8E76",
+"% c #82927A",
+"& c #C8CEC4",
+"* c #E3E7E1",
+" ",
+" ",
+" ",
+" ",
+" . ... ",
+" .#. .&. ",
+" .#*%..&. ",
+" .##&&$.&. ",
+" .##&&&&$&. ",
+" .*#&&&&&&@. ",
+" .##&&&&&&&&+. ",
+" .###&&&&&&&&&+. ",
+" ...##&&&&&&&&+... ",
+" .##&&&&&&&&+. ",
+" .##....&&&&+. ",
+" .##.&&.&&&&+. ",
+" .##.&&.&&&&+. ",
+" .#*.&&.&&&&+. ",
+" .&+.++.+++++. ",
+" ............. ",
+" ",
+" ",
+" ",
+" "};
Index: tags/siscone-3.0.2/doc/html/timings.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: tags/siscone-3.0.2/doc/html/timings.png
===================================================================
--- tags/siscone-3.0.2/doc/html/timings.png (revision 397)
+++ tags/siscone-3.0.2/doc/html/timings.png (revision 398)
Property changes on: tags/siscone-3.0.2/doc/html/timings.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/siscone-3.0.2/doc/html/algo_stable.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: tags/siscone-3.0.2/doc/html/algo_stable.png
===================================================================
--- tags/siscone-3.0.2/doc/html/algo_stable.png (revision 397)
+++ tags/siscone-3.0.2/doc/html/algo_stable.png (revision 398)
Property changes on: tags/siscone-3.0.2/doc/html/algo_stable.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/siscone-3.0.2/doc/html/algo_stable.dot
===================================================================
--- tags/siscone-3.0.2/doc/html/algo_stable.dot (revision 0)
+++ tags/siscone-3.0.2/doc/html/algo_stable.dot (revision 398)
@@ -0,0 +1,119 @@
+digraph algo_stable {
+ nodesep=0.15;
+ ranksep=0.15;
+
+ {
+ nodesep=0.15;
+ ranksep=0.15;
+
+ node [shape=box,style=filled,fillcolor="#CCCCFF",color=blue,fontcolor="#880000"];
+
+ init[label="set particle i to be the first particle"];
+
+ vicinity[label="Find all particles j within distance 2R of i and for each\n\
+ j identify the two circles defined by i and j. For each circle,\n\
+ compute the angle of its center C relative to i, \n\
+ (zeta = atan(d phi_{iC}/d y_{iC}))"];
+
+ sort[label="Sort the circles into increasing angle zeta"];
+
+ init_cone[label="For the first circle in this order, calculate the total\n\
+ momentum and checkxor for the cones that it defines.\n\
+ Consider all 4 permutations of edge points being included\n\
+ or excluded. Call these the 'current cones'"];
+
+ node [shape=polygon,sides=2,orientation=45];
+ browse_current[label = "for each of the 4 current cones"];
+ node [shape=box,orientation=0,style=filled,fillcolor="#CCCCFF",color=blue,fontcolor="#880000"];
+
+ test_cone1[label="this cone has not yet been found add\nit to the list of distinct cones"];
+
+ test_cone2[label="if this cone has not yet been labelled as unstable, establish\n\
+ if the in/out status of the edge particles (with respect to the cone\n\
+ momentum axis) is the same as when defining the cone; if it is\n\
+ not, label the cone as unstable"];
+
+ node [style="invis",fixedsize=true];
+ end_current[width=0,height=0];
+
+ node [shape=box,style=filled,fillcolor="#CCCCFF",color=blue,fontcolor="#880000",fixedsize=false];
+ update_cone[label="Move to the next circle in order. It differs from the previous\n\
+ one either by a particle entering the circle, or one leaving the\n\
+ circle. Calculate the momentum for the new circle by adding (or\n\
+ removing) the momentum of the particle that has entered (left); the\n\
+ checkxor can be updated by XORing with the label of that particle."];
+
+ node [shape=polygon,sides=4,orientation=45];
+ until[label="test if all circles are considered"];
+ node [shape=box,orientation=0,style=filled,fillcolor="#CCCCFF",color=blue,fontcolor="#880000"];
+
+ node [shape=polygon,sides=4,orientation=45];
+ next_particle[label="move to the next particle: increment i, if possible"];
+ node [shape=box,orientation=0,style=filled,fillcolor="#CCCCFF",color=blue,fontcolor="#880000"];
+
+ node [shape=polygon,sides=2,orientation=45];
+ browse_proto[label = "for each of the cones labelled as unstable"];
+ node [shape=box,orientation=0,style=filled,fillcolor="#CCCCFF",color=blue,fontcolor="#880000"];
+
+ node [shape=polygon,sides=4,orientation=45];
+ final_check[label="Explicitly check if the cone is stable"];
+ node [shape=box,sides=4,orientation=0];
+ check_ok[label="add it to the list of stable cones (protojets)"];
+
+ node [style="invis",fixedsize=true];
+ end_proto[width=0,height=0];
+
+ edge [arrowsize=0.7];
+
+ init -> vicinity -> sort -> init_cone -> browse_current -> test_cone1 -> test_cone2;
+ test_cone2 -> end_current[dir=none];
+ end_current -> update_cone -> until -> next_particle -> browse_proto -> final_check;
+ final_check -> check_ok[label="yes"];
+ check_ok -> end_proto[dir=none];
+ }
+ // virtual nodes
+ /////////////////
+ {
+ node [style="invis",fixedsize=true];
+
+ vicinity_p[width=0,height=0];
+ init_cone_p[width=0,height=0];
+ browse_current_p[width=0,height=0];
+ end_current_p[width=0,height=0];
+ until_p[width=0,height=0];
+ next_particle_p[width=0,height=0];
+ browse_proto_p[width=0,height=0];
+ final_p[width=0,height=0];
+ end_proto_p[width=0,height=0];
+ }
+
+ { rank="same"; vicinity; vicinity_p; }
+ { rank="same"; init_cone; init_cone_p; }
+ { rank="same"; browse_current; browse_current_p; }
+ { rank="same"; end_current; end_current_p; }
+ { rank="same"; until; until_p; }
+ { rank="same"; next_particle; next_particle_p; }
+ { rank="same"; browse_proto; browse_proto_p; }
+ { rank="same"; final_check; final_p; }
+ { rank="same"; end_proto; end_proto_p; }
+
+ edge [arrowsize=0.7];
+
+ end_current->end_current_p[weight=0,dir=none];
+ browse_current->browse_current_p[weight=0,dir=back];
+ end_current_p->browse_current_p[samehead,sametail,dir=none];
+
+ until->until_p[weight=0,dir=none];
+ init_cone->init_cone_p[weight=0,dir=back];
+ until_p->init_cone_p[label=" no",samehead,sametail,dir=none];
+
+ next_particle->next_particle_p[weight=0,dir=none];
+ vicinity->vicinity_p[weight=0,dir=back];
+ next_particle_p->vicinity_p[label=" yes",samehead,sametail,dir=none];
+
+ end_proto->end_proto_p[weight=0,dir=none];
+ final_check->final_p[headlabel="no",weight=0];
+ browse_proto->browse_proto_p[weight=0,dir=back];
+ end_proto_p->final_p[samehead,sametail,dir=none];
+ final_p->browse_proto_p[samehead,sametail,dir=none];
+}
Index: tags/siscone-3.0.2/doc/html/doxygen.css
===================================================================
--- tags/siscone-3.0.2/doc/html/doxygen.css (revision 0)
+++ tags/siscone-3.0.2/doc/html/doxygen.css (revision 398)
@@ -0,0 +1,310 @@
+BODY,H1,H2,H3,H4,H5,H6,P,CENTER,TD,TH,UL,DL,DIV {
+ font-family: Geneva, Arial, Helvetica, sans-serif;
+}
+BODY,TD {
+ font-size: 90%;
+}
+H1 {
+ text-align: center;
+ font-size: 160%;
+}
+H2 {
+ font-size: 120%;
+}
+H3 {
+ font-size: 100%;
+}
+CAPTION { font-weight: bold }
+DIV.qindex {
+ width: 100%;
+ background-color: #e8eef2;
+ border: 1px solid #84b0c7;
+ text-align: center;
+ margin: 2px;
+ padding: 2px;
+ line-height: 140%;
+}
+DIV.nav {
+ width: 100%;
+ background-color: #e8eef2;
+ border: 1px solid #84b0c7;
+ text-align: center;
+ margin: 2px;
+ padding: 2px;
+ line-height: 140%;
+}
+DIV.navtab {
+ background-color: #e8eef2;
+ border: 1px solid #84b0c7;
+ text-align: center;
+ margin: 2px;
+ margin-right: 15px;
+ padding: 2px;
+}
+TD.navtab {
+ font-size: 70%;
+}
+A.qindex {
+ text-decoration: none;
+ font-weight: bold;
+ color: #1A419D;
+}
+A.qindex:visited {
+ text-decoration: none;
+ font-weight: bold;
+ color: #1A419D
+}
+A.qindex:hover {
+ text-decoration: none;
+ background-color: #ddddff;
+}
+A.qindexHL {
+ text-decoration: none;
+ font-weight: bold;
+ background-color: #6666cc;
+ color: #ffffff;
+ border: 1px double #9295C2;
+}
+A.qindexHL:hover {
+ text-decoration: none;
+ background-color: #6666cc;
+ color: #ffffff;
+}
+A.qindexHL:visited { text-decoration: none; background-color: #6666cc; color: #ffffff }
+A.el { text-decoration: none; font-weight: bold }
+A.elRef { font-weight: bold }
+A.code:link { text-decoration: none; font-weight: normal; color: #0000FF}
+A.code:visited { text-decoration: none; font-weight: normal; color: #0000FF}
+A.codeRef:link { font-weight: normal; color: #0000FF}
+A.codeRef:visited { font-weight: normal; color: #0000FF}
+A:hover { text-decoration: none; background-color: #f2f2ff }
+DL.el { margin-left: -1cm }
+.fragment {
+ font-family: Fixed, monospace;
+ font-size: 95%;
+}
+PRE.fragment {
+ border: 1px solid #CCCCCC;
+ background-color: #f5f5f5;
+ margin-top: 4px;
+ margin-bottom: 4px;
+ margin-left: 2px;
+ margin-right: 8px;
+ padding-left: 6px;
+ padding-right: 6px;
+ padding-top: 4px;
+ padding-bottom: 4px;
+}
+DIV.ah { background-color: black; font-weight: bold; color: #ffffff; margin-bottom: 3px; margin-top: 3px }
+TD.md { background-color: #F4F4FB; font-weight: bold; }
+TD.mdPrefix {
+ background-color: #F4F4FB;
+ color: #606060;
+ font-size: 80%;
+}
+TD.mdname1 { background-color: #F4F4FB; font-weight: bold; color: #602020; }
+TD.mdname { background-color: #F4F4FB; font-weight: bold; color: #602020; width: 600px; }
+DIV.groupHeader {
+ margin-left: 16px;
+ margin-top: 12px;
+ margin-bottom: 6px;
+ font-weight: bold;
+}
+DIV.groupText { margin-left: 16px; font-style: italic; font-size: 90% }
+BODY {
+ background: white;
+ color: black;
+ margin-right: 20px;
+ margin-left: 20px;
+}
+TD.indexkey {
+ background-color: #e8eef2;
+ font-weight: bold;
+ padding-right : 10px;
+ padding-top : 2px;
+ padding-left : 10px;
+ padding-bottom : 2px;
+ margin-left : 0px;
+ margin-right : 0px;
+ margin-top : 2px;
+ margin-bottom : 2px;
+ border: 1px solid #CCCCCC;
+}
+TD.indexvalue {
+ background-color: #e8eef2;
+ font-style: italic;
+ padding-right : 10px;
+ padding-top : 2px;
+ padding-left : 10px;
+ padding-bottom : 2px;
+ margin-left : 0px;
+ margin-right : 0px;
+ margin-top : 2px;
+ margin-bottom : 2px;
+ border: 1px solid #CCCCCC;
+}
+TR.memlist {
+ background-color: #f0f0f0;
+}
+P.formulaDsp { text-align: center; }
+IMG.formulaDsp { }
+IMG.formulaInl { vertical-align: middle; }
+SPAN.keyword { color: #008000 }
+SPAN.keywordtype { color: #604020 }
+SPAN.keywordflow { color: #e08000 }
+SPAN.comment { color: #800000 }
+SPAN.preprocessor { color: #806020 }
+SPAN.stringliteral { color: #002080 }
+SPAN.charliteral { color: #008080 }
+.mdTable {
+ border: 1px solid #868686;
+ background-color: #F4F4FB;
+}
+.mdRow {
+ padding: 8px 10px;
+}
+.mdescLeft {
+ padding: 0px 8px 4px 8px;
+ font-size: 80%;
+ font-style: italic;
+ background-color: #FAFAFA;
+ border-top: 1px none #E0E0E0;
+ border-right: 1px none #E0E0E0;
+ border-bottom: 1px none #E0E0E0;
+ border-left: 1px none #E0E0E0;
+ margin: 0px;
+}
+.mdescRight {
+ padding: 0px 8px 4px 8px;
+ font-size: 80%;
+ font-style: italic;
+ background-color: #FAFAFA;
+ border-top: 1px none #E0E0E0;
+ border-right: 1px none #E0E0E0;
+ border-bottom: 1px none #E0E0E0;
+ border-left: 1px none #E0E0E0;
+ margin: 0px;
+}
+.memItemLeft {
+ padding: 1px 0px 0px 8px;
+ margin: 4px;
+ border-top-width: 1px;
+ border-right-width: 1px;
+ border-bottom-width: 1px;
+ border-left-width: 1px;
+ border-top-color: #E0E0E0;
+ border-right-color: #E0E0E0;
+ border-bottom-color: #E0E0E0;
+ border-left-color: #E0E0E0;
+ border-top-style: solid;
+ border-right-style: none;
+ border-bottom-style: none;
+ border-left-style: none;
+ background-color: #FAFAFA;
+ font-size: 80%;
+}
+.memItemRight {
+ padding: 1px 8px 0px 8px;
+ margin: 4px;
+ border-top-width: 1px;
+ border-right-width: 1px;
+ border-bottom-width: 1px;
+ border-left-width: 1px;
+ border-top-color: #E0E0E0;
+ border-right-color: #E0E0E0;
+ border-bottom-color: #E0E0E0;
+ border-left-color: #E0E0E0;
+ border-top-style: solid;
+ border-right-style: none;
+ border-bottom-style: none;
+ border-left-style: none;
+ background-color: #FAFAFA;
+ font-size: 80%;
+}
+.memTemplItemLeft {
+ padding: 1px 0px 0px 8px;
+ margin: 4px;
+ border-top-width: 1px;
+ border-right-width: 1px;
+ border-bottom-width: 1px;
+ border-left-width: 1px;
+ border-top-color: #E0E0E0;
+ border-right-color: #E0E0E0;
+ border-bottom-color: #E0E0E0;
+ border-left-color: #E0E0E0;
+ border-top-style: none;
+ border-right-style: none;
+ border-bottom-style: none;
+ border-left-style: none;
+ background-color: #FAFAFA;
+ font-size: 80%;
+}
+.memTemplItemRight {
+ padding: 1px 8px 0px 8px;
+ margin: 4px;
+ border-top-width: 1px;
+ border-right-width: 1px;
+ border-bottom-width: 1px;
+ border-left-width: 1px;
+ border-top-color: #E0E0E0;
+ border-right-color: #E0E0E0;
+ border-bottom-color: #E0E0E0;
+ border-left-color: #E0E0E0;
+ border-top-style: none;
+ border-right-style: none;
+ border-bottom-style: none;
+ border-left-style: none;
+ background-color: #FAFAFA;
+ font-size: 80%;
+}
+.memTemplParams {
+ padding: 1px 0px 0px 8px;
+ margin: 4px;
+ border-top-width: 1px;
+ border-right-width: 1px;
+ border-bottom-width: 1px;
+ border-left-width: 1px;
+ border-top-color: #E0E0E0;
+ border-right-color: #E0E0E0;
+ border-bottom-color: #E0E0E0;
+ border-left-color: #E0E0E0;
+ border-top-style: solid;
+ border-right-style: none;
+ border-bottom-style: none;
+ border-left-style: none;
+ color: #606060;
+ background-color: #FAFAFA;
+ font-size: 80%;
+}
+.search { color: #003399;
+ font-weight: bold;
+}
+FORM.search {
+ margin-bottom: 0px;
+ margin-top: 0px;
+}
+INPUT.search { font-size: 75%;
+ color: #000080;
+ font-weight: normal;
+ background-color: #e8eef2;
+}
+TD.tiny { font-size: 75%;
+}
+a {
+ color: #1A41A8;
+}
+a:visited {
+ color: #2A3798;
+}
+.dirtab { padding: 4px;
+ border-collapse: collapse;
+ border: 1px solid #84b0c7;
+}
+TH.dirtab { background: #e8eef2;
+ font-weight: bold;
+}
+HR { height: 1px;
+ border: none;
+ border-top: 1px solid black;
+}
+
Index: tags/siscone-3.0.2/doc/html/usage.html
===================================================================
--- tags/siscone-3.0.2/doc/html/usage.html (revision 0)
+++ tags/siscone-3.0.2/doc/html/usage.html (revision 398)
@@ -0,0 +1,391 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+
+<head>
+<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>SISCone: Usage</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="style.css" rel="stylesheet" type="text/css">
+</head>
+
+<body>
+
+<!------------>
+<!-- Header -->
+<!------------>
+<h1 align="center">SISCone Documentation</h1>
+<p>
+<a name="top"></a>
+<h3 align="center">Version 3.0.2</h3>
+</p>
+<hr size="1">
+
+
+<!---------->
+<!-- Menu -->
+<!---------->
+<p>
+<a href="index.html"><img src="home.png" align="right" alt="home"></a>
+SISCone is written in C++ and is provided as a library. We describe below 3 ways of using it:
+<ul>
+<li> Using the <a href="#appli">sample application</a> </li>
+<li> Using the <a href="#lib">library</a> (from source code)</li>
+<li> Using the <a href="#fjp">FastJet plugin</a> </li>
+<li> Using <a href="#sph">SISCone in spherical coordinates</a> (<i>e<sup>+</sup>e<sup>-</sup></i> collisions) </li>
+<li> Using <a href="#sPR">SISCone with progressive removal</a> </li>
+</ul>
+</p>
+<p>
+For the <i>e<sup>+</sup>e<sup>-</sup></i> events, we provide an
+implementation of SISCone in spherical
+coordinates. See <a href="#sph">here</a> for details on how to use it.
+</p>
+<hr size="1">
+
+<!----------------------------->
+<!-- Application description -->
+<!----------------------------->
+<p>
+<a href="index.html"><img src="home.png" align="right" alt="home"></a>
+<h2><a name="appli">Using the sample application</a></h2>
+</p>
+<p>
+For simple applications, SISCone comes with a command-line application
+<table class="code">
+<tr><td><pre class="fragmant">
+Usage: ./siscone &lt;args&gt;
+
+Here is an exhaustive list of the arguments:
+Parameters control (with default values):
+ -n &lt;val&gt;, --number=&lt;val&gt; : set the maximum number of particles allowed (all)
+ -R &lt;val&gt;, --radius=&lt;val&gt; : set the radius (0.7)
+ -f &lt;val&gt;, --fraction=&lt;val&gt;: set the overlap parameter (0.5)
+ -p &lt;val&gt;, --ptmin=&lt;val&gt; : set the minimal pT for protojets (0)
+ -e &lt;val&gt;, --event=&lt;val&gt; : set the event filename (events/single-event.dat)
+ -n &lt;val&gt;, --npass=&lt;val&gt; : set the number of passes (0 for infinity) (0)
+ -s &lt;val&gt;, --sm=&lt;val&gt; : set the variable for split-merge (pttilde)
+
+Output flags:
+ --version : show version information
+ -h, --help : show this message
+ -v, --verbose: be verbose (on by default)
+ -q, --quiet : be quiet
+</pre>
+</td></tr>
+</table>
+</p>
+<p>
+The program outputs two files:
+<ul>
+<li> <tt>particles.dat</tt>: the list of particles as a two-column file giving the rapidity <em>y</em> and azimuthal angle &phi; for each particle</li>
+<li> <tt>jets.dat</tt>: the first line gives the number of jets. Then comes the list of jets within 4 columns giving, for each jet, the (<em>y</em>, &phi;) coordinates of its centre, its <em>p<sub>T</sub></em> and the number of particles it contains. The remaining part of the file lists the jet content. This is again given in 4 columns: the (<em>y</em>, &phi;) coordinates of the particle, its index in the initial list and the index of the jet to which it belongs.</li>
+</ul>
+</p>
+<p><a href="#top">Back to top</a></p>
+<hr size="1">
+
+
+<!------------------------->
+<!-- Library description -->
+<!------------------------->
+<p>
+<a href="index.html"><img src="home.png" align="right" alt="home"></a>
+<h2><a name="lib">Using the library</a></h2>
+</p>
+<p>
+SISCone can be more conveniently used directly in C++ program linked against the SISCone library.
+There are basically two objects that are important for users:
+</p>
+
+<h3><code>Cmomentum</code>: the 4-momentum class</h3> (see <tt><a class="code" href="../devel/html/momentum_8h_source.html">momentum.h</a></tt> for details)<br>
+
+<p>
+This class is used to store the property of one particle. It is defined through the 4-momentum coordinates of the particle e.g., to create a particle of momentum <tt>px</tt> <tt>py</tt> <tt>pz</tt> and energy <tt>E</tt><br>
+<table class="code">
+<tr><td>
+<pre class="fragment">
+ <a class="code" href="../devel/html/classsiscone_1_1Cmomentum.html">Cmomentum</a> particle=<a class="code" href="../devel/html/classsiscone_1_1Cmomentum.html">Cmomentum</a>(px, py, pz, E);
+</pre>
+</td></tr>
+</table>
+</p>
+
+<h3><code>Csiscone</code>: the SISCone jet finder</h3> (see <tt><a class="code" href="../devel/html/siscone_8h_source.html">siscone.h</a></tt> for details)<br>
+
+<p>
+The <a class="code" href="../devel/html/classsiscone_1_1Csiscone.html">Csiscone</a> class is the main class of interest of the algorithm. It is the one that you want to use to calculate the jets from a given set of particles. The algorithm is called through the following members:
+<table class="code">
+<tr><td><pre class="fragment">
+ int Csiscone::compute_jets(vector&lt;Cmomentum&gt; &#38;particles,
+ double R, double f, int n_pass_max=0, double ptmin=0.0,
+ Esplit_merge_scale _split_merge_scale=SM_pttilde);
+ int Csiscone::recompute_jets(double f, double ptmin=0.0,
+ Esplit_merge_scale _split_merge_scale=SM_pttilde);
+</pre></td></tr>
+</table>
+</p>
+<p>
+The first of those methods takes the following information as argument:
+<ul>
+<li> <tt>particles</tt>: the list of particles to deal with under the form of a <a href="http://www.sgi.com/tech/stl/">STL</a> vector of particles.</li>
+<li> <tt>R</tt>: the radius of the cone used to scan for stable cones (protocones)</li>
+<li> <tt>f</tt>: the overlap parameter. When splitting and merging protocones, two overlapping cones are split (resp. merged) when their overlapping <em>p<sub>T</sub></em> is smaller (resp. larger) than a fraction <tt>f</tt> of the smallest <em>p<sub>T</sub></em> of the parents. </li>
+<li> <tt>n_pass_max</tt>: maximum number of passes. When computing protocones, it happens that some particles do not enter into jet. We can therefore re-run the algorithm with those particles only. This parameter controls the number of such passes. It has been set to 1 by default. If you want to run the algorithm until all particles are associated with a jet or no new stable cone are found, set it to 0.</li>
+<li> <tt>ptmin</tt>: minimal <i>p<sub>T</sub></i> for the protojets included in the split-merge process. At each step of the split-merge process, we remove jet candidates which have a <i>p<sub>T</sub></i> less than <tt>ptmin</tt>.</li>
+<li> <tt>split_merge_scale</tt>: variable to use for split-merge (ordering and overlap fraction computation). This can be <tt>SM_pttilde</tt>, <tt>SM_Et</tt>, <tt>SM_mt</tt> or <tt>SM_pt</tt>, respectively corresponding to a p-scheme <i>p<sub>T</sub></i>, the transverse energy <i>E<sub>T</sub></i>, the transverse mass <i>m<sub>T</sub></i> or the transverse momentum <i>p<sub>T</sub></i>. We highly recommand to keep the default value <tt>SM_pttilde</tt> (see <a href="sm_issue.html">this note</a> for details)</li>
+</ul>
+The second member (<tt>recompute_jets</tt>) allows you to rerun the split/merge algorithm with a different overlap parameter.
+</p>
+<p>
+<b>Remark:</b> The algorithm has been placed inside the <tt>namespace siscone</tt>. Hence, you should either add the line <tt>using namespace siscone;</tt> on top of your applications, or prefix any call to the siscone library by <tt>siscone::</tt>.
+</p>
+
+<h3>Output</h3>
+<p>
+The result of calling <tt>compute_jets(...)</tt> or <tt>recompute_jets(...)</tt> is stored in the vector
+<table class="code">
+<tr><td><pre class="fragment">
+vector&lt;Cjet&gt; Csiscone::jets;
+</pre></td></tr>
+</table>
+The elements of that vector contain all necessary information concerning the jets:
+<ul>
+<li> <tt>Cjet::v</tt>: 4-momentum of the jet.</li>
+<li> <tt>Cjet::n</tt>: number of particles in the jet.</li>
+<li> <tt>Cjet::contents</tt>: jet contents. It is stored as a <tt>vector&lt;int&gt;</tt> listing the indices of the particles contained in the jet.</li>
+<li> <tt>Cjet::pass</tt> : pass at which the jet has been found (0 is the first, -1 means that the particle has not been included in the analysis <em>i.e.</em> it has infinite rapidity).</li>
+</ul>
+</p>
+
+<h3>an illustrative example</h3>
+<p>
+Here follows an example which illustrates the usage of those objects (see also <tt>main.cpp</tt> in the scones tree)
+<table class="code">
+<tr><td>
+<pre class="fragment">
+01 <span class="preprocessor">#include &lt;stdio.h&gt;</span>
+02 <span class="preprocessor">#include &lt;iostream&gt;</span>
+03 <span class="preprocessor">#include "siscone/momentum.h"</span>
+04 <span class="preprocessor">#include "siscone/siscone.h"</span>
+05
+06 <span class="preprocessor">#define R 0.7</span>
+07 <span class="preprocessor"></span><span class="preprocessor">#define f 0.5</span>
+08 <span class="preprocessor"></span><span class="preprocessor">#define f_alt 0.75</span>
+09 <span class="preprocessor"></span>
+10 <span class="keyword">using namespace </span>std;
+11 <span class="keyword">using namespace </span>siscone;
+12
+13 <span class="keywordtype">int</span> main(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> *argv[]){
+14 vector&lt;Cmomentum&gt; particles; <span class="comment">// list of particles</span>
+15 <a class="code" href="../devel/html/classsiscone_1_1Csiscone.html">Csiscone</a> siscone; <span class="comment">// main object for the cone algorithm</span>
+16 <span class="keywordtype">int</span> i; <span class="comment">// loop index</span>
+17 <span class="keywordtype">int</span> N; <span class="comment">// number of particles</span>
+18 <span class="keywordtype">double</span> px,py,pz,E; <span class="comment">// particles 4-momentum</span>
+19 <span class="keywordtype">char</span> fline[512]; <span class="comment">// line to read from a file</span>
+20
+21 <span class="comment">// read particles</span>
+22 FILE *flux;
+23 flux = fopen(<span class="stringliteral">"events/single-event.dat"</span>, <span class="stringliteral">"r"</span>);
+24 <span class="keywordflow">if</span> (flux==NULL){
+25 cerr &lt;&lt; <span class="stringliteral">"cannot read event"</span> &lt;&lt; endl;
+26 <span class="keywordflow">return</span> 1;
+27 }
+28
+29 N=0;
+30 <span class="keywordflow">while</span> (fgets(fline, 512, flux)!=NULL){
+31 <span class="keywordflow">if</span> (fline[0]!=<span class="charliteral">'#'</span>){ <span class="comment">// skip lines beginning with '#'</span>
+32 <span class="keywordflow">if</span> (sscanf(fline, <span class="stringliteral">"%le%le%le%le"</span>, &amp;px, &amp;py, &amp;pz, &amp;E)==4){
+33 particles.push_back(<a class="code" href="../devel/html/classsiscone_1_1Cmomentum.html">Cmomentum</a>(px, py, pz, E));
+34 N++;
+35 } <span class="keywordflow">else</span> {
+36 cout &lt;&lt; <span class="stringliteral">"error in reading event file Giving up."</span> &lt;&lt; endl;
+37 fclose(flux);
+38 <span class="keywordflow">return</span> 2;
+39 }
+40 }
+41 }
+42 fclose(flux);
+43
+44 <span class="comment">// compute jets</span>
+45 <span class="comment">// first compute with multiple passes (default)</span>
+46 i=siscone.<a class="code" href="../devel/html/classsiscone_1_1Csiscone.html#a259669f7c1f86fd220d1024fe44dba45">compute_jets</a>(particles, R, f);
+47 cout &lt;&lt; <span class="stringliteral">" "</span> &lt;&lt; i &lt;&lt; <span class="stringliteral">" jets found in multi-pass run"</span> &lt;&lt; endl;
+48
+49 <span class="comment">// then, recompute it with a different f</span>
+50 i=siscone.<a class="code" href="../devel/html/classsiscone_1_1Csiscone.html#a3bb2362bcc9bed2ae8903afefd6646a0">recompute_jets</a>(f_alt);
+51 cout &lt;&lt; <span class="stringliteral">" "</span> &lt;&lt; i &lt;&lt; <span class="stringliteral">" jets found with alterntive f"</span> &lt;&lt; endl;
+52
+53 <span class="comment">// compute jets with a single pass</span>
+54 i=siscone.<a class="code" href="../devel/html/classsiscone_1_1Csiscone.html#a259669f7c1f86fd220d1024fe44dba45">compute_jets</a>(particles, R, f, 1);
+55 cout &lt;&lt; <span class="stringliteral">" "</span> &lt;&lt; i &lt;&lt; <span class="stringliteral">" jets found in single-pass run"</span> &lt;&lt; endl;
+56
+57 <span class="comment">// show jets</span>
+58 vector&lt;Cjet&gt;::iterator it_j;
+59 <span class="keywordtype">int</span> i1;
+60 fprintf(stdout, <span class="stringliteral">"# pT eta"</span>);
+61 fprintf(stdout, <span class="stringliteral">" phi px py pz E \n"</span>);
+62 <span class="keywordflow">for</span> (it_j = siscone.<a class="code" href="../devel/html/classsiscone_1_1Csplit__merge.html#ad01c675d4c79de395656cf25fadc8cc1">jets</a>.begin(), i1=0 ;
+63 it_j != siscone.<a class="code" href="../devel/html/classsiscone_1_1Csplit__merge.html#ad01c675d4c79de395656cf25fadc8cc1">jets</a>.end() ; it_j++, i1++){
+64 fprintf(stdout, <span class="stringliteral">"Jet %3d: %10.3f %8.3f %8.3f"</span>,
+65 i1, it_j-&gt;v.perp(), it_j-&gt;v.eta, it_j-&gt;v.phi);
+66 fprintf(stdout, <span class="stringliteral">" %10.3f %10.3f %10.3f %10.3f\n"</span>,
+67 it_j-&gt;v.px, it_j-&gt;v.py, it_j-&gt;v.pz, it_j-&gt;v.E);
+68 }
+69
+70 <span class="keywordflow">return</span> 0;
+71 }</pre>
+</td></tr>
+</table>
+</p>
+<p><a href="#top">Back to top</a></p>
+<hr size="1">
+
+
+<!--------------------------------------->
+<!-- description of the FastJet plugin -->
+<!--------------------------------------->
+<p>
+<a href="index.html"><img src="home.png" align="right" alt="home"></a>
+<h2><a name="fjp">Using the FastJet plugin</a></h2>
+</p>
+<p>
+SISCone is available as a plugin of the FastJet project. The plugin is
+named <a class="code" href="http://fastjet.fr/repo/doxygen-3.1.3/classfastjet_1_1SISConePlugin.html"><code>SISConePlugin</code></a>. Note that it requires at least
+version 2.1 of FastJet. See
+the <a href="http://fastjet.fr">FastJet website</a> for details.
+</p>
+<p><a href="#top">Back to top</a></p>
+
+
+<!--------------------------------------->
+<!-- The spherical implementation -->
+<!--------------------------------------->
+
+<hr size="1">
+<p>
+<a href="index.html"><img src="home.png" align="right" alt="home"></a>
+<h2><a name="sph">The spherical version of SISCone</a></h2>
+</p>
+<p>
+To allow clustering of <i>e<sup>+</sup>e<sup>&ndash;</sup></i> events, an
+implementation of SISCone in spherical coordinates is available (as of
+version 2.0 of SISCone).
+</p>
+<p>
+Its usage is very similar to that of the basic implementation of SISCone,
+so we just highlight the few differences here:
+
+<ul>
+<li>The spherical version, uses energy <i>E</i> and normal angles,
+rather than the longitudinally boost-invariant <i>p<sub>t</sub></i>,
+rapidity and azimuth. Specifically:
+ <ul>
+ <li>The distance between a pair of particle is the angle between
+ the pair particles (equivalently the the distance on the
+ surface of a unit sphere). Similarily, the cone
+ radius <i>R</i> is also defined as the cone half-opening
+ angle.</li>
+ <li>During the split--merge step, we use the energy of the
+ particles rather than their transverse momentum. However, as
+ in the standard situation where ordering the protojets
+ in <i>p<sub>t</sub></i> led to infrared-unsafeties, ordering
+ the protojets in energy in the spherical case also leads to
+ infrared unsafeties. To solve that problem, we introduce the
+ new variable<br>
+ <img align="center" src="etilde.jpg" alt="Etilde"><br>
+ and use it to order the protojets. Note that to compute the
+ overlap fraction, we keep using the plain energy (which is
+ perfectly safe in this case). In practice, when invoking the
+ clustering, this corresponds to the default choice
+ of <code>SM_Etilde</code> for the split--merge scale. If one
+ rather wants to use <i>E</i> despite its infrared-unsafety
+ problems, one can specify <code>SM_E</code> instead.</li>
+</ul></li>
+<li>The structure remains the same as for the basic implementation but
+ the class names have been prefixed by <code>CSph</code> instead of
+ just <code>C</code>. For example, the list of 4-momenta should be
+ of the <a class="code" href="../devel/html/classsiscone__spherical_1_1CSphmomentum.html"><code>CSphmomentum</code></a>
+ type <sup><font size="-2">(<a href="#type_explain">1</a>)</font></sup>,
+ the clustering is done using <a class="code" href="../devel/html/classsiscone__spherical_1_1CSphsiscone.html"><code>CSphsiscone</code></a> and the jets
+ are stored in <a class="code" href="../devel/html/classsiscone__spherical_1_1CSphjet.html"><code>CSphjet</code></a> objects.</li>
+<li>The classes for the spherical implementation are placed under
+ the <code>siscone_spherical</code> namespace.</li>
+<li>The library is called <code>libsiscone_spherical.{a,so}</code>
+ rather than <code>libsiscone.{a,so}</code>.</li>
+<li>The spherical version of SISCone is available as a FastJet plugin
+ named <a class="code" href="http://fastjet.fr/repo/doxygen-3.1.3/classfastjet_1_1SISConeSphericalPlugin.html"><code>SISConeSphericalPlugin</code></a>.</li>
+</ul>
+
+
+<font size="-2"><sup>(<a name="type_explain">1</a>)</sup>The main reason for having
+two classes for the 4-momenta is that SISCone is internally optimised
+to avoid repeated computation of expensive quantities like the
+rapidity. Since the spherical version makes use of the polar angle
+&theta; instead of the rapidity <i>y</i>, having 2 separate classes
+allows to optimise both situations.</font>
+</p>
+
+<!--------------------------------------->
+<!-- SISCone with progressive removal -->
+<!--------------------------------------->
+
+<hr size="1">
+<p>
+<a href="index.html"><img src="home.png" align="right" alt="home"></a>
+<h2><a name="sPR">SISCone with progressive removal</a></h2>
+</p>
+<p>
+Since version 3.0.0, SISCone with progressive removal provides an
+alternative to the standard split--merge algorithm used by default with
+SISCone. The SISCone-PR algorithm works as follows
+
+<ol>
+<li> search for stable cones.</li>
+<li> declare the hardest stable cone a jet and remove its particles from the list of remaining particles.</li>
+<li> if there are some remaining particles, go back to 1.</li>
+</ol>
+
+In practice, jets are obtained by creating a <tt>Csiscone</tt>
+(or <tt>CSphsiscone</tt> object) as described above and calling
+<br>
+<br>
+<table class="code">
+<tr><td><pre class="fragment">
+ int Csisscone::compute_jets_progressive_removal(vector&lt;Cmomentum&gt; &#38;particles,
+ double R, int n_pass_max=0, double ptmin=0.0,
+ Esplit_merge_scale _split_merge_scale=SM_pttilde);
+</pre></td></tr>
+</table>
+<br>
+
+This results in circular hard jets (analogously to
+anti-kt). The complexity of the algorithm is <i>N<sup>2</sup></i>
+log(<i>N</i>).
+
+The scale used to decide which stable cone is the hardest can be
+chosen in the same way as the ordering scale for the split--merge
+procedure. The default (SM_pttilde for the standard, <i>pp</i>,
+version of SISCone; SM_Etilde for the version in spherical
+coordinates) is recommended. Alternatively, a user-defined scale
+choice can be provided: the user has to derive their favourite scale
+choice from <a class="code"
+href="../devel/html/classsiscone_1_1Csplit__merge_1_1Cuser__scale__base.html"><code>Csiscone::Cscale_choice</code></a>
+and then use <a class="code"
+href="../devel/html/classsiscone_1_1Csplit__merge.html#a6d7c9a22f5a0f9b0a329336aa463e92b"><code>Csiscone::set_user_scale()</code></a>
+with a pointer to an instance of that class to activate the
+user-defined choice.
+</p>
+
+<p><a href="#top">Back to top</a></p>
+
+
+<!------------>
+<!-- footer -->
+<!------------>
+<hr size="1">
+<a href="index.html">Home</a><br>
+Contacts: &nbsp;<a href="mailto:soyez@fastjet.fr">Gregory Soyez</a>
+&nbsp;<a href="mailto:gavin.salam@cern.ch">Gavin Salam</a>
+
+</body>
+</html>
Index: tags/siscone-3.0.2/doc/html/algo_main.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: tags/siscone-3.0.2/doc/html/algo_main.png
===================================================================
--- tags/siscone-3.0.2/doc/html/algo_main.png (revision 397)
+++ tags/siscone-3.0.2/doc/html/algo_main.png (revision 398)
Property changes on: tags/siscone-3.0.2/doc/html/algo_main.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/siscone-3.0.2/doc/html/download.html
===================================================================
--- tags/siscone-3.0.2/doc/html/download.html (revision 0)
+++ tags/siscone-3.0.2/doc/html/download.html (revision 398)
@@ -0,0 +1,47 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+
+<head>
+<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>SISCone: Download</title>
+<link href="style.css" rel="stylesheet" type="text/css">
+</head>
+
+<body>
+<!------------>
+<!-- Header -->
+<!------------>
+<h1 align="center">SISCone Documentation</h1>
+<p>
+<a name="top"></a>
+<h3 align="center">Version 3.0.2</h3>
+</p>
+<hr size="1">
+
+<h2 align="center">Downloading SISCone</h2>
+
+<p>
+You can download here the of SISCone source code. It is developped under the terms of the GNU General Public License (GPL). A version of the license should be included in the code.
+</p>
+<p>
+The algorithm used by SISCone has been subject of a publication in
+<a href="http://www.iop.org/EJ/abstract/-search=23274672.1/1126-6708/2007/05/086">JHEP 05 (2007) 086</a>
+[<a href="http://arxiv.org/abs/0704.0292">arXiv:0704.0292 (hep-ph)</a>]. Please refer to that work each time it is appropriate.
+</p>
+<p>
+<a href="http://www.hepforge.org/downloads/siscone/siscone-3.0.2.tar.gz">Download SISCone 3.0.2</a> (latest stable - March 2016 - <a href="../../NEWS">Release notes</a>)
+</p>
+
+<p>
+You can alternatively download SISCone from its SVN repository.<br> This can be browsed via <a href="http://siscone.hepforge.org/svn">HTTP access</a> or accessed using the Subversion repository <kbd>svn+ssh://svn.hepforge.org/hepforge/svn/siscone</kbd>.
+</p>
+
+<!------------>
+<!-- footer -->
+<!------------>
+<hr size="1">
+<a href="index.html">Home</a><br>
+Contacts: &nbsp;<a href="mailto:soyez@fastjet.fr">Gregory Soyez</a>
+&nbsp;<a href="mailto:gavin.salam@cern.ch">Gavin Salam</a>
+</body>
+</html>
Index: tags/siscone-3.0.2/doc/html/index.html
===================================================================
--- tags/siscone-3.0.2/doc/html/index.html (revision 0)
+++ tags/siscone-3.0.2/doc/html/index.html (revision 398)
@@ -0,0 +1,61 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+
+<head>
+<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>SISCone : Main Page</title>
+<link href="style.css" rel="stylesheet" type="text/css">
+</head>
+
+<body>
+<!------------>
+<!-- Header -->
+<!------------>
+<h1 align="center">SISCone Documentation</h1>
+<p>
+<a name="top"></a>
+<h3 align="center">Version 3.0.2</h3>
+</p>
+<hr size="1">
+
+<p>
+SISCone is a <i><u>S</u>eedless <u>I</u>nfrared <u>S</u>afe <u>Cone</u> jet algorithm</i>.
+</p>
+<p>
+It was developped by Gavin Salam and Gregory Soyez.
+It is available as a library, as a standalone program
+or as a <a href="http://fastjet.fr">FastJet</a> (&gt;= 2.1) plugin.
+</p>
+<p>
+<table border=1>
+
+<tr><td bgcolor=#ffcc88> <b>News (March 16th 2016)</b>: We have
+released a new version of <b>SISCone (v3.0.2)</b>. It fixed a minor bug with an uninitialized array (no impact on results) and made minor modifications to the build system.<br> Relative to the 2.0.X series, SISCone 3.0.X adds the option of running SISCone with progressive removal (instead of the standard split-merge step). This version will be available in FastJet(>=3.2.0).
+</td></tr>
+</table>
+</p>
+<p>
+The algorithm is described in the publication
+<a href="http://www.iop.org/EJ/abstract/-search=23274672.1/1126-6708/2007/05/086">JHEP 05 (2007) 086</a>
+[<a href=http://arxiv.org/abs/0704.0292>arXiv:0704.0292 [hep-ph]</a>]. See
+the links below for more detailed information.
+</p>
+<p>
+<u><i>Useful links</i></u></br>
+<ul>
+<li><a href="usage.html">How to use SISCone</a></li>
+<li><a href="download.html">Download SISCone</a></li>
+<li><a href="algorithm.html">Description of the algorithm</a></li>
+<li><a href="perfs.html">Algorithm performance</a></li>
+<li><a href="../devel/html/index.html">Developer documentation</a> (built from the code using <a href="http://www.doxygen.org">doxygen</a>)</li>
+<li><a href="https://siscone.hepforge.org">SISCone</a> webpage on <a href="https://www.hepforge.org">HEPForge</a></li>
+</ul>
+<!------------>
+<!-- footer -->
+<!------------>
+<hr size="1">
+<a href="index.html">Home</a><br>
+Contacts: &nbsp;<a href="mailto:soyez@fastjet.fr">Gregory Soyez</a>
+&nbsp;<a href="mailto:gavin.salam@cern.ch">Gavin Salam</a>
+</body>
+</html>
Index: tags/siscone-3.0.2/doc/html/algo_main.dot
===================================================================
--- tags/siscone-3.0.2/doc/html/algo_main.dot (revision 0)
+++ tags/siscone-3.0.2/doc/html/algo_main.dot (revision 398)
@@ -0,0 +1,29 @@
+digraph algo_main {
+ nodesep=0.15;
+ ranksep=0.15;
+ node [shape=box,style=filled,fillcolor="#CCCCFF",color=blue,fontcolor="#880000"];
+ intro [label="Put the set of current particles\nequal to the set of all particles in the event"];
+ proto [label="Find all stable cones for the current set of particles"]
+ add_proto [label="Add each stable cone (defined by the set\nof particles contained in the cone)\nto the list of protojets"];
+ remove [label="Remove all particles that are in stable cones\nfrom the list of current particles"];
+ end_algo [label="Run the Tevatron Run-II split-merge procedure\non the full list of protojets, with overlap parameter f",height=0.5];
+
+ node [shape=polygon,sides=4,orientation=45];
+ end_loop [label="No new stable cones have been found\nOR one has gone around the loop Npass times"];
+
+ node [style="invis",fixedsize=true];
+ proto_partner [width=0,height=0];
+ end_loop_partner [width=0,height=0];
+
+ { rank="same"; proto; proto_partner; }
+ { rank="same"; end_loop; end_loop_partner; }
+
+ edge [arrowsize=0.7];
+
+ intro -> proto -> add_proto -> remove -> end_loop;
+ end_loop -> end_algo [label=" yes"];
+
+ end_loop -> end_loop_partner[weight=0,dir=none];
+ proto -> proto_partner[weight=0,dir=back];
+ end_loop_partner -> proto_partner[label=" no",samehead,sametail,dir=none];
+}
Index: tags/siscone-3.0.2/doc/html/home.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: tags/siscone-3.0.2/doc/html/home.png
===================================================================
--- tags/siscone-3.0.2/doc/html/home.png (revision 397)
+++ tags/siscone-3.0.2/doc/html/home.png (revision 398)
Property changes on: tags/siscone-3.0.2/doc/html/home.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/siscone-3.0.2/doc/html/perfs.html
===================================================================
--- tags/siscone-3.0.2/doc/html/perfs.html (revision 0)
+++ tags/siscone-3.0.2/doc/html/perfs.html (revision 398)
@@ -0,0 +1,52 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+
+<head>
+<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>SISCone: Performances</title>
+<link href="style.css" rel="stylesheet" type="text/css">
+</head>
+
+<body>
+<!------------>
+<!-- Header -->
+<!------------>
+<h1 align="center">SISCone Documentation</h1>
+<p>
+<a name="top"></a>
+<h3 align="center">Version 3.0.2</h3>
+</p>
+<hr size="1">
+
+<h2 align="center">Execution time</h2>
+This figure shows the execution time as a function of the number of particles and compares it with other algorithms.
+It has been obtained on a 3.4 GHz Pentium&reg; IV processor.
+<p>
+<img align="center" src="timings.png">
+</p>
+
+<hr size="1">
+
+<h2 align="center">Algorithm complexity</h2>
+<p>
+SISCone's complexity is dominated by the search for stable cones. If N is the number of particles in the event and n the number of particles in a cone, the complexity goes like
+</p>
+<p>
+&nbsp; &nbsp; &nbsp; &nbsp;N n log(n)
+</p>
+<p>
+dominated by the ordering of the O(n) points in the vicinity of each particle.
+</p>
+<p>
+Note: for the version of SISCone with progressive-removal, the stable-sone search has to be repeated O(N/n) times, yielding a O(N<sup>2</sup>log(n)) complexity.
+</p>
+
+<!------------>
+<!-- footer -->
+<!------------>
+<hr size="1">
+<a href="index.html">Home</a><br>
+Contacts: &nbsp;<a href="mailto:soyez@fastjet.fr">Gregory Soyez</a>
+&nbsp;<a href="mailto:gavin.salam@cern.ch">Gavin Salam</a>
+</body>
+</html>
Index: tags/siscone-3.0.2/doc/html
===================================================================
--- tags/siscone-3.0.2/doc/html (revision 397)
+++ tags/siscone-3.0.2/doc/html (revision 398)
Property changes on: tags/siscone-3.0.2/doc/html
___________________________________________________________________
Added: svn:ignore
## -0,0 +1 ##
+*
Index: tags/siscone-3.0.2/doc/latex
===================================================================
--- tags/siscone-3.0.2/doc/latex (revision 397)
+++ tags/siscone-3.0.2/doc/latex (revision 398)
Property changes on: tags/siscone-3.0.2/doc/latex
___________________________________________________________________
Added: svn:ignore
## -0,0 +1 ##
+*
Index: tags/siscone-3.0.2/doc
===================================================================
--- tags/siscone-3.0.2/doc (revision 397)
+++ tags/siscone-3.0.2/doc (revision 398)
Property changes on: tags/siscone-3.0.2/doc
___________________________________________________________________
Added: svn:ignore
## -0,0 +1 ##
+devel
Index: tags/siscone-3.0.2/INSTALL
===================================================================
--- tags/siscone-3.0.2/INSTALL (revision 0)
+++ tags/siscone-3.0.2/INSTALL (revision 398)
@@ -0,0 +1,62 @@
+Installation procedure:
+=======================
+
+You have two options to install the SISCone jet finder:
+1. use the standard configure/make/make install technique (recommended)
+2. use the 'old-fashionned' Makefile
+
+
+1. Installation through configure/make/make install
+---------------------------------------------------
+
+This is the recommended method for installing the SISCone library, headers
+and programs. For a 'standard' installation process, you just need to do
+$ ./configure
+$ make
+$ make install
+
+In short, 'configure' checks if your system has the required tools to
+build SISCone, 'make' actually does the build and 'make install'
+installs everything in the correct directories.
+
+Notes:
+
+- If you're using an svn version of SISCone, you first need to issue
+ ./autogen.sh
+ (to which you can pass configure's options, see below for details)
+ in order to generate the configure script from svn files.
+
+- The SISCone library is installed in ${prefix}/lib, the SISCone
+ development headers in ${prefix}/include/siscone and the useful
+ programs in ${prefix}/bin. The default prefix is /usr/local but
+ this can be changed by passing the --prefix=<your_preferred_prefix>
+ to the 'configure' script. Note that if you do not have sufficiently
+ write access you may need to issue 'make install' as root.
+ Also, if you install SISCone in a non standard location (e.g.
+ /usr/local/SISCone), do not forget to append ${prefix}/lib to your
+ LD_LIBARY_PATH.
+
+- By default, both shared (libsiscone.so) and static (libsiscone.a)
+ libraries are built and installed. You can disable one of them by
+ passing --disable-shared or --disable-static to 'configure'.
+
+
+2. Installation using the Makefiles
+-----------------------------------
+
+If you do not feel comfortable with the suggested installation
+procedure, it is still possible to install it using the old-fashionned
+'make' method. For that, you just need to tell 'make' to use
+makefile.static as a main Makefile. This is done typing
+$ make -f makefile.static
+
+This will build the siscone library as src/libsiscone.a and the
+various example programs in examples/ :
+- 'siscone' an application with options to tune it from the command line
+ (see main.cpp and options.h/cpp)
+- 'sample' another example (used in the html documentation (see doc/html))
+- 'test' a testing program (see src/test.cpp)
+- 'times' computes execution times and various statistics for 1 <= N <= 1000
+- mem_check a shell script for checking memory usage as a function of the
+ number of particles (requires google perftools).
+You also have access to the SISCone headers in the src folder.
Index: tags/siscone-3.0.2/COPYING
===================================================================
--- tags/siscone-3.0.2/COPYING (revision 0)
+++ tags/siscone-3.0.2/COPYING (revision 398)
@@ -0,0 +1,280 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+ 675 Mass Ave, Cambridge, MA 02139, USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
Index: tags/siscone-3.0.2/CHECKLIST
===================================================================
--- tags/siscone-3.0.2/CHECKLIST (revision 0)
+++ tags/siscone-3.0.2/CHECKLIST (revision 398)
@@ -0,0 +1,169 @@
+List of tasks to perform to release a new version of SISCone
+
+======================================================================
+SISCone X.Y.Z release checklist
+----------------------------------------------------------------------
+X.Y.Z make a copy of this
+X.Y.Z run svn up
+X.Y.Z update version numbber in configure.ac
+X.Y.Z update version number by running ./setversion.sh
+X.Y.Z update version number in Doxyfile (should go in the script!)
+X.Y.Z include the release in NEWS
+X.Y.Z run doxygen
+X.Y.Z update the html doc
+ . version number in each header [should be automated!]
+ . announcement in index.html
+ . download link (and date) in download.html
+X.Y.Z mention the release in Changelog by adding
+ "Release of SISCone X.Y.Z"
+X.Y.Z make sure everything is committed
+X.Y.Z run 'make distcheck'
+X.Y.Z tag the release
+ svn cp . svn+ssh://login.hepforge.org/hepforge/svn/siscone/tags/siscone-X.Y.Z
+X.Y.Z copy the tarball to HepForge
+ scp siscone-X.Y.Z.tar.gz login.hepforge.org:~siscone/downloads/
+X.Y.Z update the HepForge pages
+ . backup 'devel', 'include', *.html in a vX.Y.Z folder
+ . check the header and footer in 'include'
+ . update the announcement in index.html
+ . update the download info in downloads.html
+ . copy the Doxygen doc and run ./webadapt.sh
+ . update release_notes.txt (and point downloads.html to it instead of NEWS)
+ Note: some html fixes have been done on hepforge
+ backport them to the trunk
+
+X.Y.Z switch version number to X.Y.Z+1-devel
+X.Y.Z make sure everything is committed
+
+======================================================================
+SISCone 3.0.2 release checklist
+----------------------------------------------------------------------
+3.0.2 make a copy of this
+3.0.2 run svn up
+3.0.2 update version numbber in configure.ac
+3.0.2 update version number by running ./setversion.sh
+3.0.2 update version number in Doxyfile (should go in the script!)
+3.0.2 include the release in NEWS
+3.0.2 run doxygen
+3.0.2 update the html doc
+ . version number in each header [should be automated!]
+ . announcement in index.html
+ . download link (and date) in download.html
+3.0.2 mention the release in Changelog by adding
+ "Release of SISCone 3.0.2"
+X.Y.Z make sure everything is committed
+X.Y.Z run 'make distcheck'
+X.Y.Z tag the release
+ svn cp . svn+ssh://login.hepforge.org/hepforge/svn/siscone/tags/siscone-X.Y.Z
+X.Y.Z copy the tarball to HepForge
+ scp siscone-X.Y.Z.tar.gz login.hepforge.org:~siscone/downloads/
+X.Y.Z update the HepForge pages
+ . backup 'devel', 'include', *.html in a vX.Y.Z folder
+ . check the header and footer in 'include'
+ . update the announcement in index.html
+ . update the download info in downloads.html
+ . copy the Doxygen doc and run ./webadapt.sh
+ . update release_notes.txt (and point downloads.html to it instead of NEWS)
+ Note: some html fixes have been done on hepforge
+ backport them to the trunk
+
+X.Y.Z switch version number to X.Y.Z+1-devel
+X.Y.Z make sure everything is committed
+
+======================================================================
+SISCone 3.0.1 release checklist
+----------------------------------------------------------------------
+3.0.1 make a copy of this
+3.0.1 run svn up
+3.0.1 update version numbber in configure.ac
+3.0.1 update version number by running ./setversion.sh
+3.0.1 update version number in Doxyfile (should go in the script!)
+3.0.1 include the release in NEWS
+3.0.1 run doxygen
+3.0.1 update the html doc
+ . version number in each header [should be automated!]
+ . announcement in index.html
+ . download link (and date) in download.html
+3.0.1 mention the release in Changelog by adding
+ "Release of SISCone X.Y.Z"
+3.0.1 make sure everything is committed
+3.0.1 run 'make distcheck'
+3.0.1 tag the release
+ svn cp . svn+ssh://login.hepforge.org/hepforge/svn/siscone/tags/siscone-3.0.1
+3.0.1 copy the tarball to HepForge
+ scp siscone-3.0.1.tar.gz login.hepforge.org:~siscone/downloads/
+3.0.1 update the HepForge pages
+ . backup 'devel', 'include', *.html in a vX.Y.Z folder
+ . check the header and footer in 'include'
+ . update the announcement in index.html
+ . update the download info in downloads.html
+ . copy the Doxygen doc and run ./webadapt.sh
+ . update release_notes.txt (and point downloads.html to it instead of NEWS)
+ Note: some html fixes have been done on hepforge
+ backport them to the trunk
+
+3.0.1 switch version number to X.Y.Z+1-devel
+3.0.1 make sure everything is committed
+
+======================================================================
+SISCone 3.0.0 release checklist
+----------------------------------------------------------------------
+3.0.0 make a copy of this
+3.0.0 run svn up
+3.0.0 update version number by running ./setversion.sh
+3.0.0 update version number in Doxyfile (should go in the script!)
+3.0.0 include the release in NEWS
+3.0.0 run doxygen
+3.0.0 update the html doc
+ . version number in each header [should be automated!]
+ . announcement in index.html
+ . download link (and date) in download.html
+3.0.0 mention the release in Changelog by adding
+ "Release of SISCone X.Y.Z"
+3.0.0 make sure everything is committed
+3.0.0 run 'make distcheck'
+3.0.0 tag the release
+ svn cp . svn+ssh://login.hepforge.org/hepforge/svn/siscone/tags/siscone-X.Y.Z
+3.0.0 copy the tarball to HepForge
+ scp siscone-X.Y.Z.tar.gz login.hepforge.org:~siscone/downloads/
+3.0.0 update the HepForge pages
+ . backup 'devel', 'include', *.html in a vX.Y.Z folder
+ . check the header and footer in 'include'
+ . update the announcement in index.html
+ . update the download info in downloads.html
+ . copy the Doxygen doc and run ./webadapt.sh
+ . update release_notes.txt (and point downloads.html to it instead of NEWS)
+3.0.0 switch version number to X.Y.Z+1-devel
+3.0.0 make sure everything is committed
+
+======================================================================
+SISCone 2.0.6 release checklist
+----------------------------------------------------------------------
+2.0.6 make a copy of this
+2.0.6 run svn up
+2.0.6 update version number by running ./setversion.sh
+2.0.6 update version number in Doxyfile (should go in the script!)
+2.0.6 include the release in NEWS
+2.0.6 run doxygen
+2.0.6 update the html doc
+ . version number in each header [should be automated!]
+ . announcement in index.html
+ . download link (and date) in download.html
+2.0.6 mention the release in Changelog by adding
+ "Release of SISCone X.Y.Z"
+2.0.6 run 'make distcheck'
+2.0.6 make sure everything is committed
+2.0.6 tag the release
+ svn cp . svn+ssh://login.hepforge.org/hepforge/svn/siscone/tags/siscone-2.0.6
+2.0.6 copy the tarball to HepForge
+ scp siscone-X.Y.Z.tar.gz login.hepforge.org:~siscone/downloads/
+2.0.6 update the HepForge pages
+ . backup 'devel', 'include', *.html in a vX.Y.Z folder
+ . check the header and footer in 'include'
+ . update the announcement in index.html
+ . update the download info in downloads.html
+ . copy the Doxygen doc and run ./webadapt.sh
+ . update release_notes.txt
+2.0.6 switch version number to X.Y.Z+1-devel
+2.0.6 make sure everything is committed
+
Index: tags/siscone-3.0.2/Makefile.am
===================================================================
--- tags/siscone-3.0.2/Makefile.am (revision 0)
+++ tags/siscone-3.0.2/Makefile.am (revision 398)
@@ -0,0 +1,2 @@
+SUBDIRS = siscone examples
+EXTRA_DIST = makefile.static Doxyfile
Index: tags/siscone-3.0.2/setversion.sh
===================================================================
--- tags/siscone-3.0.2/setversion.sh (revision 0)
+++ tags/siscone-3.0.2/setversion.sh (revision 398)
@@ -0,0 +1,27 @@
+#!/bin/bash
+#
+# Script to update the version number in the locations where it is
+# hard-coded. Note that this happens only in the situations where no
+# config.h file is present, i.e. in SISCone builds that do not use
+# autotools.
+#
+# Usage:
+# ./setversion.sh
+# The version number will be read from configure.ac
+
+# get the version number from configure.ac
+version=`grep '^ *AC_INIT' configure.ac`
+version=${version##*[}
+version=${version%]*}
+echo "Using version number '"$version"' from configure.ac."
+
+for file in `grep -l -r "#define VERSION" siscone/*.{h,cpp} siscone/spherical/*.{h,cpp} examples/*.{h,cpp} | grep -v "config.h"`; do
+ echo "Performing replacement in '"${file}"'"
+ current_definition=`grep -h "#define VERSION" ${file}`
+ current_version=${current_definition#*\"}
+ current_version=${current_version%*\"}
+ echo " replacing '"${current_version}"' with '"${version}"'"
+ sed -e"s/$current_version/$version/" ${file} > ./tmp.tmp
+ mv ./tmp.tmp ${file}
+done
+
Property changes on: tags/siscone-3.0.2/setversion.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/siscone-3.0.2/autogen.sh
===================================================================
--- tags/siscone-3.0.2/autogen.sh (revision 0)
+++ tags/siscone-3.0.2/autogen.sh (revision 398)
@@ -0,0 +1,137 @@
+#!/bin/sh
+# Run this to generate all the initial makefiles, etc.
+
+srcdir=`dirname $0`
+PKG_NAME="SISCone"
+
+DIE=0
+
+(autoconf --version) < /dev/null > /dev/null 2>&1 || {
+ echo
+ echo "**Error**: You must have \`autoconf' installed to."
+ echo "Download the appropriate package for your distribution,"
+ echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/"
+ DIE=1
+}
+
+(grep "^AC_PROG_LIBTOOL" $srcdir/configure.ac >/dev/null) && {
+ (((libtool --version) < /dev/null > /dev/null 2>&1) ||
+ ((libtool -V) < /dev/null > /dev/null 2>&1)) ||
+ {
+ echo
+ echo "**Error**: You must have \`libtool' installed."
+ echo "Get ftp://ftp.gnu.org/pub/gnu/libtool-1.2d.tar.gz"
+ echo "(or a newer version if it is available)"
+ DIE=1
+ }
+}
+
+grep "^AM_GNU_GETTEXT" $srcdir/configure.ac >/dev/null && {
+ grep "sed.*POTFILES" $srcdir/configure.ac >/dev/null || \
+ (gettext --version) < /dev/null > /dev/null 2>&1 || {
+ echo
+ echo "**Error**: You must have \`gettext' installed."
+ echo "Get ftp://alpha.gnu.org/gnu/gettext-0.10.35.tar.gz"
+ echo "(or a newer version if it is available)"
+ DIE=1
+ }
+}
+
+(automake --version) < /dev/null > /dev/null 2>&1 || {
+ echo
+ echo "**Error**: You must have \`automake' installed."
+ echo "Get ftp://ftp.gnu.org/pub/gnu/automake-1.3.tar.gz"
+ echo "(or a newer version if it is available)"
+ DIE=1
+ NO_AUTOMAKE=yes
+}
+
+
+# if no automake, don't bother testing for aclocal
+test -n "$NO_AUTOMAKE" || (aclocal --version) < /dev/null > /dev/null 2>&1 || {
+ echo
+ echo "**Error**: Missing \`aclocal'. The version of \`automake'"
+ echo "installed doesn't appear recent enough."
+ echo "Get ftp://ftp.gnu.org/pub/gnu/automake-1.3.tar.gz"
+ echo "(or a newer version if it is available)"
+ DIE=1
+}
+
+if test "$DIE" -eq 1; then
+ exit 1
+fi
+
+if test -z "$*"; then
+ echo "**Warning**: I am going to run \`configure' with no arguments."
+ echo "If you wish to pass any to it, please specify them on the"
+ echo \`$0\'" command line."
+ echo
+fi
+
+case $CC in
+xlc )
+ am_opt=--include-deps;;
+esac
+
+for coin in `find $srcdir -name configure.ac -print`
+do
+ dr=`dirname $coin`
+ if test -f $dr/NO-AUTO-GEN; then
+ echo skipping $dr -- flagged as no auto-gen
+ else
+ echo processing $dr
+ macrodirs=`sed -n -e 's,AM_ACLOCAL_INCLUDE(\(.*\)),\1,gp' < $coin`
+ ( cd $dr
+ aclocalinclude="$ACLOCAL_FLAGS -I ."
+ for k in $macrodirs; do
+ if test -d $k; then
+ aclocalinclude="$aclocalinclude -I $k"
+ ##else
+ ## echo "**Warning**: No such directory \`$k'. Ignored."
+ fi
+ done
+ if grep "^AM_GNU_GETTEXT" configure.ac >/dev/null; then
+ if grep "sed.*POTFILES" configure.ac >/dev/null; then
+ : do nothing -- we still have an old unmodified configure.ac
+ else
+ echo "Creating $dr/aclocal.m4 ..."
+ test -r $dr/aclocal.m4 || touch $dr/aclocal.m4
+ echo "Running gettextize... Ignore non-fatal messages."
+ echo "no" | gettextize --force --copy
+ echo "Making $dr/aclocal.m4 writable ..."
+ test -r $dr/aclocal.m4 && chmod u+w $dr/aclocal.m4
+ fi
+ fi
+ if grep "^AM_GNOME_GETTEXT" configure.ac >/dev/null; then
+ echo "Creating $dr/aclocal.m4 ..."
+ test -r $dr/aclocal.m4 || touch $dr/aclocal.m4
+ echo "Running gettextize... Ignore non-fatal messages."
+ echo "no" | gettextize --force --copy
+ echo "Making $dr/aclocal.m4 writable ..."
+ test -r $dr/aclocal.m4 && chmod u+w $dr/aclocal.m4
+ fi
+ if grep "^AC_PROG_LIBTOOL" configure.ac >/dev/null; then
+ echo "Running libtoolize..."
+ libtoolize --force --copy
+ fi
+ echo "Running aclocal $aclocalinclude ..."
+ aclocal $aclocalinclude
+ #if grep "^AM_CONFIG_HEADER" configure.ac >/dev/null; then
+ # echo "Running autoheader..."
+ autoheader
+ #fi
+ echo "Running automake --gnu $am_opt ..."
+ automake --add-missing --gnu $am_opt
+ echo "Running autoconf ..."
+ autoconf
+ )
+ fi
+done
+
+if test x$NOCONFIGURE = x; then
+ echo Running $srcdir/configure $conf_flags "$@" ...
+ $srcdir/configure $conf_flags "$@" \
+ && echo Now type \`make\' to compile $PKG_NAME
+else
+ echo Skipping configure process.
+fi
Property changes on: tags/siscone-3.0.2/autogen.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/siscone-3.0.2/NEWS
===================================================================
--- tags/siscone-3.0.2/NEWS (revision 0)
+++ tags/siscone-3.0.2/NEWS (revision 398)
@@ -0,0 +1,199 @@
+This file contains the history of SISCone releases. For each one,
+we give a short summary of the important changes from the previous
+version. If you want to see a more detailed list of changes, please
+read the ChangeLog file.
+
+SISCone version 3.0.2 (March 16 2016)
+=====================
+
+* Minor release, fixing a bug due to an array being used uninitialised
+ (no impact on results). Also replaced auto_ptr by unique_ptr when
+ supported by compiler (version to be included in FastJet>=3.2.0)
+
+SISCone version 3.0.1 (February 29 2016)
+=====================
+
+* Minor release, fixing a bug due to a rounding issue that occurs the
+ theta range in (rare) specific configurations where theta=pi in the
+ split-merge procedure for spherical SISCone
+
+SISCone version 3.0.0 (September 9 2014)
+=====================
+
+* Added the option of running SISCone with progressive removal,
+ corresponding to the following algorithm:
+
+ 1. search for stable cones
+ 2. declare the hardest stable cone a jet and remove its particles
+ from the list of remaining particles
+ 3. if there are some remaining particles, go back to 1.
+
+ Use Csiscone::compute_jets_progressive_removal(...) for this version
+ of SISCone
+
+ The scale used to determine which is the hardest stable cone can be
+ chosen amongst the same options as the scale used for the
+ split--merge step [SM_pttilde by default for the pp version of
+ SISCone, SM_Etilde for the spherical version]. Alternatively, a
+ user-defined scale choice can be provided using set_user_scale(...).
+
+ Version to be included in FastJet>=3.1.0
+
+SISCone version 2.0.6 (April 9 2013)
+=====================
+* Minor release fixing an issue concerning the installation of
+ configuration headers and bringing small updates in the autotools
+ build system (version to be included in FastJet>=3.0.4)
+
+SISCone version 2.0.5 (January 17 2012)
+=====================
+* Minor release bringing minor improvements to the build system
+ (version to be included in FastJet>=3.0.2)
+
+SISCone version 2.0.4 (November 25 2011)
+=====================
+* Minor release to remove a few gcc warnings when compiled with
+ high warning level (-ansi -pedantic -Wextra -Wshadow)
+ (version to be included in FastJet>=3.0.1)
+
+SISCone version 2.0.3 (October 5 2011)
+=====================
+* Minor release to fix a badly documented Etilde variable in the
+ spherical version of SISCone and to remove a few gcc warnings
+ (version to be included in FastJet 3.x)
+
+SISCone version 2.0.2 (May 2011)
+=====================
+* minor modifications to the build system
+ (version to be included in FastJet 3.x)
+
+SISCone version 2.0.1 (May 2009)
+=====================
+* enabled shared libraries by default
+ [that was the source of a bug in fastJet]
+* replaced _R with _radius to fix build problems on old OSX systems
+* fixed some syntax inconsistencies in Makefile.am's
+
+
+SISCone version 2.0.0 (Apr 2009)
+=====================
+* Added a spherical version of SISCone for use in e+e- collisions
+ This typically works in the same way as the pp version of SISCone
+ with the following remarks:
+ - the classes fot the spherical versions of SISCone are prefixed by
+ 'CSph' instead of 'C' (e.g. CSphMomentum CSphSISCone)
+ - the cone radius is defined as its half opening angle (particle
+ distances are also defined through the angle they define, or,
+ equivalently, as distances on the surface of a unit sphere)
+ - For ordering the protojets during the split--merge, we use
+ E_tilde defined as
+ / |p_i X p_J|^2 \
+ \sum_{i\in J} E_i | 1 + --------------- |
+ \ |p_i|^2 E_J^2 /
+ Note that the computation of the overlap uses the "plain" energy
+
+* Added a flag (Csiscone::use_pt_weighted_splitting) to modify the
+ split part of the split-merge procedure in such a way that a shared
+ particle i is assigned the one of the overlapping jets j=1,2 that
+ has the smaller value of DeltaR_{ij}/p_{tj}. This produces more
+ circular jets.
+
+* fixed a bug in the computation of the rapidity range in the
+ split-merge step
+
+* the protocones list now contains the full 4-momentum information
+ (rather than just eta and phi)
+
+* fixed bugs in example/test.cpp
+
+
+SISCone version 1.3.3 (Aug 2008)
+=====================
+* added bugfix for g++-4.3 (missing headers for "exit")
+
+
+SISCone version 1.3.2 (Mar 2008)
+=====================
+* VERSION and PROGRAM (or PACKAGE_NAME) are no longer accessible
+ directly because of potential conflicts with other packages.
+ You should use siscone_version() and siscone_package_name()
+ instead. (Thanks to Rolf Seuster)
+* allow the users to set their own default compilation flags.
+
+
+SISCone version 1.3.1 (Mar 2008)
+=====================
+* fixed some compilation issues under windows
+
+
+SISCone version 1.3.0 (Nov 2007)
+=====================
+
+* The main update in this new release is the switch to
+ 'autotools'. This means that instead of using the (static) Makefile
+ build process, you can now use the "standard ./configure; make; make
+ install" approach. See the INSTALL file for details.
+
+* added a 'siscone_area' example of how jet areas work within SISCone.
+
+
+SISCone version 1.2.0 (Jun 2007)
+=====================
+
+* 10-15% speed increase by introducing a tiling in the eta-phi plane
+ allowing for better overlap checking in the split--merge. This can
+ turn into a bigger effect for area computations.
+
+* implementing a 'jet area' class to compute active and/or passive
+ areas.
+
+* in examples:
+ - fix bug in the cmdline parsing (there was a segfault with
+ unrecognised long options),
+ - add "passes information" to the verbose output of the main siscone
+ program,
+ - solve problems with the 'time' example.
+
+
+SISCone version 1.1.1 (Mar 2007)
+=====================
+
+* The major upgrade is the use of pttilde (p-scheme pt) instead
+ of mt in the split--merge process. Indeed, we have noticed
+ that mt can lead to IR usafety in the case of two back-to-back
+ narrow-decay-width unstable particles (e.g. a pair of Higgs bosons).
+ See http://projects.hepforge.org/siscone/sm_issue.html for details.
+
+ Note that SISCone 1.1.1 allows the user to specify its choice for
+ the split-merge variable (we highly recommand the default choice)
+
+* The number of passes is now set to infinity (0) by default
+
+* Small minor changes in the 'siscone' command-line options
+
+
+SISCone version 1.1.0 (Mar 2007)
+=====================
+
+* dealt with colinearity issues
+
+* dealt with cocircularity situations (and related rounding errors)
+
+* use mt instead of pt in the split-merge
+ pt lead to some IR unsafety for events with momentum conservation
+
+* move all references to HEPForge
+
+* Important note: some typos have been fixed. As a consequence, some
+ end-user members have been affected:
+ - The contents of the jets is accessed through 'Cjet::contents'
+ instead of 'Cjet::content'
+ - The function called to save the jet contents to disk is
+ 'Csplit_merge::save_contents' instead of 'Csplit_merge::save_content'
+ Note that 'Csiscone::save_contents' is also valid.
+
+
+SISCone version 1.0.0 (Jan 2007)
+=====================
+
+This is the first stable release of siscone.
Index: tags/siscone-3.0.2
===================================================================
--- tags/siscone-3.0.2 (revision 397)
+++ tags/siscone-3.0.2 (revision 398)
Property changes on: tags/siscone-3.0.2
___________________________________________________________________
Added: svn:ignore
## -0,0 +1,19 ##
+*.tar.gz
+
+Makefile.in
+
+config.guess
+config.log
+config.status
+config.sub
+configure
+depcomp
+aclocal.m4
+Makefile
+autom4te.cache
+install-sh
+libtool
+ltmain.sh
+missing
+
+compile

File Metadata

Mime Type
text/x-diff
Expires
Tue, Nov 19, 3:27 PM (1 d, 17 h)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
0e/a6/a223f285544140c693975fa76717
Default Alt Text
(1 MB)

Event Timeline