[med-svn] [probabel] 01/02: Imported Upstream version 0.4.1
Lennart Karssen
lckarssen-guest at moszumanska.debian.org
Sun Dec 8 22:13:16 UTC 2013
This is an automated email from the git hooks/post-receive script.
lckarssen-guest pushed a commit to branch master
in repository probabel.
commit 634e1db14ef05f6bd2037f685db473ccc2d14a79
Author: L.C. Karssen <lennart at karssen.org>
Date: Sun Dec 8 15:42:47 2013 +0100
Imported Upstream version 0.4.1
---
Makefile.am | 4 +
Makefile.in | 717 ++
aclocal.m4 | 1103 +++
checks/Makefile.am | 153 +
checks/Makefile.in | 696 ++
checks/check_dose_input.sh | 36 +
checks/check_probabel.pl_chunk.sh | 152 +
checks/inputfiles/coxph_data.txt | 201 +
checks/inputfiles/height.txt | 201 +
checks/inputfiles/logist_data.txt | 201 +
checks/inputfiles/mmscore_InvSigma_aj.sex.age.dat | 500 ++
checks/inputfiles/mmscore_gen.dose.fvd | Bin 0 -> 10000 bytes
checks/inputfiles/mmscore_gen.dose.fvi | Bin 0 -> 16208 bytes
checks/inputfiles/mmscore_gen.mldose | 500 ++
checks/inputfiles/mmscore_gen.mlinfo | 6 +
checks/inputfiles/mmscore_gen.mlprob | 500 ++
checks/inputfiles/mmscore_gen.prob.fvd | Bin 0 -> 20000 bytes
checks/inputfiles/mmscore_gen.prob.fvi | Bin 0 -> 16368 bytes
checks/inputfiles/mmscore_pheno.PHE | 501 ++
checks/inputfiles/test.dose.fvd | Bin 0 -> 4000 bytes
checks/inputfiles/test.dose.fvi | Bin 0 -> 6608 bytes
checks/inputfiles/test.map | 6 +
checks/inputfiles/test.mldose | 200 +
checks/inputfiles/test.mlinfo | 6 +
checks/inputfiles/test.mlprob | 200 +
checks/inputfiles/test.prob.fvd | Bin 0 -> 8000 bytes
checks/inputfiles/test.prob.fvi | Bin 0 -> 6768 bytes
checks/run_diff.sh | 29 +
checks/test_all.sh | 10 +
checks/test_bt.sh | 78 +
checks/test_cox.sh | 71 +
checks/test_mms.sh | 77 +
checks/test_qt.sh | 264 +
checks/verified_results/height_add.out.txt | 6 +
checks/verified_results/height_base_add.out.txt | 6 +
checks/verified_results/height_ngp2_2df.out.txt | 6 +
checks/verified_results/height_ngp2_add.out.txt | 6 +
checks/verified_results/height_ngp2_domin.out.txt | 6 +
.../height_ngp2_over_domin.out.txt | 6 +
checks/verified_results/height_ngp2_recess.out.txt | 6 +
compile | 143 +
configure | 7419 ++++++++++++++++++++
configure.ac | 165 +
depcomp | 630 ++
doc/COPYING | 340 +
doc/ChangeLog | 375 +
doc/INSTALL | 138 +
doc/LICENSE | 3 +
doc/Makefile.am | 63 +
doc/Makefile.in | 546 ++
doc/ProbABEL_manual.tex | 893 +++
doc/QuickStart.txt | 9 +
doc/TODO | 3 +
doc/pacoxph.1 | 79 +
doc/palinear.1 | 85 +
doc/palogist.1 | 85 +
doc/short_coxph_data.txt | 11 +
doc/short_height.txt | 11 +
doc/short_height_base_add.out.txt.save | 6 +
doc/short_logist_data.txt | 11 +
doc/short_test.mldose | 11 +
doc/test.map | 6 +
doc/test.mlinfo | 6 +
doc/test_regression.R | 71 +
examples/Makefile.am | 42 +
examples/Makefile.in | 514 ++
examples/README | 3 +
examples/coxph_data.txt | 201 +
examples/example_bt.sh | 54 +
examples/example_cox.sh | 53 +
examples/example_mmscore.sh | 54 +
examples/example_qt.sh | 134 +
examples/gtdata/mmscore_gen.dose.fvd | Bin 0 -> 10000 bytes
examples/gtdata/mmscore_gen.dose.fvi | Bin 0 -> 16208 bytes
examples/gtdata/mmscore_gen.mldose | 500 ++
examples/gtdata/mmscore_gen.mlinfo | 6 +
examples/gtdata/mmscore_gen.mlprob | 500 ++
examples/gtdata/mmscore_gen.prob.fvd | Bin 0 -> 20000 bytes
examples/gtdata/mmscore_gen.prob.fvi | Bin 0 -> 16368 bytes
examples/gtdata/test.dose.fvd | Bin 0 -> 4000 bytes
examples/gtdata/test.dose.fvi | Bin 0 -> 6608 bytes
examples/gtdata/test.map | 6 +
examples/gtdata/test.mldose | 200 +
examples/gtdata/test.mlinfo | 6 +
examples/gtdata/test.mlprob | 200 +
examples/gtdata/test.prob.fvd | Bin 0 -> 8000 bytes
examples/gtdata/test.prob.fvi | Bin 0 -> 6768 bytes
examples/height.txt | 201 +
examples/logist_data.txt | 201 +
examples/mmscore.R | 172 +
examples/mmscore_InvSigma_aj.sex.age.dat | 500 ++
examples/mmscore_pheno.PHE | 501 ++
install-sh | 520 ++
missing | 376 +
src/Makefile.am | 92 +
src/Makefile.in | 2100 ++++++
src/chinv2.c | 64 +
src/cholesky.cpp | 154 +
src/cholesky.h | 21 +
src/cholesky2.c | 56 +
src/chsolve2.c | 46 +
src/command_line_settings.cpp | 378 +
src/command_line_settings.h | 109 +
src/config.h.in | 168 +
src/coxfit2.c | 466 ++
src/coxph_data.cpp | 378 +
src/coxph_data.h | 70 +
src/data.cpp | 237 +
src/data.h | 58 +
src/dmatrix.c | 19 +
src/eigen_mematrix.cpp | 410 ++
src/eigen_mematrix.h | 60 +
src/extIDS.pl | 9 +
src/extract-snp.cpp | 209 +
src/fvlib/AbstractMatrix.cpp | 20 +
src/fvlib/AbstractMatrix.h | 130 +
src/fvlib/CastUtils.cpp | 207 +
src/fvlib/CastUtils.h | 124 +
src/fvlib/FileVector.cpp | 721 ++
src/fvlib/FileVector.h | 160 +
src/fvlib/FilteredMatrix.cpp | 189 +
src/fvlib/FilteredMatrix.h | 198 +
src/fvlib/Logger.cpp | 20 +
src/fvlib/Logger.h | 79 +
src/fvlib/RealHandlerWrapper.cpp | 45 +
src/fvlib/RealHandlerWrapper.h | 33 +
src/fvlib/ReusableFileHandle.cpp | 74 +
src/fvlib/ReusableFileHandle.h | 60 +
src/fvlib/Transposer.cpp | 163 +
src/fvlib/Transposer.h | 45 +
src/fvlib/const.h | 21 +
src/fvlib/convert_util.cpp | 306 +
src/fvlib/convert_util.h | 13 +
src/fvlib/frutil.cpp | 177 +
src/fvlib/frutil.h | 80 +
src/fvlib/frversion.h | 8 +
src/gendata.cpp | 251 +
src/gendata.h | 48 +
src/include/R.h | 71 +
src/include/R_ext/Arith.h | 85 +
src/include/R_ext/Boolean.h | 35 +
src/include/R_ext/Complex.h | 37 +
src/include/R_ext/Constants.h | 42 +
src/include/R_ext/Error.h | 45 +
src/include/R_ext/Memory.h | 48 +
src/include/R_ext/Print.h | 40 +
src/include/R_ext/RS.h | 92 +
src/include/R_ext/Random.h | 69 +
src/include/R_ext/Utils.h | 113 +
src/include/R_ext/libextern.h | 46 +
src/include/Rconfig.h | 1046 +++
src/include/Rmath.h | 633 ++
src/main.cpp | 936 +++
src/maskedmatrix.cpp | 133 +
src/maskedmatrix.h | 38 +
src/mematri1.h | 613 ++
src/mematrix.h | 59 +
src/phedata.cpp | 237 +
src/phedata.h | 57 +
src/prepare_data.R | 72 +
src/probabel.pl | 340 +
src/probabel_config.cfg.example | 29 +
src/reg1.cpp | 836 +++
src/reg1.h | 98 +
src/regdata.cpp | 212 +
src/regdata.h | 44 +
src/survS.h | 12 +
src/survproto.h | 216 +
src/usage.cpp | 90 +
src/usage.h | 16 +
src/utilities.cpp | 23 +
src/utilities.h | 12 +
172 files changed, 37258 insertions(+)
diff --git a/Makefile.am b/Makefile.am
new file mode 100644
index 0000000..7b3d14a
--- /dev/null
+++ b/Makefile.am
@@ -0,0 +1,4 @@
+## Process this file with automake to produce Makefile.in
+
+AUTOMAKE_OPTIONS = foreign
+SUBDIRS = src doc checks examples
diff --git a/Makefile.in b/Makefile.in
new file mode 100644
index 0000000..7f0a0d8
--- /dev/null
+++ b/Makefile.in
@@ -0,0 +1,717 @@
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+ at SET_MAKE@
+VPATH = @srcdir@
+am__make_dryrun = \
+ { \
+ am__dry=no; \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
+ | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+ *) \
+ for am__flg in $$MAKEFLAGS; do \
+ case $$am__flg in \
+ *=*|--*) ;; \
+ *n*) am__dry=yes; break;; \
+ esac; \
+ done;; \
+ esac; \
+ test $$am__dry = yes; \
+ }
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+subdir = .
+DIST_COMMON = $(am__configure_deps) $(srcdir)/Makefile.am \
+ $(srcdir)/Makefile.in $(top_srcdir)/configure compile depcomp \
+ install-sh missing
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
+ configure.lineno config.status.lineno
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/src/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+ html-recursive info-recursive install-data-recursive \
+ install-dvi-recursive install-exec-recursive \
+ install-html-recursive install-info-recursive \
+ install-pdf-recursive install-ps-recursive install-recursive \
+ installcheck-recursive installdirs-recursive pdf-recursive \
+ ps-recursive uninstall-recursive
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
+ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+ distdir dist dist-all distcheck
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+am__remove_distdir = \
+ if test -d "$(distdir)"; then \
+ find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
+ && rm -rf "$(distdir)" \
+ || { sleep 5 && rm -rf "$(distdir)"; }; \
+ else :; fi
+am__relativize = \
+ dir0=`pwd`; \
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+ sed_rest='s,^[^/]*/*,,'; \
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+ sed_butlast='s,/*[^/]*$$,,'; \
+ while test -n "$$dir1"; do \
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+ if test "$$first" != "."; then \
+ if test "$$first" = ".."; then \
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+ else \
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+ if test "$$first2" = "$$first"; then \
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+ else \
+ dir2="../$$dir2"; \
+ fi; \
+ dir0="$$dir0"/"$$first"; \
+ fi; \
+ fi; \
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+ done; \
+ reldir="$$dir2"
+DIST_ARCHIVES = $(distdir).tar.gz
+GZIP_ENV = --best
+distuninstallcheck_listfiles = find . -type f -print
+am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
+ | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
+distcleancheck_listfiles = find . -type f -print
+ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+GREP = @GREP@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PDFLATEX = @PDFLATEX@
+R = @R@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build_alias = @build_alias@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host_alias = @host_alias@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+AUTOMAKE_OPTIONS = foreign
+SUBDIRS = src doc checks examples
+all: all-recursive
+
+.SUFFIXES:
+am--refresh: Makefile
+ @:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \
+ $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ echo ' $(SHELL) ./config.status'; \
+ $(SHELL) ./config.status;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ $(am__cd) $(srcdir) && $(AUTOCONF)
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+$(am__aclocal_m4_deps):
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+# (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+$(RECURSIVE_TARGETS):
+ @fail= failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+ *k*) failcom='fail=yes';; \
+ esac; \
+ done; \
+ dot_seen=no; \
+ target=`echo $@ | sed s/-recursive//`; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ dot_seen=yes; \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done; \
+ if test "$$dot_seen" = "no"; then \
+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+ fi; test -z "$$fail"
+
+$(RECURSIVE_CLEAN_TARGETS):
+ @fail= failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+ *k*) failcom='fail=yes';; \
+ esac; \
+ done; \
+ dot_seen=no; \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ rev=''; for subdir in $$list; do \
+ if test "$$subdir" = "."; then :; else \
+ rev="$$subdir $$rev"; \
+ fi; \
+ done; \
+ rev="$$rev ."; \
+ target=`echo $@ | sed s/-recursive//`; \
+ for subdir in $$rev; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done && test -z "$$fail"
+tags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ done
+ctags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+ done
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ set x; \
+ here=`pwd`; \
+ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+ include_option=--etags-include; \
+ empty_fix=.; \
+ else \
+ include_option=--include; \
+ empty_fix=; \
+ fi; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test ! -f $$subdir/TAGS || \
+ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
+ fi; \
+ done; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ $(am__remove_distdir)
+ test -d "$(distdir)" || mkdir "$(distdir)"
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ $(am__make_dryrun) \
+ || test -d "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
+ || exit 1; \
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+ $(am__relativize); \
+ new_distdir=$$reldir; \
+ dir1=$$subdir; dir2="$(top_distdir)"; \
+ $(am__relativize); \
+ new_top_distdir=$$reldir; \
+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+ ($(am__cd) $$subdir && \
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$$new_top_distdir" \
+ distdir="$$new_distdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ am__skip_mode_fix=: \
+ distdir) \
+ || exit 1; \
+ fi; \
+ done
+ -test -n "$(am__skip_mode_fix)" \
+ || find "$(distdir)" -type d ! -perm -755 \
+ -exec chmod u+rwx,go+rx {} \; -o \
+ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
+ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
+ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
+ || chmod -R a+r "$(distdir)"
+dist-gzip: distdir
+ tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+ $(am__remove_distdir)
+
+dist-bzip2: distdir
+ tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
+ $(am__remove_distdir)
+
+dist-lzip: distdir
+ tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
+ $(am__remove_distdir)
+
+dist-lzma: distdir
+ tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
+ $(am__remove_distdir)
+
+dist-xz: distdir
+ tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
+ $(am__remove_distdir)
+
+dist-tarZ: distdir
+ tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
+ $(am__remove_distdir)
+
+dist-shar: distdir
+ shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
+ $(am__remove_distdir)
+
+dist-zip: distdir
+ -rm -f $(distdir).zip
+ zip -rq $(distdir).zip $(distdir)
+ $(am__remove_distdir)
+
+dist dist-all: distdir
+ tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+ $(am__remove_distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ case '$(DIST_ARCHIVES)' in \
+ *.tar.gz*) \
+ GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
+ *.tar.bz2*) \
+ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
+ *.tar.lzma*) \
+ lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
+ *.tar.lz*) \
+ lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
+ *.tar.xz*) \
+ xz -dc $(distdir).tar.xz | $(am__untar) ;;\
+ *.tar.Z*) \
+ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
+ *.shar.gz*) \
+ GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
+ *.zip*) \
+ unzip $(distdir).zip ;;\
+ esac
+ chmod -R a-w $(distdir); chmod u+w $(distdir)
+ mkdir $(distdir)/_build
+ mkdir $(distdir)/_inst
+ chmod a-w $(distdir)
+ test -d $(distdir)/_build || exit 0; \
+ dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
+ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
+ && am__cwd=`pwd` \
+ && $(am__cd) $(distdir)/_build \
+ && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+ $(AM_DISTCHECK_CONFIGURE_FLAGS) \
+ $(DISTCHECK_CONFIGURE_FLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) uninstall \
+ && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
+ distuninstallcheck \
+ && chmod -R a-w "$$dc_install_base" \
+ && ({ \
+ (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
+ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
+ } || { rm -rf "$$dc_destdir"; exit 1; }) \
+ && rm -rf "$$dc_destdir" \
+ && $(MAKE) $(AM_MAKEFLAGS) dist \
+ && rm -rf $(DIST_ARCHIVES) \
+ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
+ && cd "$$am__cwd" \
+ || exit 1
+ $(am__remove_distdir)
+ @(echo "$(distdir) archives ready for distribution: "; \
+ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
+ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
+distuninstallcheck:
+ @test -n '$(distuninstallcheck_dir)' || { \
+ echo 'ERROR: trying to run $@ with an empty' \
+ '$$(distuninstallcheck_dir)' >&2; \
+ exit 1; \
+ }; \
+ $(am__cd) '$(distuninstallcheck_dir)' || { \
+ echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \
+ exit 1; \
+ }; \
+ test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \
+ || { echo "ERROR: files left after uninstall:" ; \
+ if test -n "$(DESTDIR)"; then \
+ echo " (check DESTDIR support)"; \
+ fi ; \
+ $(distuninstallcheck_listfiles) ; \
+ exit 1; } >&2
+distcleancheck: distclean
+ @if test '$(srcdir)' = . ; then \
+ echo "ERROR: distcleancheck can only run from a VPATH build" ; \
+ exit 1 ; \
+ fi
+ @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
+ || { echo "ERROR: files left in build directory after distclean:" ; \
+ $(distcleancheck_listfiles) ; \
+ exit 1; } >&2
+check-am: all-am
+check: check-recursive
+all-am: Makefile
+installdirs: installdirs-recursive
+installdirs-am:
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-recursive
+
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-recursive
+ -rm -f $(am__CONFIG_DISTCLEAN_FILES)
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+html-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-html-am:
+
+install-info: install-info-recursive
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+ -rm -f $(am__CONFIG_DISTCLEAN_FILES)
+ -rm -rf $(top_srcdir)/autom4te.cache
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
+ install-am install-strip tags-recursive
+
+.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
+ all all-am am--refresh check check-am clean clean-generic \
+ ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \
+ dist-lzip dist-lzma dist-shar dist-tarZ dist-xz dist-zip \
+ distcheck distclean distclean-generic distclean-tags \
+ distcleancheck distdir distuninstallcheck dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs installdirs-am maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
+ pdf-am ps ps-am tags tags-recursive uninstall uninstall-am
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/aclocal.m4 b/aclocal.m4
new file mode 100644
index 0000000..20b1acc
--- /dev/null
+++ b/aclocal.m4
@@ -0,0 +1,1103 @@
+# generated automatically by aclocal 1.11.6 -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation,
+# Inc.
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+m4_ifndef([AC_AUTOCONF_VERSION],
+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],,
+[m4_warning([this file was generated for autoconf 2.69.
+You have another version of autoconf. It may work, but is not guaranteed to.
+If you have problems, you may need to regenerate the build system entirely.
+To do so, use the procedure documented by the package, typically `autoreconf'.])])
+
+# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008, 2011 Free Software
+# Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 1
+
+# AM_AUTOMAKE_VERSION(VERSION)
+# ----------------------------
+# Automake X.Y traces this macro to ensure aclocal.m4 has been
+# generated from the m4 files accompanying Automake X.Y.
+# (This private macro should not be called outside this file.)
+AC_DEFUN([AM_AUTOMAKE_VERSION],
+[am__api_version='1.11'
+dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
+dnl require some minimum version. Point them to the right macro.
+m4_if([$1], [1.11.6], [],
+ [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
+])
+
+# _AM_AUTOCONF_VERSION(VERSION)
+# -----------------------------
+# aclocal traces this macro to find the Autoconf version.
+# This is a private macro too. Using m4_define simplifies
+# the logic in aclocal, which can simply ignore this definition.
+m4_define([_AM_AUTOCONF_VERSION], [])
+
+# AM_SET_CURRENT_AUTOMAKE_VERSION
+# -------------------------------
+# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
+# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
+AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
+[AM_AUTOMAKE_VERSION([1.11.6])dnl
+m4_ifndef([AC_AUTOCONF_VERSION],
+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
+
+# AM_AUX_DIR_EXPAND -*- Autoconf -*-
+
+# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 1
+
+# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
+# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
+# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
+#
+# Of course, Automake must honor this variable whenever it calls a
+# tool from the auxiliary directory. The problem is that $srcdir (and
+# therefore $ac_aux_dir as well) can be either absolute or relative,
+# depending on how configure is run. This is pretty annoying, since
+# it makes $ac_aux_dir quite unusable in subdirectories: in the top
+# source directory, any form will work fine, but in subdirectories a
+# relative path needs to be adjusted first.
+#
+# $ac_aux_dir/missing
+# fails when called from a subdirectory if $ac_aux_dir is relative
+# $top_srcdir/$ac_aux_dir/missing
+# fails if $ac_aux_dir is absolute,
+# fails when called from a subdirectory in a VPATH build with
+# a relative $ac_aux_dir
+#
+# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
+# are both prefixed by $srcdir. In an in-source build this is usually
+# harmless because $srcdir is `.', but things will broke when you
+# start a VPATH build or use an absolute $srcdir.
+#
+# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
+# iff we strip the leading $srcdir from $ac_aux_dir. That would be:
+# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
+# and then we would define $MISSING as
+# MISSING="\${SHELL} $am_aux_dir/missing"
+# This will work as long as MISSING is not called from configure, because
+# unfortunately $(top_srcdir) has no meaning in configure.
+# However there are other variables, like CC, which are often used in
+# configure, and could therefore not use this "fixed" $ac_aux_dir.
+#
+# Another solution, used here, is to always expand $ac_aux_dir to an
+# absolute PATH. The drawback is that using absolute paths prevent a
+# configured tree to be moved without reconfiguration.
+
+AC_DEFUN([AM_AUX_DIR_EXPAND],
+[dnl Rely on autoconf to set up CDPATH properly.
+AC_PREREQ([2.50])dnl
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+])
+
+# AM_CONDITIONAL -*- Autoconf -*-
+
+# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 9
+
+# AM_CONDITIONAL(NAME, SHELL-CONDITION)
+# -------------------------------------
+# Define a conditional.
+AC_DEFUN([AM_CONDITIONAL],
+[AC_PREREQ(2.52)dnl
+ ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
+ [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+AC_SUBST([$1_TRUE])dnl
+AC_SUBST([$1_FALSE])dnl
+_AM_SUBST_NOTMAKE([$1_TRUE])dnl
+_AM_SUBST_NOTMAKE([$1_FALSE])dnl
+m4_define([_AM_COND_VALUE_$1], [$2])dnl
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi
+AC_CONFIG_COMMANDS_PRE(
+[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
+ AC_MSG_ERROR([[conditional "$1" was never defined.
+Usually this means the macro was only invoked conditionally.]])
+fi])])
+
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009,
+# 2010, 2011 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 12
+
+# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
+# written in clear, in which case automake, when reading aclocal.m4,
+# will think it sees a *use*, and therefore will trigger all it's
+# C support machinery. Also note that it means that autoscan, seeing
+# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
+
+
+# _AM_DEPENDENCIES(NAME)
+# ----------------------
+# See how the compiler implements dependency checking.
+# NAME is "CC", "CXX", "GCJ", or "OBJC".
+# We try a few techniques and use that to set a single cache variable.
+#
+# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
+# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
+# dependency, and given that the user is not expected to run this macro,
+# just rely on AC_PROG_CC.
+AC_DEFUN([_AM_DEPENDENCIES],
+[AC_REQUIRE([AM_SET_DEPDIR])dnl
+AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
+AC_REQUIRE([AM_MAKE_INCLUDE])dnl
+AC_REQUIRE([AM_DEP_TRACK])dnl
+
+ifelse([$1], CC, [depcc="$CC" am_compiler_list=],
+ [$1], CXX, [depcc="$CXX" am_compiler_list=],
+ [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
+ [$1], UPC, [depcc="$UPC" am_compiler_list=],
+ [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
+ [depcc="$$1" am_compiler_list=])
+
+AC_CACHE_CHECK([dependency style of $depcc],
+ [am_cv_$1_dependencies_compiler_type],
+[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+ # We make a subdir and do the tests there. Otherwise we can end up
+ # making bogus files that we don't know about and never remove. For
+ # instance it was reported that on HP-UX the gcc test will end up
+ # making a dummy file named `D' -- because `-MD' means `put the output
+ # in D'.
+ rm -rf conftest.dir
+ mkdir conftest.dir
+ # Copy depcomp to subdir because otherwise we won't find it if we're
+ # using a relative directory.
+ cp "$am_depcomp" conftest.dir
+ cd conftest.dir
+ # We will build objects and dependencies in a subdirectory because
+ # it helps to detect inapplicable dependency modes. For instance
+ # both Tru64's cc and ICC support -MD to output dependencies as a
+ # side effect of compilation, but ICC will put the dependencies in
+ # the current directory while Tru64 will put them in the object
+ # directory.
+ mkdir sub
+
+ am_cv_$1_dependencies_compiler_type=none
+ if test "$am_compiler_list" = ""; then
+ am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
+ fi
+ am__universal=false
+ m4_case([$1], [CC],
+ [case " $depcc " in #(
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
+ esac],
+ [CXX],
+ [case " $depcc " in #(
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
+ esac])
+
+ for depmode in $am_compiler_list; do
+ # Setup a source with many dependencies, because some compilers
+ # like to wrap large dependency lists on column 80 (with \), and
+ # we should not choose a depcomp mode which is confused by this.
+ #
+ # We need to recreate these files for each test, as the compiler may
+ # overwrite some of them when testing with obscure command lines.
+ # This happens at least with the AIX C compiler.
+ : > sub/conftest.c
+ for i in 1 2 3 4 5 6; do
+ echo '#include "conftst'$i'.h"' >> sub/conftest.c
+ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+ # Solaris 8's {/usr,}/bin/sh.
+ touch sub/conftst$i.h
+ done
+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+ # We check with `-c' and `-o' for the sake of the "dashmstdout"
+ # mode. It turns out that the SunPro C++ compiler does not properly
+ # handle `-M -o', and we need to detect this. Also, some Intel
+ # versions had trouble with output in subdirs
+ am__obj=sub/conftest.${OBJEXT-o}
+ am__minus_obj="-o $am__obj"
+ case $depmode in
+ gcc)
+ # This depmode causes a compiler race in universal mode.
+ test "$am__universal" = false || continue
+ ;;
+ nosideeffect)
+ # after this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested
+ if test "x$enable_dependency_tracking" = xyes; then
+ continue
+ else
+ break
+ fi
+ ;;
+ msvc7 | msvc7msys | msvisualcpp | msvcmsys)
+ # This compiler won't grok `-c -o', but also, the minuso test has
+ # not run yet. These depmodes are late enough in the game, and
+ # so weak that their functioning should not be impacted.
+ am__obj=conftest.${OBJEXT-o}
+ am__minus_obj=
+ ;;
+ none) break ;;
+ esac
+ if depmode=$depmode \
+ source=sub/conftest.c object=$am__obj \
+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
+ >/dev/null 2>conftest.err &&
+ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+ # icc doesn't choke on unknown options, it will just issue warnings
+ # or remarks (even with -Werror). So we grep stderr for any message
+ # that says an option was ignored or not supported.
+ # When given -MP, icc 7.0 and 7.1 complain thusly:
+ # icc: Command line warning: ignoring option '-M'; no argument required
+ # The diagnosis changed in icc 8.0:
+ # icc: Command line remark: option '-MP' not supported
+ if (grep 'ignoring option' conftest.err ||
+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+ am_cv_$1_dependencies_compiler_type=$depmode
+ break
+ fi
+ fi
+ done
+
+ cd ..
+ rm -rf conftest.dir
+else
+ am_cv_$1_dependencies_compiler_type=none
+fi
+])
+AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
+AM_CONDITIONAL([am__fastdep$1], [
+ test "x$enable_dependency_tracking" != xno \
+ && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
+])
+
+
+# AM_SET_DEPDIR
+# -------------
+# Choose a directory name for dependency files.
+# This macro is AC_REQUIREd in _AM_DEPENDENCIES
+AC_DEFUN([AM_SET_DEPDIR],
+[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
+])
+
+
+# AM_DEP_TRACK
+# ------------
+AC_DEFUN([AM_DEP_TRACK],
+[AC_ARG_ENABLE(dependency-tracking,
+[ --disable-dependency-tracking speeds up one-time build
+ --enable-dependency-tracking do not reject slow dependency extractors])
+if test "x$enable_dependency_tracking" != xno; then
+ am_depcomp="$ac_aux_dir/depcomp"
+ AMDEPBACKSLASH='\'
+ am__nodep='_no'
+fi
+AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
+AC_SUBST([AMDEPBACKSLASH])dnl
+_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
+AC_SUBST([am__nodep])dnl
+_AM_SUBST_NOTMAKE([am__nodep])dnl
+])
+
+# Generate code to set up dependency tracking. -*- Autoconf -*-
+
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+#serial 5
+
+# _AM_OUTPUT_DEPENDENCY_COMMANDS
+# ------------------------------
+AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
+[{
+ # Autoconf 2.62 quotes --file arguments for eval, but not when files
+ # are listed without --file. Let's play safe and only enable the eval
+ # if we detect the quoting.
+ case $CONFIG_FILES in
+ *\'*) eval set x "$CONFIG_FILES" ;;
+ *) set x $CONFIG_FILES ;;
+ esac
+ shift
+ for mf
+ do
+ # Strip MF so we end up with the name of the file.
+ mf=`echo "$mf" | sed -e 's/:.*$//'`
+ # Check whether this is an Automake generated Makefile or not.
+ # We used to match only the files named `Makefile.in', but
+ # some people rename them; so instead we look at the file content.
+ # Grep'ing the first line is not enough: some people post-process
+ # each Makefile.in and add a new line on top of each file to say so.
+ # Grep'ing the whole file is not good either: AIX grep has a line
+ # limit of 2048, but all sed's we know have understand at least 4000.
+ if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
+ dirpart=`AS_DIRNAME("$mf")`
+ else
+ continue
+ fi
+ # Extract the definition of DEPDIR, am__include, and am__quote
+ # from the Makefile without running `make'.
+ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+ test -z "$DEPDIR" && continue
+ am__include=`sed -n 's/^am__include = //p' < "$mf"`
+ test -z "am__include" && continue
+ am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+ # When using ansi2knr, U may be empty or an underscore; expand it
+ U=`sed -n 's/^U = //p' < "$mf"`
+ # Find all dependency output files, they are included files with
+ # $(DEPDIR) in their names. We invoke sed twice because it is the
+ # simplest approach to changing $(DEPDIR) to its actual value in the
+ # expansion.
+ for file in `sed -n "
+ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+ # Make sure the directory exists.
+ test -f "$dirpart/$file" && continue
+ fdir=`AS_DIRNAME(["$file"])`
+ AS_MKDIR_P([$dirpart/$fdir])
+ # echo "creating $dirpart/$file"
+ echo '# dummy' > "$dirpart/$file"
+ done
+ done
+}
+])# _AM_OUTPUT_DEPENDENCY_COMMANDS
+
+
+# AM_OUTPUT_DEPENDENCY_COMMANDS
+# -----------------------------
+# This macro should only be invoked once -- use via AC_REQUIRE.
+#
+# This code is only required when automatic dependency tracking
+# is enabled. FIXME. This creates each `.P' file that we will
+# need in order to bootstrap the dependency handling code.
+AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
+[AC_CONFIG_COMMANDS([depfiles],
+ [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
+ [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
+])
+
+# Do all the work for Automake. -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 16
+
+# This macro actually does too much. Some checks are only needed if
+# your package does certain things. But this isn't really a big deal.
+
+# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
+# AM_INIT_AUTOMAKE([OPTIONS])
+# -----------------------------------------------
+# The call with PACKAGE and VERSION arguments is the old style
+# call (pre autoconf-2.50), which is being phased out. PACKAGE
+# and VERSION should now be passed to AC_INIT and removed from
+# the call to AM_INIT_AUTOMAKE.
+# We support both call styles for the transition. After
+# the next Automake release, Autoconf can make the AC_INIT
+# arguments mandatory, and then we can depend on a new Autoconf
+# release and drop the old call support.
+AC_DEFUN([AM_INIT_AUTOMAKE],
+[AC_PREREQ([2.62])dnl
+dnl Autoconf wants to disallow AM_ names. We explicitly allow
+dnl the ones we care about.
+m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
+AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
+AC_REQUIRE([AC_PROG_INSTALL])dnl
+if test "`cd $srcdir && pwd`" != "`pwd`"; then
+ # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+ # is not polluted with repeated "-I."
+ AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
+ # test to see if srcdir already configured
+ if test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+ fi
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+ if (cygpath --version) >/dev/null 2>/dev/null; then
+ CYGPATH_W='cygpath -w'
+ else
+ CYGPATH_W=echo
+ fi
+fi
+AC_SUBST([CYGPATH_W])
+
+# Define the identity of the package.
+dnl Distinguish between old-style and new-style calls.
+m4_ifval([$2],
+[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+ AC_SUBST([PACKAGE], [$1])dnl
+ AC_SUBST([VERSION], [$2])],
+[_AM_SET_OPTIONS([$1])dnl
+dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
+m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
+ [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
+ AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
+ AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
+
+_AM_IF_OPTION([no-define],,
+[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+ AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
+
+# Some tools Automake needs.
+AC_REQUIRE([AM_SANITY_CHECK])dnl
+AC_REQUIRE([AC_ARG_PROGRAM])dnl
+AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
+AM_MISSING_PROG(AUTOCONF, autoconf)
+AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
+AM_MISSING_PROG(AUTOHEADER, autoheader)
+AM_MISSING_PROG(MAKEINFO, makeinfo)
+AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
+AC_REQUIRE([AM_PROG_MKDIR_P])dnl
+# We need awk for the "check" target. The system "awk" is bad on
+# some platforms.
+AC_REQUIRE([AC_PROG_AWK])dnl
+AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
+ [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
+ [_AM_PROG_TAR([v7])])])
+_AM_IF_OPTION([no-dependencies],,
+[AC_PROVIDE_IFELSE([AC_PROG_CC],
+ [_AM_DEPENDENCIES(CC)],
+ [define([AC_PROG_CC],
+ defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_CXX],
+ [_AM_DEPENDENCIES(CXX)],
+ [define([AC_PROG_CXX],
+ defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_OBJC],
+ [_AM_DEPENDENCIES(OBJC)],
+ [define([AC_PROG_OBJC],
+ defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
+])
+_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
+dnl The `parallel-tests' driver may need to know about EXEEXT, so add the
+dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro
+dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
+AC_CONFIG_COMMANDS_PRE(dnl
+[m4_provide_if([_AM_COMPILER_EXEEXT],
+ [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
+])
+
+dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion. Do not
+dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
+dnl mangled by Autoconf and run in a shell conditional statement.
+m4_define([_AC_COMPILER_EXEEXT],
+m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
+
+
+# When config.status generates a header, we must update the stamp-h file.
+# This file resides in the same directory as the config header
+# that is generated. The stamp files are numbered to have different names.
+
+# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
+# loop where config.status creates the headers, so we can generate
+# our stamp files there.
+AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
+[# Compute $1's index in $config_headers.
+_am_arg=$1
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+ case $_am_header in
+ $_am_arg | $_am_arg:* )
+ break ;;
+ * )
+ _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+ esac
+done
+echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
+
+# Copyright (C) 2001, 2003, 2005, 2008, 2011 Free Software Foundation,
+# Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 1
+
+# AM_PROG_INSTALL_SH
+# ------------------
+# Define $install_sh.
+AC_DEFUN([AM_PROG_INSTALL_SH],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+if test x"${install_sh}" != xset; then
+ case $am_aux_dir in
+ *\ * | *\ *)
+ install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
+ *)
+ install_sh="\${SHELL} $am_aux_dir/install-sh"
+ esac
+fi
+AC_SUBST(install_sh)])
+
+# Copyright (C) 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# Check whether the underlying file-system supports filenames
+# with a leading dot. For instance MS-DOS doesn't.
+AC_DEFUN([AM_SET_LEADING_DOT],
+[rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+ am__leading_dot=.
+else
+ am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+AC_SUBST([am__leading_dot])])
+
+# Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
+# From Jim Meyering
+
+# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008,
+# 2011 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 5
+
+# AM_MAINTAINER_MODE([DEFAULT-MODE])
+# ----------------------------------
+# Control maintainer-specific portions of Makefiles.
+# Default is to disable them, unless `enable' is passed literally.
+# For symmetry, `disable' may be passed as well. Anyway, the user
+# can override the default with the --enable/--disable switch.
+AC_DEFUN([AM_MAINTAINER_MODE],
+[m4_case(m4_default([$1], [disable]),
+ [enable], [m4_define([am_maintainer_other], [disable])],
+ [disable], [m4_define([am_maintainer_other], [enable])],
+ [m4_define([am_maintainer_other], [enable])
+ m4_warn([syntax], [unexpected argument to AM@&t at _MAINTAINER_MODE: $1])])
+AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+ dnl maintainer-mode's default is 'disable' unless 'enable' is passed
+ AC_ARG_ENABLE([maintainer-mode],
+[ --][am_maintainer_other][-maintainer-mode am_maintainer_other make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer],
+ [USE_MAINTAINER_MODE=$enableval],
+ [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
+ AC_MSG_RESULT([$USE_MAINTAINER_MODE])
+ AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
+ MAINT=$MAINTAINER_MODE_TRUE
+ AC_SUBST([MAINT])dnl
+]
+)
+
+AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
+
+# Check to see how 'make' treats includes. -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002, 2003, 2005, 2009 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 4
+
+# AM_MAKE_INCLUDE()
+# -----------------
+# Check to see how make treats includes.
+AC_DEFUN([AM_MAKE_INCLUDE],
+[am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+ @echo this is the am__doit target
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+AC_MSG_CHECKING([for style of include used by $am_make])
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# Ignore all kinds of additional output from `make'.
+case `$am_make -s -f confmf 2> /dev/null` in #(
+*the\ am__doit\ target*)
+ am__include=include
+ am__quote=
+ _am_result=GNU
+ ;;
+esac
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+ echo '.include "confinc"' > confmf
+ case `$am_make -s -f confmf 2> /dev/null` in #(
+ *the\ am__doit\ target*)
+ am__include=.include
+ am__quote="\""
+ _am_result=BSD
+ ;;
+ esac
+fi
+AC_SUBST([am__include])
+AC_SUBST([am__quote])
+AC_MSG_RESULT([$_am_result])
+rm -f confinc confmf
+])
+
+# Copyright (C) 1999, 2000, 2001, 2003, 2004, 2005, 2008
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 6
+
+# AM_PROG_CC_C_O
+# --------------
+# Like AC_PROG_CC_C_O, but changed for automake.
+AC_DEFUN([AM_PROG_CC_C_O],
+[AC_REQUIRE([AC_PROG_CC_C_O])dnl
+AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([compile])dnl
+# FIXME: we rely on the cache variable name because
+# there is no other way.
+set dummy $CC
+am_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']`
+eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
+if test "$am_t" != yes; then
+ # Losing compiler, so override with the script.
+ # FIXME: It is wrong to rewrite CC.
+ # But if we don't then we get into trouble of one sort or another.
+ # A longer-term fix would be to have automake use am__CC in this case,
+ # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+ CC="$am_aux_dir/compile $CC"
+fi
+dnl Make sure AC_PROG_CC is never called again, or it will override our
+dnl setting of CC.
+m4_define([AC_PROG_CC],
+ [m4_fatal([AC_PROG_CC cannot be called after AM_PROG_CC_C_O])])
+])
+
+# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
+
+# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 6
+
+# AM_MISSING_PROG(NAME, PROGRAM)
+# ------------------------------
+AC_DEFUN([AM_MISSING_PROG],
+[AC_REQUIRE([AM_MISSING_HAS_RUN])
+$1=${$1-"${am_missing_run}$2"}
+AC_SUBST($1)])
+
+
+# AM_MISSING_HAS_RUN
+# ------------------
+# Define MISSING if not defined so far and test if it supports --run.
+# If it does, set am_missing_run to use it, otherwise, to nothing.
+AC_DEFUN([AM_MISSING_HAS_RUN],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([missing])dnl
+if test x"${MISSING+set}" != xset; then
+ case $am_aux_dir in
+ *\ * | *\ *)
+ MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
+ *)
+ MISSING="\${SHELL} $am_aux_dir/missing" ;;
+ esac
+fi
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+ am_missing_run="$MISSING --run "
+else
+ am_missing_run=
+ AC_MSG_WARN([`missing' script is too old or missing])
+fi
+])
+
+# Copyright (C) 2003, 2004, 2005, 2006, 2011 Free Software Foundation,
+# Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 1
+
+# AM_PROG_MKDIR_P
+# ---------------
+# Check for `mkdir -p'.
+AC_DEFUN([AM_PROG_MKDIR_P],
+[AC_PREREQ([2.60])dnl
+AC_REQUIRE([AC_PROG_MKDIR_P])dnl
+dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P,
+dnl while keeping a definition of mkdir_p for backward compatibility.
+dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
+dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
+dnl Makefile.ins that do not define MKDIR_P, so we do our own
+dnl adjustment using top_builddir (which is defined more often than
+dnl MKDIR_P).
+AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
+case $mkdir_p in
+ [[\\/$]]* | ?:[[\\/]]*) ;;
+ */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
+esac
+])
+
+# Helper functions for option handling. -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002, 2003, 2005, 2008, 2010 Free Software
+# Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 5
+
+# _AM_MANGLE_OPTION(NAME)
+# -----------------------
+AC_DEFUN([_AM_MANGLE_OPTION],
+[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
+
+# _AM_SET_OPTION(NAME)
+# --------------------
+# Set option NAME. Presently that only means defining a flag for this option.
+AC_DEFUN([_AM_SET_OPTION],
+[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
+
+# _AM_SET_OPTIONS(OPTIONS)
+# ------------------------
+# OPTIONS is a space-separated list of Automake options.
+AC_DEFUN([_AM_SET_OPTIONS],
+[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
+
+# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
+# -------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+AC_DEFUN([_AM_IF_OPTION],
+[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
+
+# Check to make sure that the build environment is sane. -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 5
+
+# AM_SANITY_CHECK
+# ---------------
+AC_DEFUN([AM_SANITY_CHECK],
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Reject unsafe characters in $srcdir or the absolute working directory
+# name. Accept space and tab only in the latter.
+am_lf='
+'
+case `pwd` in
+ *[[\\\"\#\$\&\'\`$am_lf]]*)
+ AC_MSG_ERROR([unsafe absolute working directory name]);;
+esac
+case $srcdir in
+ *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*)
+ AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);;
+esac
+
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
+ if test "$[*]" = "X"; then
+ # -L didn't work.
+ set X `ls -t "$srcdir/configure" conftest.file`
+ fi
+ rm -f conftest.file
+ if test "$[*]" != "X $srcdir/configure conftest.file" \
+ && test "$[*]" != "X conftest.file $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "$[2]" = conftest.file
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+AC_MSG_RESULT(yes)])
+
+# Copyright (C) 2009, 2011 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# AM_SILENT_RULES([DEFAULT])
+# --------------------------
+# Enable less verbose build rules; with the default set to DEFAULT
+# (`yes' being less verbose, `no' or empty being verbose).
+AC_DEFUN([AM_SILENT_RULES],
+[AC_ARG_ENABLE([silent-rules],
+[ --enable-silent-rules less verbose build output (undo: `make V=1')
+ --disable-silent-rules verbose build output (undo: `make V=0')])
+case $enable_silent_rules in
+yes) AM_DEFAULT_VERBOSITY=0;;
+no) AM_DEFAULT_VERBOSITY=1;;
+*) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
+esac
+dnl
+dnl A few `make' implementations (e.g., NonStop OS and NextStep)
+dnl do not support nested variable expansions.
+dnl See automake bug#9928 and bug#10237.
+am_make=${MAKE-make}
+AC_CACHE_CHECK([whether $am_make supports nested variables],
+ [am_cv_make_support_nested_variables],
+ [if AS_ECHO([['TRUE=$(BAR$(V))
+BAR0=false
+BAR1=true
+V=1
+am__doit:
+ @$(TRUE)
+.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then
+ am_cv_make_support_nested_variables=yes
+else
+ am_cv_make_support_nested_variables=no
+fi])
+if test $am_cv_make_support_nested_variables = yes; then
+ dnl Using `$V' instead of `$(V)' breaks IRIX make.
+ AM_V='$(V)'
+ AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
+else
+ AM_V=$AM_DEFAULT_VERBOSITY
+ AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
+fi
+AC_SUBST([AM_V])dnl
+AM_SUBST_NOTMAKE([AM_V])dnl
+AC_SUBST([AM_DEFAULT_V])dnl
+AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl
+AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
+AM_BACKSLASH='\'
+AC_SUBST([AM_BACKSLASH])dnl
+_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
+])
+
+# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 1
+
+# AM_PROG_INSTALL_STRIP
+# ---------------------
+# One issue with vendor `install' (even GNU) is that you can't
+# specify the program used to strip binaries. This is especially
+# annoying in cross-compiling environments, where the build's strip
+# is unlikely to handle the host's binaries.
+# Fortunately install-sh will honor a STRIPPROG variable, so we
+# always use install-sh in `make install-strip', and initialize
+# STRIPPROG with the value of the STRIP variable (set by the user).
+AC_DEFUN([AM_PROG_INSTALL_STRIP],
+[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'. However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
+if test "$cross_compiling" != no; then
+ AC_CHECK_TOOL([STRIP], [strip], :)
+fi
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+AC_SUBST([INSTALL_STRIP_PROGRAM])])
+
+# Copyright (C) 2006, 2008, 2010 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 3
+
+# _AM_SUBST_NOTMAKE(VARIABLE)
+# ---------------------------
+# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
+# This macro is traced by Automake.
+AC_DEFUN([_AM_SUBST_NOTMAKE])
+
+# AM_SUBST_NOTMAKE(VARIABLE)
+# --------------------------
+# Public sister of _AM_SUBST_NOTMAKE.
+AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
+
+# Check how to create a tarball. -*- Autoconf -*-
+
+# Copyright (C) 2004, 2005, 2012 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# _AM_PROG_TAR(FORMAT)
+# --------------------
+# Check how to create a tarball in format FORMAT.
+# FORMAT should be one of `v7', `ustar', or `pax'.
+#
+# Substitute a variable $(am__tar) that is a command
+# writing to stdout a FORMAT-tarball containing the directory
+# $tardir.
+# tardir=directory && $(am__tar) > result.tar
+#
+# Substitute a variable $(am__untar) that extract such
+# a tarball read from stdin.
+# $(am__untar) < result.tar
+AC_DEFUN([_AM_PROG_TAR],
+[# Always define AMTAR for backward compatibility. Yes, it's still used
+# in the wild :-( We should find a proper way to deprecate it ...
+AC_SUBST([AMTAR], ['$${TAR-tar}'])
+m4_if([$1], [v7],
+ [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
+ [m4_case([$1], [ustar],, [pax],,
+ [m4_fatal([Unknown tar format])])
+AC_MSG_CHECKING([how to create a $1 tar archive])
+# Loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
+_am_tools=${am_cv_prog_tar_$1-$_am_tools}
+# Do not fold the above two line into one, because Tru64 sh and
+# Solaris sh will not grok spaces in the rhs of `-'.
+for _am_tool in $_am_tools
+do
+ case $_am_tool in
+ gnutar)
+ for _am_tar in tar gnutar gtar;
+ do
+ AM_RUN_LOG([$_am_tar --version]) && break
+ done
+ am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
+ am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
+ am__untar="$_am_tar -xf -"
+ ;;
+ plaintar)
+ # Must skip GNU tar: if it does not support --format= it doesn't create
+ # ustar tarball either.
+ (tar --version) >/dev/null 2>&1 && continue
+ am__tar='tar chf - "$$tardir"'
+ am__tar_='tar chf - "$tardir"'
+ am__untar='tar xf -'
+ ;;
+ pax)
+ am__tar='pax -L -x $1 -w "$$tardir"'
+ am__tar_='pax -L -x $1 -w "$tardir"'
+ am__untar='pax -r'
+ ;;
+ cpio)
+ am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
+ am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
+ am__untar='cpio -i -H $1 -d'
+ ;;
+ none)
+ am__tar=false
+ am__tar_=false
+ am__untar=false
+ ;;
+ esac
+
+ # If the value was cached, stop now. We just wanted to have am__tar
+ # and am__untar set.
+ test -n "${am_cv_prog_tar_$1}" && break
+
+ # tar/untar a dummy directory, and stop if the command works
+ rm -rf conftest.dir
+ mkdir conftest.dir
+ echo GrepMe > conftest.dir/file
+ AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+ rm -rf conftest.dir
+ if test -s conftest.tar; then
+ AM_RUN_LOG([$am__untar <conftest.tar])
+ grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+ fi
+done
+rm -rf conftest.dir
+
+AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
+AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+AC_SUBST([am__tar])
+AC_SUBST([am__untar])
+]) # _AM_PROG_TAR
+
diff --git a/checks/Makefile.am b/checks/Makefile.am
new file mode 100644
index 0000000..1c4f4f9
--- /dev/null
+++ b/checks/Makefile.am
@@ -0,0 +1,153 @@
+## Process this file with automake to produce Makefile.in
+
+AUTOMAKE_OPTIONS = foreign color-tests
+
+verified_results_dir = verified_results
+
+verified_results = $(verified_results_dir)/height_add.out.txt \
+ $(verified_results_dir)/height_ngp2_add.out.txt \
+ $(verified_results_dir)/height_ngp2_2df.out.txt \
+ $(verified_results_dir)/height_ngp2_domin.out.txt \
+ $(verified_results_dir)/height_ngp2_over_domin.out.txt \
+ $(verified_results_dir)/height_ngp2_recess.out.txt \
+ $(verified_results_dir)/height_base_add.out.txt
+
+input_files_dir = inputfiles
+
+phenofiles = $(input_files_dir)/height.txt \
+ $(input_files_dir)/logist_data.txt \
+ $(input_files_dir)/coxph_data.txt \
+ $(input_files_dir)/mmscore_pheno.PHE
+
+genofiles = $(input_files_dir)/test.mldose \
+ $(input_files_dir)/test.mlprob \
+ $(input_files_dir)/test.mlinfo \
+ $(input_files_dir)/test.map \
+ $(input_files_dir)/test.dose.fvi \
+ $(input_files_dir)/test.dose.fvd \
+ $(input_files_dir)/test.prob.fvi \
+ $(input_files_dir)/test.prob.fvd \
+ $(input_files_dir)/mmscore_gen.mlinfo \
+ $(input_files_dir)/mmscore_gen.mldose \
+ $(input_files_dir)/mmscore_gen.mlprob \
+ $(input_files_dir)/mmscore_gen.dose.fvi \
+ $(input_files_dir)/mmscore_gen.dose.fvd \
+ $(input_files_dir)/mmscore_gen.prob.fvi \
+ $(input_files_dir)/mmscore_gen.prob.fvd \
+ $(input_files_dir)/mmscore_InvSigma_aj.sex.age.dat
+
+input_files = $(phenofiles) $(genofiles) run_diff.sh test_all.sh
+
+check_SCRIPTS =
+
+
+TESTS_ENVIRONMENT = bash
+if BUILD_palinear
+check_SCRIPTS += check_probabel.pl_chunk.sh check_dose_input.sh
+check_SCRIPTS += test_qt.sh test_mms.sh
+endif
+if BUILD_palogist
+check_SCRIPTS += test_bt.sh
+endif
+if BUILD_pacoxph
+check_SCRIPTS += test_cox.sh
+endif
+
+
+
+TESTS = $(check_SCRIPTS)
+
+testsdir = $(pkgdatadir)/tests
+dist_tests_DATA = $(verified_results) $(input_files)
+dist_tests_SCRIPTS = $(check_SCRIPTS)
+
+
+##################################################
+# Files that need to be cleaned up after testing
+##################################################
+
+cleanfiles_bt = logist_add.out.txt logist_fv_add.out.txt \
+logist_prob_2df.out.txt logist_prob_fv_2df.out.txt \
+logist_prob_fv_domin.out.txt logist_prob_add.out.txt \
+logist_prob_fv_add.out.txt logist_prob_over_domin.out.txt \
+logist_prob_domin.out.txt logist_prob_fv_recess.out.txt \
+logist_prob_fv_over_domin.out.txt logist_prob_recess.out.txt
+
+cleanfiles_qt = height_base_add.out.txt height_base_fv_add.out.txt \
+height_allcov_add.out.txt height_allcov_fv_add.out.txt \
+height_int1_add.out.txt height_int1_fv_add.out.txt \
+height_robust_add.out.txt height_robust_fv_add.out.txt \
+height_robust_int1_add.out.txt height_robust_int1_fv_add.out.txt \
+height_ngp2_add.out.txt height_ngp2_fv_add.out.txt \
+height_ngp2_domin.out.txt height_ngp2_fv_domin.out.txt \
+height_ngp2_over_domin.out.txt height_ngp2_fv_over_domin.out.txt \
+height_ngp2_recess.out.txt height_ngp2_fv_recess.out.txt \
+height_ngp2_2df.out.txt height_ngp2_fv_2df.out.txt \
+height_ngp2_allcov_add.out.txt height_ngp2_allcov_fv_add.out.txt \
+height_ngp2_allcov_domin.out.txt height_ngp2_allcov_fv_domin.out.txt \
+height_ngp2_allcov_over_domin.out.txt \
+height_ngp2_allcov_fv_over_domin.out.txt \
+height_ngp2_allcov_recess.out.txt height_ngp2_allcov_fv_recess.out.txt \
+height_ngp2_allcov_recess.out.txt height_ngp2_allcov_fv_recess.out.txt \
+height_ngp2_int1_add.out.txt height_ngp2_int1_fv_add.out.txt \
+height_ngp2_int1_domin.out.txt height_ngp2_int1_fv_domin.out.txt \
+height_ngp2_int1_over_domin.out.txt \
+height_ngp2_int1_fv_over_domin.out.txt height_ngp2_int1_recess.out.txt \
+height_ngp2_int1_fv_recess.out.txt height_ngp2_int1_2df.out.txt \
+height_ngp2_int1_fv_2df.out.txt height_ngp2_robust_add.out.txt \
+height_ngp2_robust_fv_add.out.txt height_ngp2_robust_domin.out.txt \
+height_ngp2_robust_fv_domin.out.txt \
+height_ngp2_robust_over_domin.out.txt \
+height_ngp2_robust_fv_over_domin.out.txt \
+height_ngp2_robust_recess.out.txt height_ngp2_robust_fv_recess.out.txt \
+height_ngp2_robust_2df.out.txt height_ngp2_robust_fv_2df.out.txt \
+height_ngp2_robust_int1_add.out.txt \
+height_ngp2_robust_int1_fv_add.out.txt \
+height_ngp2_robust_int1_domin.out.txt \
+height_ngp2_robust_int1_fv_domin.out.txt \
+height_ngp2_robust_int1_over_domin.out.txt \
+height_ngp2_robust_int1_fv_over_domin.out.txt \
+height_ngp2_robust_int1_recess.out.txt \
+height_ngp2_robust_int1_fv_recess.out.txt \
+height_ngp2_robust_int1_2df.out.txt \
+height_ngp2_robust_int1_fv_2df.out.txt \
+height_ngp2_allcov_fv_2df.out.txt height_ngp2_robust_fv_add.out.txt \
+height_ngp2_allcov_2df.out.txt
+
+cleanfiles_mms = mmscore_dose_add.out.txt mmscore_dose_fv_add.out.txt \
+mmscore_prob_fv_over_domin.out.txt mmscore_prob_fv_domin.out.txt \
+mmscore_prob_over_domin.out.txt mmscore_prob_fv_add.out.txt \
+mmscore_prob_fv_recess.out.txt mmscore_prob_domin.out.txt \
+mmscore_prob_recess.out.txt mmscore_prob_add.out.txt \
+mmscore_prob_2df.out.txt mmscore_prob_fv_2df.out.txt
+
+cleanfiles_cox = coxph_dose_add.out.txt coxph_dose_fv_add.out.txt \
+coxph_prob_fv_over_domin.out.txt coxph_prob_fv_domin.out.txt \
+coxph_prob_over_domin.out.txt coxph_prob_fv_add.out.txt \
+coxph_prob_fv_recess.out.txt coxph_prob_domin.out.txt \
+coxph_prob_recess.out.txt coxph_prob_add.out.txt \
+coxph_prob_2df.out.txt coxph_prob_fv_2df.out.txt
+
+
+dose_files = chr1.chunk1.dose chr1.chunk2.dose chr2.chunk1.dose \
+ chr2.chunk2.dose chr1.dose chr2.dose
+
+prob_files = $(dose_files:.dose=.prob)
+map_files = $(dose_files:.dose=.map)
+info_files = $(dose_files:.dose=.info)
+
+output_files = height_add.out.txt height_2df.out.txt \
+ height_domin.out.txt height_over_domin.out.txt height_recess.out.txt \
+ height_ngp2_recess.out.txt height_ngp2_domin.out.txt \
+ height_ngp2_over_domin.out.txt height_ngp2_2df.out.txt \
+ height_ngp2_add.out.txt height_base_add.out.txt
+
+other_files = probabel.pl probabel_config.cfg
+
+cleanfiles_probabel_check = height.PHE $(dose_files) $(prob_files) \
+ $(map_files) $(info_files) $(output_files) $(other_files)
+
+cleanfiles_dose_check = test.mldose
+
+CLEANFILES = $(cleanfiles_probabel_check) $(cleanfiles_dose_check) \
+ $(cleanfiles_bt) $(cleanfiles_qt) $(cleanfiles_mms) $(cleanfiles_cox)
diff --git a/checks/Makefile.in b/checks/Makefile.in
new file mode 100644
index 0000000..bed86f5
--- /dev/null
+++ b/checks/Makefile.in
@@ -0,0 +1,696 @@
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+ at SET_MAKE@
+
+
+VPATH = @srcdir@
+am__make_dryrun = \
+ { \
+ am__dry=no; \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
+ | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+ *) \
+ for am__flg in $$MAKEFLAGS; do \
+ case $$am__flg in \
+ *=*|--*) ;; \
+ *n*) am__dry=yes; break;; \
+ esac; \
+ done;; \
+ esac; \
+ test $$am__dry = yes; \
+ }
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+ at BUILD_palinear_TRUE@am__append_1 = check_probabel.pl_chunk.sh \
+ at BUILD_palinear_TRUE@ check_dose_input.sh test_qt.sh \
+ at BUILD_palinear_TRUE@ test_mms.sh
+ at BUILD_palogist_TRUE@am__append_2 = test_bt.sh
+ at BUILD_pacoxph_TRUE@am__append_3 = test_cox.sh
+subdir = checks
+DIST_COMMON = $(am__dist_tests_SCRIPTS_DIST) $(dist_tests_DATA) \
+ $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/src/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+am__dist_tests_SCRIPTS_DIST = check_probabel.pl_chunk.sh \
+ check_dose_input.sh test_qt.sh test_mms.sh test_bt.sh \
+ test_cox.sh
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
+am__installdirs = "$(DESTDIR)$(testsdir)" "$(DESTDIR)$(testsdir)"
+SCRIPTS = $(dist_tests_SCRIPTS)
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
+SOURCES =
+DIST_SOURCES =
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+DATA = $(dist_tests_DATA)
+# If stdout is a non-dumb tty, use colors. If test -t is not supported,
+# then this fails; a conservative approach. Of course do not redirect
+# stdout here, just stderr.
+am__tty_colors = \
+red=; grn=; lgn=; blu=; std=; \
+test "X$(AM_COLOR_TESTS)" != Xno \
+&& test "X$$TERM" != Xdumb \
+&& { test "X$(AM_COLOR_TESTS)" = Xalways || test -t 1 2>/dev/null; } \
+&& { \
+ red='[0;31m'; \
+ grn='[0;32m'; \
+ lgn='[1;32m'; \
+ blu='[1;34m'; \
+ std='[m'; \
+}
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+GREP = @GREP@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PDFLATEX = @PDFLATEX@
+R = @R@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build_alias = @build_alias@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host_alias = @host_alias@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+AUTOMAKE_OPTIONS = foreign color-tests
+verified_results_dir = verified_results
+verified_results = $(verified_results_dir)/height_add.out.txt \
+ $(verified_results_dir)/height_ngp2_add.out.txt \
+ $(verified_results_dir)/height_ngp2_2df.out.txt \
+ $(verified_results_dir)/height_ngp2_domin.out.txt \
+ $(verified_results_dir)/height_ngp2_over_domin.out.txt \
+ $(verified_results_dir)/height_ngp2_recess.out.txt \
+ $(verified_results_dir)/height_base_add.out.txt
+
+input_files_dir = inputfiles
+phenofiles = $(input_files_dir)/height.txt \
+ $(input_files_dir)/logist_data.txt \
+ $(input_files_dir)/coxph_data.txt \
+ $(input_files_dir)/mmscore_pheno.PHE
+
+genofiles = $(input_files_dir)/test.mldose \
+ $(input_files_dir)/test.mlprob \
+ $(input_files_dir)/test.mlinfo \
+ $(input_files_dir)/test.map \
+ $(input_files_dir)/test.dose.fvi \
+ $(input_files_dir)/test.dose.fvd \
+ $(input_files_dir)/test.prob.fvi \
+ $(input_files_dir)/test.prob.fvd \
+ $(input_files_dir)/mmscore_gen.mlinfo \
+ $(input_files_dir)/mmscore_gen.mldose \
+ $(input_files_dir)/mmscore_gen.mlprob \
+ $(input_files_dir)/mmscore_gen.dose.fvi \
+ $(input_files_dir)/mmscore_gen.dose.fvd \
+ $(input_files_dir)/mmscore_gen.prob.fvi \
+ $(input_files_dir)/mmscore_gen.prob.fvd \
+ $(input_files_dir)/mmscore_InvSigma_aj.sex.age.dat
+
+input_files = $(phenofiles) $(genofiles) run_diff.sh test_all.sh
+check_SCRIPTS = $(am__append_1) $(am__append_2) $(am__append_3)
+TESTS_ENVIRONMENT = bash
+TESTS = $(check_SCRIPTS)
+testsdir = $(pkgdatadir)/tests
+dist_tests_DATA = $(verified_results) $(input_files)
+dist_tests_SCRIPTS = $(check_SCRIPTS)
+
+##################################################
+# Files that need to be cleaned up after testing
+##################################################
+cleanfiles_bt = logist_add.out.txt logist_fv_add.out.txt \
+logist_prob_2df.out.txt logist_prob_fv_2df.out.txt \
+logist_prob_fv_domin.out.txt logist_prob_add.out.txt \
+logist_prob_fv_add.out.txt logist_prob_over_domin.out.txt \
+logist_prob_domin.out.txt logist_prob_fv_recess.out.txt \
+logist_prob_fv_over_domin.out.txt logist_prob_recess.out.txt
+
+cleanfiles_qt = height_base_add.out.txt height_base_fv_add.out.txt \
+height_allcov_add.out.txt height_allcov_fv_add.out.txt \
+height_int1_add.out.txt height_int1_fv_add.out.txt \
+height_robust_add.out.txt height_robust_fv_add.out.txt \
+height_robust_int1_add.out.txt height_robust_int1_fv_add.out.txt \
+height_ngp2_add.out.txt height_ngp2_fv_add.out.txt \
+height_ngp2_domin.out.txt height_ngp2_fv_domin.out.txt \
+height_ngp2_over_domin.out.txt height_ngp2_fv_over_domin.out.txt \
+height_ngp2_recess.out.txt height_ngp2_fv_recess.out.txt \
+height_ngp2_2df.out.txt height_ngp2_fv_2df.out.txt \
+height_ngp2_allcov_add.out.txt height_ngp2_allcov_fv_add.out.txt \
+height_ngp2_allcov_domin.out.txt height_ngp2_allcov_fv_domin.out.txt \
+height_ngp2_allcov_over_domin.out.txt \
+height_ngp2_allcov_fv_over_domin.out.txt \
+height_ngp2_allcov_recess.out.txt height_ngp2_allcov_fv_recess.out.txt \
+height_ngp2_allcov_recess.out.txt height_ngp2_allcov_fv_recess.out.txt \
+height_ngp2_int1_add.out.txt height_ngp2_int1_fv_add.out.txt \
+height_ngp2_int1_domin.out.txt height_ngp2_int1_fv_domin.out.txt \
+height_ngp2_int1_over_domin.out.txt \
+height_ngp2_int1_fv_over_domin.out.txt height_ngp2_int1_recess.out.txt \
+height_ngp2_int1_fv_recess.out.txt height_ngp2_int1_2df.out.txt \
+height_ngp2_int1_fv_2df.out.txt height_ngp2_robust_add.out.txt \
+height_ngp2_robust_fv_add.out.txt height_ngp2_robust_domin.out.txt \
+height_ngp2_robust_fv_domin.out.txt \
+height_ngp2_robust_over_domin.out.txt \
+height_ngp2_robust_fv_over_domin.out.txt \
+height_ngp2_robust_recess.out.txt height_ngp2_robust_fv_recess.out.txt \
+height_ngp2_robust_2df.out.txt height_ngp2_robust_fv_2df.out.txt \
+height_ngp2_robust_int1_add.out.txt \
+height_ngp2_robust_int1_fv_add.out.txt \
+height_ngp2_robust_int1_domin.out.txt \
+height_ngp2_robust_int1_fv_domin.out.txt \
+height_ngp2_robust_int1_over_domin.out.txt \
+height_ngp2_robust_int1_fv_over_domin.out.txt \
+height_ngp2_robust_int1_recess.out.txt \
+height_ngp2_robust_int1_fv_recess.out.txt \
+height_ngp2_robust_int1_2df.out.txt \
+height_ngp2_robust_int1_fv_2df.out.txt \
+height_ngp2_allcov_fv_2df.out.txt height_ngp2_robust_fv_add.out.txt \
+height_ngp2_allcov_2df.out.txt
+
+cleanfiles_mms = mmscore_dose_add.out.txt mmscore_dose_fv_add.out.txt \
+mmscore_prob_fv_over_domin.out.txt mmscore_prob_fv_domin.out.txt \
+mmscore_prob_over_domin.out.txt mmscore_prob_fv_add.out.txt \
+mmscore_prob_fv_recess.out.txt mmscore_prob_domin.out.txt \
+mmscore_prob_recess.out.txt mmscore_prob_add.out.txt \
+mmscore_prob_2df.out.txt mmscore_prob_fv_2df.out.txt
+
+cleanfiles_cox = coxph_dose_add.out.txt coxph_dose_fv_add.out.txt \
+coxph_prob_fv_over_domin.out.txt coxph_prob_fv_domin.out.txt \
+coxph_prob_over_domin.out.txt coxph_prob_fv_add.out.txt \
+coxph_prob_fv_recess.out.txt coxph_prob_domin.out.txt \
+coxph_prob_recess.out.txt coxph_prob_add.out.txt \
+coxph_prob_2df.out.txt coxph_prob_fv_2df.out.txt
+
+dose_files = chr1.chunk1.dose chr1.chunk2.dose chr2.chunk1.dose \
+ chr2.chunk2.dose chr1.dose chr2.dose
+
+prob_files = $(dose_files:.dose=.prob)
+map_files = $(dose_files:.dose=.map)
+info_files = $(dose_files:.dose=.info)
+output_files = height_add.out.txt height_2df.out.txt \
+ height_domin.out.txt height_over_domin.out.txt height_recess.out.txt \
+ height_ngp2_recess.out.txt height_ngp2_domin.out.txt \
+ height_ngp2_over_domin.out.txt height_ngp2_2df.out.txt \
+ height_ngp2_add.out.txt height_base_add.out.txt
+
+other_files = probabel.pl probabel_config.cfg
+cleanfiles_probabel_check = height.PHE $(dose_files) $(prob_files) \
+ $(map_files) $(info_files) $(output_files) $(other_files)
+
+cleanfiles_dose_check = test.mldose
+CLEANFILES = $(cleanfiles_probabel_check) $(cleanfiles_dose_check) \
+ $(cleanfiles_bt) $(cleanfiles_qt) $(cleanfiles_mms) $(cleanfiles_cox)
+
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign checks/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign checks/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+install-dist_testsSCRIPTS: $(dist_tests_SCRIPTS)
+ @$(NORMAL_INSTALL)
+ @list='$(dist_tests_SCRIPTS)'; test -n "$(testsdir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(testsdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(testsdir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \
+ done | \
+ sed -e 'p;s,.*/,,;n' \
+ -e 'h;s|.*|.|' \
+ -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \
+ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \
+ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+ if ($$2 == $$4) { files[d] = files[d] " " $$1; \
+ if (++n[d] == $(am__install_max)) { \
+ print "f", d, files[d]; n[d] = 0; files[d] = "" } } \
+ else { print "f", d "/" $$4, $$1 } } \
+ END { for (d in files) print "f", d, files[d] }' | \
+ while read type dir files; do \
+ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+ test -z "$$files" || { \
+ echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(testsdir)$$dir'"; \
+ $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(testsdir)$$dir" || exit $$?; \
+ } \
+ ; done
+
+uninstall-dist_testsSCRIPTS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(dist_tests_SCRIPTS)'; test -n "$(testsdir)" || exit 0; \
+ files=`for p in $$list; do echo "$$p"; done | \
+ sed -e 's,.*/,,;$(transform)'`; \
+ dir='$(DESTDIR)$(testsdir)'; $(am__uninstall_files_from_dir)
+install-dist_testsDATA: $(dist_tests_DATA)
+ @$(NORMAL_INSTALL)
+ @list='$(dist_tests_DATA)'; test -n "$(testsdir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(testsdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(testsdir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(testsdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(testsdir)" || exit $$?; \
+ done
+
+uninstall-dist_testsDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(dist_tests_DATA)'; test -n "$(testsdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(testsdir)'; $(am__uninstall_files_from_dir)
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+check-TESTS: $(TESTS)
+ @failed=0; all=0; xfail=0; xpass=0; skip=0; \
+ srcdir=$(srcdir); export srcdir; \
+ list=' $(TESTS) '; \
+ $(am__tty_colors); \
+ if test -n "$$list"; then \
+ for tst in $$list; do \
+ if test -f ./$$tst; then dir=./; \
+ elif test -f $$tst; then dir=; \
+ else dir="$(srcdir)/"; fi; \
+ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xpass=`expr $$xpass + 1`; \
+ failed=`expr $$failed + 1`; \
+ col=$$red; res=XPASS; \
+ ;; \
+ *) \
+ col=$$grn; res=PASS; \
+ ;; \
+ esac; \
+ elif test $$? -ne 77; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xfail=`expr $$xfail + 1`; \
+ col=$$lgn; res=XFAIL; \
+ ;; \
+ *) \
+ failed=`expr $$failed + 1`; \
+ col=$$red; res=FAIL; \
+ ;; \
+ esac; \
+ else \
+ skip=`expr $$skip + 1`; \
+ col=$$blu; res=SKIP; \
+ fi; \
+ echo "$${col}$$res$${std}: $$tst"; \
+ done; \
+ if test "$$all" -eq 1; then \
+ tests="test"; \
+ All=""; \
+ else \
+ tests="tests"; \
+ All="All "; \
+ fi; \
+ if test "$$failed" -eq 0; then \
+ if test "$$xfail" -eq 0; then \
+ banner="$$All$$all $$tests passed"; \
+ else \
+ if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
+ banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
+ fi; \
+ else \
+ if test "$$xpass" -eq 0; then \
+ banner="$$failed of $$all $$tests failed"; \
+ else \
+ if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
+ banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
+ fi; \
+ fi; \
+ dashes="$$banner"; \
+ skipped=""; \
+ if test "$$skip" -ne 0; then \
+ if test "$$skip" -eq 1; then \
+ skipped="($$skip test was not run)"; \
+ else \
+ skipped="($$skip tests were not run)"; \
+ fi; \
+ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$skipped"; \
+ fi; \
+ report=""; \
+ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
+ report="Please report to $(PACKAGE_BUGREPORT)"; \
+ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$report"; \
+ fi; \
+ dashes=`echo "$$dashes" | sed s/./=/g`; \
+ if test "$$failed" -eq 0; then \
+ col="$$grn"; \
+ else \
+ col="$$red"; \
+ fi; \
+ echo "$${col}$$dashes$${std}"; \
+ echo "$${col}$$banner$${std}"; \
+ test -z "$$skipped" || echo "$${col}$$skipped$${std}"; \
+ test -z "$$report" || echo "$${col}$$report$${std}"; \
+ echo "$${col}$$dashes$${std}"; \
+ test "$$failed" -eq 0; \
+ else :; fi
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+ $(MAKE) $(AM_MAKEFLAGS) $(check_SCRIPTS)
+ $(MAKE) $(AM_MAKEFLAGS) check-TESTS
+check: check-am
+all-am: Makefile $(SCRIPTS) $(DATA)
+installdirs:
+ for dir in "$(DESTDIR)$(testsdir)" "$(DESTDIR)$(testsdir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-dist_testsDATA install-dist_testsSCRIPTS
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-dist_testsDATA uninstall-dist_testsSCRIPTS
+
+.MAKE: check-am install-am install-strip
+
+.PHONY: all all-am check check-TESTS check-am clean clean-generic \
+ distclean distclean-generic distdir dvi dvi-am html html-am \
+ info info-am install install-am install-data install-data-am \
+ install-dist_testsDATA install-dist_testsSCRIPTS install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am \
+ uninstall-dist_testsDATA uninstall-dist_testsSCRIPTS
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/checks/check_dose_input.sh b/checks/check_dose_input.sh
new file mode 100755
index 0000000..583f918
--- /dev/null
+++ b/checks/check_dose_input.sh
@@ -0,0 +1,36 @@
+#!/bin/sh
+#
+# This script tests whether dose data without a MaCH/minimac-style
+# arrow is read correctly by palinear (and by palogist, since reading
+# genetic data is done using the same code).
+
+echo "Checking palinear with dose data without '->'"
+# Exit with error when one of the steps in the script fails
+set -e
+
+if [ -z ${srcdir} ]; then
+ srcdir="."
+fi
+inputdir="${srcdir}/inputfiles/"
+results="${srcdir}/verified_results/"
+outfile="height_base_add.out.txt"
+
+sed 's/^[[:digit:]]*->//' $inputdir/test.mldose > test.mldose
+
+
+../src/palinear \
+ -p ${inputdir}/height.txt \
+ -d test.mldose \
+ -i ${inputdir}/test.mlinfo \
+ -m ${inputdir}/test.map \
+ -c 19 \
+ -o height_base > /dev/null
+
+blanks=" "
+echo -n " Verifying "
+if diff $outfile $results/$outfile; then
+ echo -e "${outfile}${blanks:${#outfile}} OK"
+else
+ echo -e "${outfile}${blanks:${#outfile}} FAILED"
+ exit 1
+fi
diff --git a/checks/check_probabel.pl_chunk.sh b/checks/check_probabel.pl_chunk.sh
new file mode 100755
index 0000000..b4be59c
--- /dev/null
+++ b/checks/check_probabel.pl_chunk.sh
@@ -0,0 +1,152 @@
+#!/bin/bash
+# L.C. Karssen
+# This script is used to test whether probabel.pl works correctly when
+# input is cut up in chunks
+
+echo "Testing probabel.pl..."
+
+# Exit with error when one of the steps in the script fails
+set -e
+
+# -------- Set some default paths and file names -------
+if [ -z ${srcdir} ]; then
+ srcdir="."
+fi
+inputdir="${srcdir}/inputfiles/"
+padir="${srcdir}/../src/"
+results="${srcdir}/verified_results/"
+
+dosefile="$inputdir/test.mldose"
+probfile="$inputdir/test.mlprob"
+infofile="$inputdir/test.mlinfo"
+mapfile="$inputdir/test.map"
+phenofile="$inputdir/height.txt"
+
+probabel="${padir}/probabel.pl"
+probabelcfg="${padir}/probabel_config.cfg.example"
+chunksep="_._chunk_._"
+chrsep="_._chr_._"
+
+# ------ Prepare probabel.pl and the config file ------
+sed 's;"./";"../src/";g' $probabel > probabel.pl
+chmod a+x probabel.pl
+cp $probabelcfg probabel_config.cfg
+chmod +w probabel_config.cfg # Need this for make distcheck to work
+cp $phenofile height.PHE
+
+base="chr${chrsep}"
+echo "TestCohortNoChunk,$base.info,$base.dose,$base.prob,$base.map" \
+ >> probabel_config.cfg
+
+base="chr${chrsep}.chunk${chunksep}"
+echo "TestCohortChunk,$base.info,$base.dose,$base.prob,$base.map" \
+ >> probabel_config.cfg
+
+
+# ---------- function definitions ----------
+prepare_input ()
+{
+ if [ "$1" = "nochunk" ]; then
+ # ------------------ No chunks test -------------------
+ # Split the dose, prob and info files up into two chromosomes
+ # with some chunks
+ awk '{print $1,$2,$3,$4}' $dosefile > chr1.dose
+ awk '{print $1,$2,$5,$6,$7}' $dosefile > chr2.dose
+
+ awk '{print $1,$2,$3,$4,$5,$6}' $probfile > chr1.prob
+ awk '{print $1,$2,$7,$8,$9,$10,$11,$12}' $probfile > chr2.prob
+
+ sed -n '1,3p' $infofile > chr1.info
+ sed -n '1p' $infofile > chr2.info
+ sed -n '4,6p' $infofile >> chr2.info
+
+ sed -n '1,3p' $mapfile > chr1.map
+ sed -n '1p' $mapfile > chr2.map
+ sed -n '4,6p' $mapfile >> chr2.map
+
+ WithOrWithout="without"
+ elif [ "$1" = "chunk" ]; then
+ # ------------------ Chunks test ----------------------
+ # Split the dose and info files up into two chromosomes with
+ # some chunks
+ awk '{print $1,$2,$3}' $dosefile > chr1.chunk1.dose
+ awk '{print $1,$2,$4}' $dosefile > chr1.chunk2.dose
+ awk '{print $1,$2,$5,$6}' $dosefile > chr2.chunk1.dose
+ awk '{print $1,$2,$7}' $dosefile > chr2.chunk2.dose
+
+ awk '{print $1,$2,$3,$4}' $probfile > chr1.chunk1.prob
+ awk '{print $1,$2,$5,$6}' $probfile > chr1.chunk2.prob
+ awk '{print $1,$2,$7,$8,$9,$10}' $probfile > chr2.chunk1.prob
+ awk '{print $1,$2,$11,$12}' $probfile > chr2.chunk2.prob
+
+ sed -n '1,2p' $infofile > chr1.chunk1.info
+ sed -n '1p' $infofile > chr1.chunk2.info
+ sed -n '3p' $infofile >> chr1.chunk2.info
+ sed -n '1p' $infofile > chr2.chunk1.info
+ sed -n '4,5p' $infofile >> chr2.chunk1.info
+ sed -n '1p' $infofile > chr2.chunk2.info
+ sed -n '6p' $infofile >> chr2.chunk2.info
+
+ sed -n '1,2p' $mapfile > chr1.chunk1.map
+ sed -n '1p' $mapfile > chr1.chunk2.map
+ sed -n '3p' $mapfile >> chr1.chunk2.map
+ sed -n '1p' $mapfile > chr2.chunk1.map
+ sed -n '4,5p' $mapfile >> chr2.chunk1.map
+ sed -n '1p' $mapfile > chr2.chunk2.map
+ sed -n '6p' $mapfile >> chr2.chunk2.map
+
+ WithOrWithout="with"
+ else
+ echo "Run this function with one of these arguments: 'chunk'
+ or 'nochunk'."
+ exit 1
+ fi
+
+}
+
+
+run_test ()
+{
+ # Run an analysis on dosage data
+ outfile="height_add.out.txt"
+
+ echo "Checking output using dosages $WithOrWithout chunks..."
+ ./probabel.pl 1 2 linear $1 --additive height > /dev/null
+
+ blanks=" "
+ echo -n " Verifying "
+ if diff $outfile $results/$outfile; then
+ echo -e "${outfile}${blanks:${#outfile}} OK"
+ else
+ echo -e "${outfile}${blanks:${#outfile}} FAILED"
+ exit 1
+ fi
+
+ # Run an analysis on probabilities
+ outfilelist="height_ngp2_2df.out.txt height_ngp2_recess.out.txt
+ height_ngp2_over_domin.out.txt height_ngp2_domin.out.txt
+ height_ngp2_add.out.txt"
+
+ echo "Checking output using probabilities $WithOrWithout chunks..."
+ ./probabel.pl 1 2 linear $1 --allmodels height -o height_ngp2 > /dev/null
+ for file in $outfilelist; do
+ echo -n " Verifying "
+ if diff $file $results/$file; then
+ echo -e "${file}${blanks:${#file}} OK"
+ else
+ echo -e "${file}${blanks:${#file}} FAILED"
+ exit 1
+ fi
+ done
+}
+
+# ---------- Continuation of the main function ----------
+prepare_input nochunk
+
+run_test TestCohortNoChunk
+echo "-------------------- Finished check without chunks --------------------"
+
+prepare_input chunk
+
+run_test TestCohortChunk
+echo "-------------------- Finished check with chunks --------------------"
diff --git a/checks/inputfiles/coxph_data.txt b/checks/inputfiles/coxph_data.txt
new file mode 100644
index 0000000..8c8fa78
--- /dev/null
+++ b/checks/inputfiles/coxph_data.txt
@@ -0,0 +1,201 @@
+id fupt_chd chd sex age othercov
+id636728 3.187930645 0 0 56.56648772 -0.61664922
+id890314 2.099691952 0 0 74.83119715 0.695315865
+id102874 9.133488079 1 1 45.24780518 -0.919192365
+id200949 7.525406804 0 0 46.73626511 -0.623212537
+id336491 6.798229522 0 1 61.27433188 -0.083574435
+id988766 6.149545358 0 1 43.97949245 -0.360419163
+id21999 1.013546103 1 0 64.84209419 -0.180940347
+id433893 1.282853098 0 1 49.25264441 0.126374732
+id688932 8.340206657 0 0 50.39544176 1.06437576
+id394203 3.392345681 1 1 71.64985029 -1.182264985
+id995678 9.587748608 0 0 8.398698382 -0.440232098
+id694339 1.25827049 0 0 50.09983553 -0.913499416
+id256455 5.414840139 0 0 42.68207853 -0.162365026
+id14836 6.177914833 1 1 35.84982537 0.149157063
+id817128 2.940033056 1 1 75.1778848 0.675429226
+id803325 9.619267566 0 0 28.61686675 -1.315061617
+id521287 0.320487323 1 1 51.20354955 1.778334153
+id701472 7.101945547 0 1 71.31774815 -0.314768649
+id850010 6.780876558 1 1 54.17089131 0.975698727
+id268483 7.903947419 0 1 64.67225478 -0.064047105
+id738781 1.086018804 0 0 55.82666815 -1.098353458
+id28411 1.254350142 1 0 55.23446835 -0.984911296
+id541635 9.057035035 1 1 60.09431049 -0.749064941
+id751101 1.303018406 0 0 56.07175009 1.517225868
+id826300 6.735484141 1 1 63.66504025 0.050258809
+id884387 9.097303962 0 0 51.49224163 -0.337897966
+id492414 4.756845946 0 0 58.90861602 0.318430413
+id268871 4.018189958 0 0 47.04004888 1.456136311
+id627354 8.874035732 0 0 34.53902661 -1.704446804
+id503932 0.091310535 0 0 57.97305684 0.765871754
+id163442 3.240808272 0 0 36.95176985 0.583651461
+id317797 9.050109718 0 0 26.91605573 -0.738359283
+id687857 7.992764162 0 0 55.98526811 -0.92303971
+id871570 2.353719529 0 1 55.97214144 0.862168022
+id724067 1.617985994 1 1 56.16962211 -0.340689098
+id874076 3.099430273 0 1 59.6796615 -0.585406451
+id927863 3.64738684 0 0 66.58040185 -0.109081372
+id369805 0.973580503 0 0 40.90600185 -1.592199675
+id668376 0.567035975 0 1 70.0289032 -1.377198946
+id717362 6.77104712 1 1 43.29380008 -1.247049307
+id665504 8.956792361 0 1 48.18902184 -0.403151482
+id336637 7.196501733 0 0 46.38184549 0.748159201
+id60633 5.086557706 0 0 23.30351479 -1.053958731
+id848600 8.270336349 1 1 67.46842732 -0.787160472
+id169514 9.421256192 0 0 69.14850279 -0.067323962
+id690732 9.952887485 0 0 58.60119974 0.70281019
+id684760 3.361963101 0 0 35.01819588 0.480066432
+id553502 5.557606017 1 1 69.02154551 -0.048946478
+id214917 6.535326783 0 0 64.57921366 0.674035037
+id849169 7.903922417 1 1 85.13788975 -1.490951619
+id941921 2.305853849 0 0 53.93061678 -0.527425267
+id784646 3.120883065 1 1 61.07773845 0.753698501
+id520954 8.756848347 1 1 75.18776222 0.657838317
+id996355 7.326814334 0 1 68.46424937 0.01877424
+id96730 6.664821662 0 0 57.11963725 1.82995714
+id673442 3.081616083 0 1 65.36648075 0.388257821
+id68305 3.525197877 1 1 71.49266177 0.693170774
+id653025 7.231586593 0 0 70.38446147 -1.049563634
+id208543 4.622250109 0 0 42.72731305 1.944598197
+id335725 5.924295793 1 1 59.07501676 -0.704001509
+id980400 2.35961827 0 0 49.57427645 0.326888204
+id869939 0.736202662 0 0 51.23048818 -0.692132702
+id297563 6.641749611 0 0 58.77625334 -1.463874347
+id852663 5.124175591 0 1 73.64350795 0.264913757
+id162070 7.910906314 0 0 58.53952137 -0.407761026
+id272875 9.825455416 1 1 49.58760449 -0.021488334
+id163787 2.471002157 0 0 68.89089799 0.337573959
+id422204 2.915218179 0 0 58.28230991 0.154530631
+id120197 3.367355865 0 0 48.35873939 0.265014737
+id33660 4.407010904 1 1 34.56964559 -0.60471311
+id803855 8.755961077 0 0 48.4657306 -2.780806865
+id255048 7.749378138 0 0 35.65335784 -1.677944311
+id690936 7.543593942 0 0 65.16588832 0.156852373
+id126807 0.251036587 0 1 64.14491359 1.611910965
+id99016 6.491002725 0 0 83.12867651 -1.11934754
+id883847 1.088929613 0 0 32.87683139 1.34130244
+id354523 9.618060855 1 1 56.55761125 0.270839152
+id737255 4.133744506 1 1 63.15486373 0.196647531
+id990941 5.646270286 0 1 51.27571506 -1.026606104
+id25464 8.272429793 0 0 65.87092242 -0.01260022
+id918375 0.723567779 0 0 72.03830977 -0.957166164
+id537828 4.0147246 0 1 47.95536826 0.058331817
+id682778 9.130628394 0 1 30.7120816 -0.912082258
+id587547 7.44191196 0 0 21.78560627 -0.834787422
+id670874 4.512303089 0 0 79.512448 0.21142704
+id444459 8.723388559 0 0 24.92599405 0.076058464
+id777456 4.115325335 1 1 49.26588181 -1.346748454
+id452384 2.067203142 0 1 55.67012814 -1.425079358
+id826975 8.348432332 0 0 65.40756831 1.36872787
+id519567 6.785076383 0 0 43.0203775 -0.446585446
+id84292 7.634117891 0 0 53.82871397 -0.499295706
+id124432 5.099839207 1 1 56.29638 -0.107080192
+id800145 8.551368147 0 0 37.61331158 1.588466893
+id153857 3.556301609 0 0 22.40008844 1.034357361
+id587157 8.758929135 1 0 52.68038782 0.359925837
+id506262 6.238330685 1 1 64.6329004 1.533370783
+id634462 0.905623161 0 0 48.92290318 -0.350929199
+id687592 0.290071515 0 0 52.49986348 -0.076496734
+id955526 1.838730964 0 0 55.50289717 0.960896716
+id181850 0.144560173 1 1 36.985872 0.446563113
+id159506 6.045008786 1 1 74.44795352 0.189484766
+id609051 6.873427527 1 1 65.77800431 -0.970684546
+id963886 0.853758289 0 0 49.53098132 -0.142315317
+id405792 3.909860553 1 1 45.49262346 0.829045752
+id494172 7.480072965 0 1 76.85791854 0.316447087
+id964637 3.816858446 0 0 45.86472878 0.835064702
+id799355 1.226117869 1 1 44.80572519 0.621012074
+id157111 4.166491482 1 0 62.03415458 0.73942218
+id114524 8.645968152 0 0 58.04499469 -0.788319625
+id954931 0.158490245 0 0 68.17803378 0.24955587
+id827034 0.702377072 0 1 77.97595754 0.982511494
+id689645 2.0658374 0 0 65.08441243 0.631945706
+id281585 4.640052191 1 1 42.95649827 -1.914229131
+id885624 3.615978697 0 0 47.94643735 -1.040361995
+id577871 2.230068497 0 0 33.49614447 0.186792844
+id238796 5.161400753 0 1 65.11885588 -1.680225999
+id481035 7.693009686 0 0 54.90423144 0.456361082
+id972713 6.34411768 1 1 65.77146215 -1.56740652
+id905484 4.55801149 0 1 71.64264756 -0.119411982
+id713511 6.721560405 1 1 61.07996274 0.759855863
+id512328 4.431789868 0 0 73.71727581 -1.386889284
+id703534 8.974882244 1 1 72.23683472 -0.236310232
+id409904 4.845419164 0 0 73.99231758 -1.196145554
+id577169 1.384047668 0 0 60.88096407 1.173421654
+id813971 6.785385478 0 0 84.1336254 -0.537161205
+id558483 0.27946972 0 0 47.22470442 1.205383654
+id892784 1.505769901 0 0 67.17447402 1.16829745
+id611178 3.97305697 1 1 37.0445777 -1.133099386
+id192732 7.859877791 0 0 59.33695807 -2.140778416
+id917280 1.39759155 0 0 58.04360792 -0.534198958
+id435876 4.928142177 0 0 84.74305698 -0.689898601
+id980722 0.72730016 1 0 86.01933179 -1.182084131
+id308273 3.466919258 1 1 67.97071165 1.943821736
+id476685 8.925909139 0 0 54.70635894 -0.941828992
+id315883 7.79623385 0 0 73.32239976 0.338196923
+id935945 3.491058239 1 1 52.11810768 1.336771018
+id991781 6.268341084 0 0 54.65314357 0.534529904
+id65199 2.65595714 0 1 49.87811635 0.034379059
+id226233 6.409789501 0 0 42.43817668 -0.071010961
+id860183 7.567894972 0 0 68.84622681 -0.737998085
+id295209 0.983143735 1 1 78.65652745 -0.107026407
+id544964 1.927387219 0 0 60.76270896 1.709977405
+id648663 7.914653713 0 0 75.01901109 -0.496659516
+id710165 9.981244413 0 0 63.98553777 0.201892862
+id392593 7.418579368 0 1 68.29945776 -1.802781379
+id129945 9.344802496 0 0 65.4500187 1.659394491
+id382621 1.828452452 0 0 67.685774 -0.308226365
+id901440 9.496967232 0 0 42.90926699 1.406153843
+id39847 8.962161053 0 0 47.40927402 -1.457910128
+id526460 1.855905599 0 1 37.11596757 0.585429137
+id477473 1.89081994 1 1 49.97724655 0.859328937
+id448194 4.814151059 0 1 45.88643326 2.316588612
+id904184 8.028988991 1 0 72.72579194 -1.446103016
+id747852 3.836260637 1 1 55.07676604 -0.045937532
+id711012 0.341281233 0 1 52.74453257 0.460500113
+id683879 9.297243459 0 0 53.30884634 0.267430174
+id789575 5.098990324 0 0 91.4953003 0.594398849
+id650729 7.941450537 0 0 60.95976566 -0.466440434
+id934302 9.134082902 1 1 50.38866747 -0.273038964
+id555013 8.812444844 1 1 64.16747524 1.900709264
+id82779 7.657743527 0 0 44.69858439 0.389805705
+id771444 6.664855358 1 1 46.55641254 0.769566642
+id821562 5.19036265 0 0 48.10395008 -0.824659658
+id292809 9.909691181 1 1 37.56731882 -0.985460186
+id645690 6.515405399 0 0 53.468881 -0.627722469
+id223901 6.355198262 1 1 42.93323368 0.10243281
+id41320 0.397540162 1 1 42.44110357 -2.147092339
+id96181 3.155308448 1 1 68.94074654 0.608235371
+id147900 4.719584771 0 0 40.88539124 1.844140836
+id702917 7.72554794 0 1 47.49668711 -1.204688707
+id150640 6.511110099 1 1 38.62528192 1.050329822
+id518391 9.626758766 0 1 49.68351553 0.398484046
+id879076 7.61506094 0 0 67.01328156 0.229427772
+id952031 4.87888217 1 1 65.70367124 -1.089108069
+id10055 5.724749579 0 0 62.16837685 1.750147555
+id727213 5.731963291 1 1 71.45678853 -0.429042806
+id41961 6.818411434 0 0 20.08262865 0.470401854
+id257209 9.897638239 1 1 45.85619304 1.048942715
+id995361 3.151184642 0 0 63.05059972 -0.433651964
+id957918 5.30099154 0 0 99.08050609 -1.322437014
+id975370 9.047264812 0 0 57.53802446 0.00732409
+id889896 9.578142144 1 1 59.22640818 1.545908006
+id978164 4.726348119 0 0 77.64204249 0.091141017
+id90359 6.237920077 0 0 37.75315297 -1.284611338
+id307158 5.49680528 0 0 63.09805553 -2.165456982
+id755940 1.683472511 0 1 20.3119087 0.350642962
+id995582 1.486566562 0 0 51.82892731 -0.515896073
+id363965 7.723182293 1 0 71.77219463 0.763895485
+id729124 6.861379688 0 0 71.23766916 -0.736515537
+id871963 1.399526332 1 1 52.94172118 -0.309489611
+id475172 2.745065294 0 0 37.3297063 0.043872807
+id804699 8.378029915 1 1 54.20314757 -0.329259789
+id625843 4.925798265 1 1 42.87948106 -0.082585412
+id595713 3.273883772 0 0 46.40565632 -1.383808366
+id462604 5.541305429 0 1 38.20727564 0.687340331
+id106141 9.529928524 0 1 54.1103592 -1.145673714
+id689349 9.243194854 0 0 69.78707904 -0.490029778
+id639003 6.594759182 1 1 73.84356933 -0.863976195
+id393896 8.69916317 1 1 59.45681813 0.260745271
+id450307 7.291170542 1 1 47.03196269 -0.241913128
diff --git a/checks/inputfiles/height.txt b/checks/inputfiles/height.txt
new file mode 100644
index 0000000..d7c918d
--- /dev/null
+++ b/checks/inputfiles/height.txt
@@ -0,0 +1,201 @@
+id height sex age
+id636728 174.429795159687 0 56.5664877162697
+id890314 168.176943059097 0 74.8311971509938
+id102874 178.612190619767 1 45.2478051768211
+id200949 171.770230117638 0 46.7362651142108
+id336491 185.941629656499 1 61.2743318817997
+id988766 173.159286450017 1 43.9794924518567
+id21999 167.478282481124 0 64.842094190157
+id433893 168.33178468379 1 49.2526444099125
+id688932 171.691587811178 0 50.3954417563357
+id394203 173.491495887183 1 71.6498502881161
+id995678 167.875970536401 0 8.39869838208752
+id694339 175.700752054599 0 50.0998355342632
+id256455 175.337891176997 0 42.6820785344791
+id14836 182.168331733645 1 35.84982537436
+id817128 169.967709786392 1 75.1778848007977
+id803325 173.16442907678 0 28.6168667499216
+id521287 173.61354014585 1 51.2035495453341
+id701472 175.981848980239 1 71.317748150985
+id850010 184.639363303696 1 54.1708913077258
+id268483 174.449158757425 1 64.672254784919
+id738781 172.511588930637 0 55.826668149936
+id28411 166.965919919108 0 55.2344683531986
+id541635 179.13293630535 1 60.094310490059
+id751101 161.083305377039 0 56.0717500949652
+id826300 170.363825407616 1 63.665040254938
+id884387 175.758464998892 0 51.4922416338243
+id492414 157.580260914086 0 58.9086160227674
+id268871 166.726256710685 0 47.0400488754909
+id627354 179.443127793034 0 34.5390266052269
+id503932 NA 0 57.9730568400579
+id163442 162.280195241471 0 36.9517698503585
+id317797 173.234859224152 0 26.9160557334094
+id687857 171.800020146137 0 55.9852681138142
+id871570 185.55122893382 1 55.9721414361996
+id724067 180.638786833009 1 56.169622106367
+id874076 176.365271989711 1 59.679661502336
+id927863 166.58258874032 0 66.5804018479591
+id369805 160.714475766297 0 40.9060018470829
+id668376 178.810079668969 1 70.0289032015097
+id717362 185.933657898588 1 43.2938000839428
+id665504 188.073788122923 1 48.1890218410542
+id336637 166.647805506924 0 46.3818454875327
+id60633 173.926544281331 0 23.3035147869928
+id848600 183.718150720331 1 67.4684273207409
+id169514 NA 0 69.1485027947351
+id690732 168.077043501898 0 58.6011997417331
+id684760 NA 0 35.0181958776374
+id553502 181.900113671502 1 69.021545511428
+id214917 164.770792110508 0 64.5792136558752
+id849169 180.151096849933 1 85.1378897451664
+id941921 161.098948528482 0 53.9306167830798
+id784646 179.840638304032 1 61.0777384471877
+id520954 170.269437334459 1 75.1877622200444
+id996355 173.186738843185 1 68.4642493691293
+id96730 163.630004125508 0 57.1196372489835
+id673442 178.838621147176 1 65.3664807538282
+id68305 178.004074138215 1 71.492661769509
+id653025 165.844742336964 0 70.3844614651848
+id208543 171.565532819551 0 42.7273130468441
+id335725 191.908624952512 1 59.07501675694
+id980400 159.961276224304 0 49.5742764537921
+id869939 167.476213723559 0 51.2304881822403
+id297563 158.832328739104 0 58.7762533364224
+id852663 178.834414412308 1 73.6435079503658
+id162070 170.276363312888 0 58.5395213672811
+id272875 182.066813847844 1 49.5876044884458
+id163787 171.68809183749 0 68.8908979920022
+id422204 157.811680968311 0 58.2823099142426
+id120197 172.402447122612 0 48.358739385489
+id33660 172.687696395935 1 34.5696455859549
+id803855 158.76378508184 0 48.4657306042704
+id255048 163.258037518271 0 35.6533578434766
+id690936 170.426845824359 0 65.1658883151137
+id126807 186.646969582003 1 64.1449135851599
+id99016 166.851331078492 0 83.1286765059919
+id883847 156.395410859358 0 32.8768313919283
+id354523 179.848745636711 1 56.5576112454553
+id737255 176.283778224062 1 63.1548637296665
+id990941 183.062589534755 1 51.2757150587473
+id25464 178.774898125608 0 65.8709224202587
+id918375 171.879570975349 0 72.0383097723614
+id537828 174.280062814704 1 47.955368260406
+id682778 197.693432311418 1 30.7120816027501
+id587547 NA 0 21.7856062696169
+id670874 NA 0 79.5124479990884
+id444459 NA 0 24.9259940481639
+id777456 167.260151682603 1 49.2658818137372
+id452384 173.347483981372 1 55.6701281442022
+id826975 164.808775206261 0 65.4075683141035
+id519567 178.474504765564 0 43.0203774957767
+id84292 166.664628244472 0 53.8287139728737
+id124432 187.359372394095 1 56.296379999476
+id800145 159.793062551802 0 37.6133115816202
+id153857 166.193131397238 0 22.4000884415168
+id587157 NA 0 52.6803878151058
+id506262 NA 1 64.6329004021784
+id634462 181.53807286492 0 48.9229031786133
+id687592 172.388126833275 0 52.4998634824607
+id955526 NA 0 55.5028971749649
+id181850 185.840255615845 1 36.9858719983532
+id159506 186.376390127835 1 74.4479535239579
+id609051 192.240521818612 1 65.7780043121851
+id963886 174.488413063651 0 49.5309813200341
+id405792 176.372934134811 1 45.4926234574294
+id494172 171.56744721794 1 76.8579185394453
+id964637 166.444143896755 0 45.8647287757214
+id799355 177.862471720998 1 44.8057251910419
+id157111 170.657730233167 0 62.0341545813151
+id114524 171.25136710964 0 58.0449946893389
+id954931 168.740397885895 0 68.1780337798445
+id827034 183.879115672702 1 77.975957535635
+id689645 170.188165136391 0 65.0844124272657
+id281585 170.842220921632 1 42.9564982749518
+id885624 182.134017338977 0 47.946437354424
+id577871 160.140121305064 0 33.496144471879
+id238796 NA 1 65.1188558784702
+id481035 173.149628763659 0 54.9042314354739
+id972713 171.738530038969 1 65.7714621464961
+id905484 177.623047540669 1 71.6426475587537
+id713511 175.268561723758 1 61.0799627423927
+id512328 167.735338303079 0 73.7172758099854
+id703534 166.720050990185 1 72.236834718085
+id409904 170.745579798846 0 73.9923175757741
+id577169 153.371221740599 0 60.8809640676469
+id813971 NA 0 84.133625401668
+id558483 163.667583478963 0 47.2247044219155
+id892784 174.985647203756 0 67.1744740151211
+id611178 176.521596485872 1 37.0445776963834
+id192732 169.812257152633 0 59.3369580720623
+id917280 NA 0 58.043607917703
+id435876 166.776190361572 0 84.7430569805322
+id980722 168.283559641308 0 86.0193317930932
+id308273 172.742206212221 1 67.9707116505756
+id476685 165.280837820994 0 54.7063589427748
+id315883 173.581025454778 0 73.3223997610317
+id935945 179.555469888261 1 52.118107675761
+id991781 175.897738961518 0 54.6531435678751
+id65199 165.189311532089 1 49.8781163523718
+id226233 157.7754459523 0 42.4381766815376
+id860183 170.231243565794 0 68.8462268055324
+id295209 180.924032978557 1 78.6565274462897
+id544964 167.292463491719 0 60.762708960918
+id648663 NA 0 75.0190110887193
+id710165 169.151713181379 0 63.9855377719135
+id392593 182.21678768154 1 68.2994577588663
+id129945 160.575156284367 0 65.450018701293
+id382621 171.638871438864 0 67.6857740000913
+id901440 174.530069595511 0 42.9092669890405
+id39847 160.646774792024 0 47.4092740225689
+id526460 178.538740677989 1 37.1159675739944
+id477473 185.011018392328 1 49.977246546458
+id448194 179.059975160777 1 45.8864332551482
+id904184 167.112949149708 0 72.7257919416073
+id747852 182.548533497441 1 55.0767660383464
+id711012 180.220178110644 1 52.7445325672677
+id683879 171.236817500069 0 53.3088463375829
+id789575 165.28679839529 0 91.4953003008313
+id650729 164.794971641543 0 60.9597656604966
+id934302 175.406909983166 1 50.3886674733413
+id555013 NA 1 64.1674752353489
+id82779 161.223049117577 0 44.6985843914277
+id771444 187.900379864306 1 46.5564125440742
+id821562 172.231440638372 0 48.1039500848528
+id292809 NA 1 37.5673188162435
+id645690 170.584620717111 0 53.4688809984076
+id223901 171.713564155488 1 42.9332336834406
+id41320 187.297180749935 1 42.44110357481
+id96181 182.340998335808 1 68.9407465426672
+id147900 174.375688422634 0 40.8853912428091
+id702917 178.555905829164 1 47.4966871113988
+id150640 184.380746051819 1 38.6252819189693
+id518391 171.300702239563 1 49.6835155346146
+id879076 160.577565064011 0 67.0132815628215
+id952031 184.748626970448 1 65.7036712353429
+id10055 171.863717508283 0 62.168376851186
+id727213 173.15478329161 1 71.4567885339962
+id41961 167.037587092139 0 20.0826286512544
+id257209 186.886444067285 1 45.8561930442368
+id995361 172.633411553182 0 63.0505997160459
+id957918 160.159478972068 0 99.0805060934096
+id975370 160.634825077609 0 57.5380244640958
+id889896 172.084241360101 1 59.2264081828809
+id978164 152.246200808029 0 77.6420424892831
+id90359 167.757610509192 0 37.7531529719782
+id307158 160.475706647835 0 63.0980555343967
+id755940 NA 1 20.3119086993193
+id995582 171.358428943422 0 51.8289273125384
+id363965 165.592903454164 0 71.7721946331034
+id729124 168.214746933587 0 71.2376691564842
+id871963 165.67901183807 1 52.9417211803685
+id475172 168.841375831808 0 37.329706301489
+id804699 163.162474229119 1 54.203147574914
+id625843 NA 1 42.8794810637712
+id595713 172.886158516028 0 46.4056563167277
+id462604 NA 1 38.2072756439264
+id106141 175.327756738783 1 54.110359198852
+id689349 153.912385571881 0 69.7870790365425
+id639003 180.466901803263 1 73.8435693312958
+id393896 165.738067793658 1 59.4568181253727
+id450307 176.326139008795 1 47.0319626853433
diff --git a/checks/inputfiles/logist_data.txt b/checks/inputfiles/logist_data.txt
new file mode 100644
index 0000000..cdc1b10
--- /dev/null
+++ b/checks/inputfiles/logist_data.txt
@@ -0,0 +1,201 @@
+id chd sex age othercov
+id636728 0 0 56.5664877162697 -0.616649220436139
+id890314 0 0 74.8311971509938 0.695315865158652
+id102874 1 1 45.2478051768211 -0.919192364890525
+id200949 0 0 46.7362651142108 -0.623212536893650
+id336491 0 1 61.2743318817997 -0.0835744351009496
+id988766 0 1 43.9794924518567 -0.360419162609288
+id21999 1 0 64.842094190157 -0.180940346913155
+id433893 0 1 49.2526444099125 0.126374731789777
+id688932 0 0 50.3954417563357 1.06437576032067
+id394203 1 1 71.6498502881161 -1.18226498491599
+id995678 0 0 8.39869838208752 -0.440232097797012
+id694339 0 0 50.0998355342632 -0.913499415750332
+id256455 0 0 42.6820785344791 -0.162365026484604
+id14836 1 1 35.8498253743600 0.149157063281711
+id817128 1 1 75.1778848007977 0.67542922565494
+id803325 0 0 28.6168667499216 -1.31506161713874
+id521287 1 1 51.2035495453341 1.77833415263866
+id701472 0 1 71.317748150985 -0.314768649313963
+id850010 1 1 54.1708913077258 0.97569872710796
+id268483 0 1 64.672254784919 -0.0640471051347496
+id738781 0 0 55.8266681499360 -1.09835345768822
+id28411 1 0 55.2344683531986 -0.984911295839358
+id541635 1 1 60.094310490059 -0.749064941009658
+id751101 0 0 56.0717500949652 1.51722586769283
+id826300 1 1 63.665040254938 0.0502588085760593
+id884387 0 0 51.4922416338243 -0.337897966476298
+id492414 0 0 58.9086160227674 0.31843041338204
+id268871 0 0 47.0400488754909 1.45613631110426
+id627354 0 0 34.5390266052269 -1.70444680376944
+id503932 0 0 57.9730568400579 0.765871754354706
+id163442 0 0 36.9517698503585 0.583651460617563
+id317797 0 0 26.9160557334094 -0.738359282894358
+id687857 0 0 55.9852681138142 -0.923039710363445
+id871570 0 1 55.9721414361996 0.862168021867058
+id724067 1 1 56.169622106367 -0.340689098159781
+id874076 0 1 59.679661502336 -0.585406451051202
+id927863 0 0 66.5804018479591 -0.109081371563729
+id369805 0 0 40.9060018470829 -1.59219967496527
+id668376 0 1 70.0289032015097 -1.37719894554979
+id717362 1 1 43.2938000839428 -1.24704930731682
+id665504 0 1 48.1890218410542 -0.403151482375345
+id336637 0 0 46.3818454875327 0.74815920114198
+id60633 0 0 23.3035147869928 -1.05395873068326
+id848600 1 1 67.4684273207409 -0.787160471921613
+id169514 0 0 69.1485027947351 -0.0673239617848672
+id690732 0 0 58.6011997417331 0.702810189997298
+id684760 0 0 35.0181958776374 0.480066431966155
+id553502 1 1 69.021545511428 -0.0489464782548654
+id214917 0 0 64.5792136558752 0.6740350367377
+id849169 1 1 85.1378897451664 -1.4909516187109
+id941921 0 0 53.9306167830798 -0.527425267092223
+id784646 1 1 61.0777384471877 0.753698501223927
+id520954 1 1 75.1877622200444 0.657838316783433
+id996355 0 1 68.4642493691293 0.0187742400140474
+id96730 0 0 57.1196372489835 1.82995714012553
+id673442 0 1 65.3664807538282 0.388257820504249
+id68305 1 1 71.492661769509 0.693170773537079
+id653025 0 0 70.3844614651848 -1.04956363440283
+id208543 0 0 42.7273130468441 1.94459819681167
+id335725 1 1 59.07501675694 -0.704001508529943
+id980400 0 0 49.5742764537921 0.326888204136651
+id869939 0 0 51.2304881822403 -0.692132702060843
+id297563 0 0 58.7762533364224 -1.46387434680598
+id852663 0 1 73.6435079503658 0.264913756719152
+id162070 0 0 58.5395213672811 -0.407761026429204
+id272875 1 1 49.5876044884458 -0.0214883344051595
+id163787 0 0 68.8908979920022 0.33757395854709
+id422204 0 0 58.2823099142426 0.154530631372327
+id120197 0 0 48.358739385489 0.265014737201407
+id33660 1 1 34.5696455859549 -0.60471311029432
+id803855 0 0 48.4657306042704 -2.78080686534202
+id255048 0 0 35.6533578434766 -1.67794431091394
+id690936 0 0 65.1658883151137 0.156852372723843
+id126807 0 1 64.1449135851599 1.61191096458223
+id99016 0 0 83.1286765059919 -1.11934753967505
+id883847 0 0 32.8768313919283 1.34130243992047
+id354523 1 1 56.5576112454553 0.270839151539858
+id737255 1 1 63.1548637296665 0.196647531206649
+id990941 0 1 51.2757150587473 -1.02660610413555
+id25464 0 0 65.8709224202587 -0.0126002200404612
+id918375 0 0 72.0383097723614 -0.957166163857637
+id537828 0 1 47.955368260406 0.0583318172183339
+id682778 0 1 30.7120816027501 -0.912082257676376
+id587547 0 0 21.7856062696169 -0.83478742217883
+id670874 0 0 79.5124479990884 0.211427039859313
+id444459 0 0 24.9259940481639 0.0760584639385002
+id777456 1 1 49.2658818137372 -1.34674845424318
+id452384 0 1 55.6701281442022 -1.4250793575081
+id826975 0 0 65.4075683141035 1.36872787039542
+id519567 0 0 43.0203774957767 -0.446585445915566
+id84292 0 0 53.8287139728737 -0.499295705754242
+id124432 1 1 56.296379999476 -0.107080192348511
+id800145 0 0 37.6133115816202 1.58846689349256
+id153857 0 0 22.4000884415168 1.03435736103221
+id587157 1 0 52.6803878151058 0.359925836536241
+id506262 1 1 64.6329004021784 1.53337078319763
+id634462 0 0 48.9229031786133 -0.350929199400323
+id687592 0 0 52.4998634824607 -0.076496734077698
+id955526 0 0 55.5028971749649 0.960896715932664
+id181850 1 1 36.9858719983532 0.446563112976888
+id159506 1 1 74.4479535239579 0.189484765660553
+id609051 1 1 65.7780043121851 -0.970684545831345
+id963886 0 0 49.5309813200341 -0.142315316969564
+id405792 1 1 45.4926234574294 0.829045752054768
+id494172 0 1 76.8579185394453 0.316447087222387
+id964637 0 0 45.8647287757214 0.8350647018453
+id799355 1 1 44.8057251910419 0.621012074390158
+id157111 1 0 62.0341545813151 0.739422179631339
+id114524 0 0 58.0449946893389 -0.788319625175589
+id954931 0 0 68.1780337798445 0.249555870261434
+id827034 0 1 77.975957535635 0.982511493540594
+id689645 0 0 65.0844124272657 0.631945706496989
+id281585 1 1 42.9564982749518 -1.91422913088156
+id885624 0 0 47.946437354424 -1.04036199512906
+id577871 0 0 33.4961444718790 0.186792843674213
+id238796 0 1 65.1188558784702 -1.68022599854080
+id481035 0 0 54.9042314354739 0.456361082403203
+id972713 1 1 65.7714621464961 -1.56740652033687
+id905484 0 1 71.6426475587537 -0.119411982152829
+id713511 1 1 61.0799627423927 0.759855863373736
+id512328 0 0 73.7172758099854 -1.38688928403820
+id703534 1 1 72.236834718085 -0.236310232309532
+id409904 0 0 73.9923175757741 -1.19614555360328
+id577169 0 0 60.8809640676469 1.17342165409245
+id813971 0 0 84.133625401668 -0.537161204745299
+id558483 0 0 47.2247044219155 1.20538365428463
+id892784 0 0 67.1744740151211 1.16829744957229
+id611178 1 1 37.0445776963834 -1.13309938594903
+id192732 0 0 59.3369580720623 -2.14077841592230
+id917280 0 0 58.043607917703 -0.534198958390556
+id435876 0 0 84.7430569805322 -0.689898601301229
+id980722 1 0 86.0193317930932 -1.18208413063074
+id308273 1 1 67.9707116505756 1.94382173572410
+id476685 0 0 54.7063589427748 -0.94182899233855
+id315883 0 0 73.3223997610317 0.338196922596107
+id935945 1 1 52.118107675761 1.33677101817478
+id991781 0 0 54.6531435678751 0.53452990381363
+id65199 0 1 49.8781163523718 0.0343790591116905
+id226233 0 0 42.4381766815376 -0.0710109613289354
+id860183 0 0 68.8462268055324 -0.737998085045194
+id295209 1 1 78.6565274462897 -0.107026407347964
+id544964 0 0 60.762708960918 1.709977404519
+id648663 0 0 75.0190110887193 -0.496659515554212
+id710165 0 0 63.9855377719135 0.201892861914722
+id392593 0 1 68.2994577588663 -1.80278137923475
+id129945 0 0 65.450018701293 1.65939449127275
+id382621 0 0 67.6857740000913 -0.308226365178485
+id901440 0 0 42.9092669890405 1.40615384320119
+id39847 0 0 47.4092740225689 -1.45791012750063
+id526460 0 1 37.1159675739944 0.585429136544241
+id477473 1 1 49.977246546458 0.85932893707833
+id448194 0 1 45.8864332551482 2.31658861190067
+id904184 1 0 72.7257919416073 -1.44610301620327
+id747852 1 1 55.0767660383464 -0.0459375321161903
+id711012 0 1 52.7445325672677 0.460500112744121
+id683879 0 0 53.3088463375829 0.267430174401663
+id789575 0 0 91.4953003008313 0.594398848876269
+id650729 0 0 60.9597656604966 -0.466440434125161
+id934302 1 1 50.3886674733413 -0.273038964363282
+id555013 1 1 64.1674752353489 1.90070926411773
+id82779 0 0 44.6985843914277 0.389805704654603
+id771444 1 1 46.5564125440742 0.769566641616143
+id821562 0 0 48.1039500848528 -0.824659657507785
+id292809 1 1 37.5673188162435 -0.985460186043628
+id645690 0 0 53.4688809984076 -0.627722468537893
+id223901 1 1 42.9332336834406 0.102432809961277
+id41320 1 1 42.44110357481 -2.14709233875260
+id96181 1 1 68.9407465426672 0.60823537054759
+id147900 0 0 40.8853912428091 1.84414083632347
+id702917 0 1 47.4966871113988 -1.20468870650568
+id150640 1 1 38.6252819189693 1.05032982170877
+id518391 0 1 49.6835155346146 0.398484046041917
+id879076 0 0 67.0132815628215 0.229427772407132
+id952031 1 1 65.7036712353429 -1.08910806938322
+id10055 0 0 62.168376851186 1.75014755477280
+id727213 1 1 71.4567885339962 -0.429042806075498
+id41961 0 0 20.0826286512544 0.470401853724928
+id257209 1 1 45.8561930442368 1.04894271523815
+id995361 0 0 63.0505997160459 -0.433651964317621
+id957918 0 0 99.0805060934096 -1.32243701365983
+id975370 0 0 57.5380244640958 0.0073240896095414
+id889896 1 1 59.2264081828809 1.54590800633817
+id978164 0 0 77.6420424892831 0.0911410166371213
+id90359 0 0 37.7531529719782 -1.28461133782458
+id307158 0 0 63.0980555343967 -2.16545698177243
+id755940 0 1 20.3119086993193 0.350642961952880
+id995582 0 0 51.8289273125384 -0.515896072714371
+id363965 1 0 71.7721946331034 0.76389548536401
+id729124 0 0 71.2376691564842 -0.73651553665844
+id871963 1 1 52.9417211803685 -0.309489610576478
+id475172 0 0 37.3297063014890 0.043872806819088
+id804699 1 1 54.2031475749140 -0.329259788975997
+id625843 1 1 42.8794810637712 -0.0825854121547877
+id595713 0 0 46.4056563167277 -1.38380836633327
+id462604 0 1 38.2072756439264 0.687340331103877
+id106141 0 1 54.110359198852 -1.14567371381323
+id689349 0 0 69.7870790365425 -0.490029778167991
+id639003 1 1 73.8435693312958 -0.863976195068231
+id393896 1 1 59.4568181253727 0.260745271089032
+id450307 1 1 47.0319626853433 -0.241913127911601
diff --git a/checks/inputfiles/mmscore_InvSigma_aj.sex.age.dat b/checks/inputfiles/mmscore_InvSigma_aj.sex.age.dat
new file mode 100644
index 0000000..a6bc42b
--- /dev/null
+++ b/checks/inputfiles/mmscore_InvSigma_aj.sex.age.dat
@@ -0,0 +1,500 @@
+id4 0.0182686989332702 -1.85665437227337e-05 3.53271468398681e-05 -1.74067659984958e-05 7.43017952446252e-05 -4.50104634347183e-06 -0.000124985264981788 3.3678291247208e-05 5.91968582288439e-05 -0.000243645201364358 1.53596649913953e-06 -3.9454263180701e-05 -7.12623118109999e-05 2.86517121291892e-05 4.74394376586608e-05 1.05054964648721e-05 -6.3444981897112e-06 4.99448517742991e-05 6.27097823604505e-05 -2.27324636096012e-05 -4.60607479088104e-05 8.10526198258517e-05 3.32889687790843e-05 [...]
+id10 -1.85665437227311e-05 0.0182033225536506 -1.97096076622397e-05 -5.96162563595784e-05 -5.4476919601606e-05 -9.50226926118848e-05 8.62259783546112e-05 7.3858364200391e-05 3.10831766033596e-05 -0.000130544230147021 -2.83970060075091e-05 2.35253758845718e-06 -1.85477800897887e-05 6.2964229884654e-06 6.53822497229682e-05 2.72145600350398e-05 0.000104093814862185 3.49231726835660e-05 7.04859574463404e-05 -0.000148174353681410 -0.000116299201231700 6.68285914753949e-06 5.57409243430233e-06 [...]
+id25 3.53271468398634e-05 -1.97096076622424e-05 0.0181688614380818 8.52863460066612e-05 -2.43025930791677e-05 2.81566776967037e-05 4.85600196715389e-06 -6.56752842697857e-06 -1.78033754378254e-05 -1.72662880972169e-05 8.87668514133562e-06 -8.20404059630636e-05 5.16333083687282e-05 -2.94096728089757e-06 3.48892541783685e-05 2.26261578926956e-06 1.36738830409271e-05 -4.36308443142288e-05 8.20881103699705e-05 2.18907909855928e-05 6.79187232023272e-05 4.55203428191488e-05 3.23470813710517e-0 [...]
+id33 -1.74067659984974e-05 -5.96162563595756e-05 8.52863460066646e-05 0.0181194433068409 -5.18411780980829e-05 1.50204770703661e-05 8.56024933212197e-06 4.86573389645691e-05 3.91817984047859e-05 2.79910558167308e-05 7.8282761860928e-05 6.41277425397285e-05 4.02513923756538e-05 -0.000354197107452299 0.000103554817363680 -1.38797625409477e-05 3.32360271706206e-05 5.29677698465124e-05 -0.000278652807535298 -6.90665008554795e-05 3.6264561361092e-05 -1.62093161977942e-05 7.24164987012269e-05 [...]
+id35 7.43017952446215e-05 -5.44769196016117e-05 -2.43025930791681e-05 -5.18411780980874e-05 0.018106435724767 2.19056691758357e-05 -0.000128600049471664 7.17399863803957e-06 -4.24308810003088e-05 -9.37329781039098e-06 3.18056769487782e-05 -3.67702286605974e-05 5.24478899714116e-06 -3.25664055644232e-05 -9.920848125533e-05 3.19940200647196e-05 -1.98445029044161e-08 0.000105146480238862 5.27484131205194e-06 -5.37417584551664e-05 -1.74708970187906e-05 3.44067962109258e-05 -3.86219211711835e [...]
+id58 -4.50104634347325e-06 -9.50226926118893e-05 2.81566776967108e-05 1.50204770703701e-05 2.19056691758332e-05 0.0179881874374435 -1.17277182399346e-05 -4.99197036924978e-05 5.71784745599148e-05 7.8067768163972e-05 -8.45720064183448e-05 0.000133147165255620 1.28246312857358e-05 1.81065618498478e-05 6.60089685917637e-05 -2.61083501973853e-06 -5.15228610620456e-06 3.51849780197826e-05 -0.000144114266319513 3.15168287385297e-05 -1.49409070575496e-05 -1.37872797719582e-05 -5.86933127305454e [...]
+id68 -0.000124985264981788 8.62259783546178e-05 4.85600196715395e-06 8.56024933212903e-06 -0.000128600049471660 -1.17277182399364e-05 0.0181586089581595 2.04445273957100e-05 9.39041676761655e-05 2.69629411670812e-05 -5.21912666074653e-05 -8.07162734785272e-05 0.000107841766155217 -3.61129806008897e-05 4.15862044843475e-05 2.80667947266779e-05 6.27687571919924e-05 3.11670146537091e-05 4.43867515904899e-05 -1.17149996369917e-05 -4.94861227861045e-05 5.182392198678e-05 2.52153421203240e-05 [...]
+id74 3.36782912472085e-05 7.38583642003905e-05 -6.56752842698657e-06 4.86573389645756e-05 7.17399863804557e-06 -4.99197036925027e-05 2.04445273957019e-05 0.0179962093643653 -0.000143202021910123 -0.000129318612519593 -9.90358339586108e-05 -5.83424171547132e-05 2.44112506748350e-05 2.48309722783591e-05 1.91386441917814e-05 2.67077865260397e-05 8.02063718201625e-05 1.89237779787770e-05 4.50834965009305e-05 -2.17341687831065e-05 6.55343940163625e-05 6.00791980554004e-06 3.34584108786566e-05 [...]
+id107 5.91968582288441e-05 3.10831766033532e-05 -1.78033754378163e-05 3.91817984047789e-05 -4.2430881000305e-05 5.71784745599093e-05 9.3904167676175e-05 -0.000143202021910134 0.0182122458019134 -8.89499732951819e-05 4.09271368729994e-05 2.02514207751369e-05 1.97590273310334e-05 -5.1731569812852e-05 3.13812195526228e-05 -5.36450906791529e-06 -5.48204212507653e-06 -7.25773430290128e-06 0.000119502808272932 -1.40782957877599e-05 1.52702344966172e-05 3.25037638511198e-05 -0.00016527235964567 [...]
+id119 -0.000243645201364356 -0.000130544230147016 -1.72662880972305e-05 2.79910558167332e-05 -9.37329781039559e-06 7.80677681639793e-05 2.69629411670782e-05 -0.000129318612519587 -8.89499732951819e-05 0.0183196994000799 1.74709305956403e-05 -2.73568889983625e-05 1.58559165643615e-05 4.52654106024659e-05 -7.89212511743915e-07 4.00923191860855e-06 7.08140969980332e-05 2.51892762265087e-05 2.62411887013877e-05 -6.93641827160883e-05 1.89384578162301e-05 7.89780181895753e-06 4.14906638119732e [...]
+id145 1.53596649914169e-06 -2.8397006007511e-05 8.87668514133483e-06 7.82827618609268e-05 3.18056769487800e-05 -8.45720064183508e-05 -5.21912666074528e-05 -9.9035833958609e-05 4.09271368729994e-05 1.74709305956502e-05 0.0179405390147286 -5.47982179372363e-06 0.000154997121607075 -2.34975104396534e-05 1.17587372211223e-05 -0.000132805766242991 6.06993922854356e-05 -0.000302952613670808 3.65847534235782e-05 -5.33355073549846e-05 1.44588726616592e-05 1.24171481603775e-05 -5.26001308431233e- [...]
+id188 -3.94542631807030e-05 2.35253758845401e-06 -8.20404059630719e-05 6.41277425397336e-05 -3.67702286605926e-05 0.000133147165255625 -8.0716273478528e-05 -5.83424171547186e-05 2.02514207751349e-05 -2.73568889983633e-05 -5.47982179372198e-06 0.0182555554282539 -8.35136841457656e-06 -4.44154703481226e-06 6.08024005643454e-05 6.78262678386682e-05 -3.41330482312577e-05 -8.504152089526e-05 4.42291924979593e-05 -6.01370216251382e-05 -0.000184225462065276 9.74797858584476e-05 8.04926607092516 [...]
+id199 -7.12623118110022e-05 -1.8547780089788e-05 5.16333083687244e-05 4.02513923756524e-05 5.24478899714216e-06 1.28246312857294e-05 0.000107841766155217 2.44112506748456e-05 1.97590273310326e-05 1.58559165643615e-05 0.000154997121607076 -8.35136841458313e-06 0.0181640505040641 -6.17377485997655e-05 2.25248777518576e-05 9.38292046316663e-05 6.30892667124509e-06 -3.92921820000685e-06 4.53077586406204e-05 3.36238709405409e-05 -1.14303807489831e-05 -2.72208610799615e-06 3.54800668820676e-05 [...]
+id266 2.86517121291906e-05 6.29642298846535e-06 -2.94096728089928e-06 -0.000354197107452299 -3.25664055644242e-05 1.81065618498488e-05 -3.61129806008861e-05 2.48309722783557e-05 -5.17315698128507e-05 4.52654106024675e-05 -2.34975104396547e-05 -4.44154703480999e-06 -6.17377485997669e-05 0.0181612276094511 -2.10230994115547e-05 -2.64271291241819e-05 0.000113800127654873 -4.15547114032485e-05 5.76871162820896e-05 -6.61933313770274e-06 7.48660178988466e-05 1.25728187259646e-05 -0.00020087916 [...]
+id300 4.74394376586555e-05 6.53822497229704e-05 3.48892541783727e-05 0.000103554817363682 -9.92084812553263e-05 6.60089685917616e-05 4.15862044843472e-05 1.91386441917881e-05 3.138121955262e-05 -7.89212511745664e-07 1.17587372211237e-05 6.08024005643472e-05 2.25248777518615e-05 -2.10230994115565e-05 0.0181347175048144 1.90628717064962e-05 -3.69797020305193e-05 2.61543286378825e-05 3.24644276046892e-05 4.35191653713367e-05 -1.3886861314237e-05 6.80685042181901e-05 6.32395461773642e-05 1.4 [...]
+id327 1.05054964648744e-05 2.72145600350420e-05 2.26261578926425e-06 -1.38797625409433e-05 3.19940200647170e-05 -2.61083501973912e-06 2.80667947266799e-05 2.67077865260347e-05 -5.36450906790621e-06 4.00923191859722e-06 -0.000132805766242988 6.7826267838667e-05 9.38292046316707e-05 -2.64271291241809e-05 1.90628717064991e-05 0.0181825050939628 2.62364490124165e-05 -5.3310895746438e-05 5.18469409789555e-05 -1.99443462022501e-05 8.23833984005927e-05 1.43586339862464e-05 -0.000107300483728436 [...]
+id345 -6.34449818971092e-06 0.000104093814862179 1.36738830409264e-05 3.32360271706241e-05 -1.98445029031151e-08 -5.15228610619846e-06 6.27687571919871e-05 8.02063718201596e-05 -5.48204212508242e-06 7.0814096998035e-05 6.06993922854371e-05 -3.41330482312560e-05 6.30892667124561e-06 0.000113800127654875 -3.69797020305178e-05 2.62364490124175e-05 0.0182071408651127 9.05034251029518e-06 4.94717152247265e-05 6.46596223647113e-05 -1.6846380870595e-05 6.40269957379531e-05 7.7070291542475e-05 - [...]
+id386 4.99448517742968e-05 3.49231726835578e-05 -4.36308443142269e-05 5.29677698465088e-05 0.000105146480238865 3.51849780197786e-05 3.11670146537012e-05 1.89237779787826e-05 -7.25773430289886e-06 2.51892762265036e-05 -0.000302952613670811 -8.50415208952603e-05 -3.9292182000037e-06 -4.15547114032466e-05 2.61543286378868e-05 -5.33108957464441e-05 9.05034251030007e-06 0.0181331838617334 -0.000221426354630264 9.7975664962125e-06 3.63517902178984e-08 -9.83800513868814e-05 4.36944920533341e-0 [...]
+id392 6.27097823604511e-05 7.04859574463387e-05 8.20881103699723e-05 -0.000278652807535303 5.27484131205268e-06 -0.000144114266319510 4.43867515904904e-05 4.50834965009197e-05 0.000119502808272931 2.62411887013847e-05 3.65847534235811e-05 4.42291924979352e-05 4.5307758640615e-05 5.76871162820899e-05 3.24644276046878e-05 5.18469409789536e-05 4.94717152247285e-05 -0.000221426354630271 0.0181833460956040 2.34697920507839e-05 8.43069286759434e-06 -4.88732015614933e-05 1.28627880913224e-05 4. [...]
+id403 -2.27324636096012e-05 -0.000148174353681411 2.18907909855893e-05 -6.90665008554845e-05 -5.37417584551675e-05 3.15168287385394e-05 -1.17149996369919e-05 -2.17341687831077e-05 -1.40782957877631e-05 -6.93641827160886e-05 -5.33355073549931e-05 -6.01370216251367e-05 3.3623870940538e-05 -6.61933313770043e-06 4.35191653713363e-05 -1.99443462022441e-05 6.46596223647178e-05 9.7975664962086e-06 2.34697920507777e-05 0.0180356079945794 6.23852321844927e-05 4.67558662958238e-05 -0.0001109184650 [...]
+id415 -4.6060747908815e-05 -0.000116299201231702 6.79187232023266e-05 3.62645613610947e-05 -1.74708970187812e-05 -1.49409070575436e-05 -4.94861227860946e-05 6.553439401637e-05 1.52702344966264e-05 1.89384578162341e-05 1.44588726616647e-05 -0.000184225462065270 -1.14303807489838e-05 7.48660178988476e-05 -1.38868613142428e-05 8.23833984005794e-05 -1.68463808705929e-05 3.63517902177493e-08 8.43069286759266e-06 6.23852321844901e-05 0.0180115218873695 -5.33241072991907e-05 3.95669191996276e-0 [...]
+id496 8.10526198258535e-05 6.68285914752975e-06 4.55203428191498e-05 -1.62093161977883e-05 3.44067962109274e-05 -1.37872797719522e-05 5.18239219867835e-05 6.00791980553301e-06 3.25037638511279e-05 7.89780181895667e-06 1.24171481603755e-05 9.74797858584518e-05 -2.72208610799669e-06 1.25728187259547e-05 6.80685042181803e-05 1.43586339862517e-05 6.40269957379526e-05 -9.83800513868736e-05 -4.88732015614993e-05 4.67558662958286e-05 -5.33241072991906e-05 0.0181382625238681 7.4158595739448e-05 [...]
+id497 3.32889687790863e-05 5.57409243430282e-06 3.23470813710574e-05 7.24164987012312e-05 -3.86219211711648e-06 -5.86933127305542e-05 2.52153421203305e-05 3.3458410878658e-05 -0.000165272359645681 4.14906638119777e-05 -5.26001308432286e-06 8.04926607075982e-08 3.54800668820712e-05 -0.000200879169187641 6.32395461773616e-05 -0.000107300483728434 7.7070291542481e-05 4.36944920533342e-05 1.28627880913170e-05 -0.000110918465000243 3.95669191996158e-05 7.41585957394447e-05 0.0180057033501147 [...]
+id504 0.000141864118366691 -4.76062426089412e-06 -7.25552771650371e-06 5.99824787023016e-05 1.93918593380874e-05 -3.08248642192082e-05 3.20910986555859e-05 9.80016316017336e-05 -8.98717614000563e-05 -6.20569037474046e-05 -2.06157822822834e-06 1.18329482009459e-06 2.50455033142339e-06 -1.12714463019387e-05 1.44366832318631e-05 -7.14579295652556e-05 -3.15216642772759e-05 -7.80473842476419e-05 4.46111751109544e-05 3.31580305087003e-05 4.31725759546329e-05 -0.000128590889566528 -1.0871866869 [...]
+id542 1.04202886706030e-05 3.03419646852642e-05 -3.38990061445984e-05 2.08340499013742e-05 -3.62389042678064e-05 1.9603196497419e-05 4.52569057456424e-05 -1.27790542278548e-05 3.95795740365664e-05 7.29129443969211e-05 -6.5095972154997e-05 6.37318191620743e-06 -6.10933787599709e-05 -4.88095289615814e-05 -2.00916524165446e-05 9.15825888454192e-06 2.07173670947061e-05 -0.000133094037038009 3.47941816792654e-05 -0.000128363524290544 -1.03621671037385e-05 1.81480844455375e-05 7.86573537903329 [...]
+id575 -0.000133452172366671 -7.07181449978706e-05 6.34391626656318e-05 5.24370921072519e-05 5.02564718019618e-06 3.31763492136815e-05 9.31867049581383e-05 -6.1382514943259e-05 3.52978942844693e-05 -4.02370422390747e-05 -4.08083606725717e-06 -2.23942818274327e-05 7.54924991615886e-05 5.85942336649157e-05 9.5429299536070e-06 3.04815294550415e-06 6.86911260907973e-05 1.75072607886261e-05 5.96318933303245e-05 -1.80328427552616e-06 8.63861522752575e-05 -6.0707030313768e-05 1.68166509767913e-0 [...]
+id586 -5.37068372562296e-05 8.57441111215308e-05 -9.14315943938867e-05 2.43081121522276e-05 -0.000243111184538914 1.28707435612752e-05 3.33978536875079e-06 -2.74063929459904e-05 2.25067355370178e-05 6.31198098598358e-05 -7.60082509722257e-06 -2.04580875006403e-05 1.45553035424037e-05 2.23820704092731e-05 4.05963601980401e-05 -1.06635429597180e-05 -8.65992493516535e-05 5.03001461427749e-05 -2.19677926184399e-05 2.07298830664968e-05 5.36091932364916e-05 8.40747341226565e-05 -9.396419179027 [...]
+id608 4.33569663150811e-05 9.11408990630872e-05 -2.34855534469196e-05 -7.84876448393988e-05 -4.70010191279614e-05 5.29245127193172e-05 6.2880232058426e-05 2.19897981273200e-05 3.50235879106383e-05 4.0688805151512e-05 5.54076643453679e-05 -6.87719164598284e-05 8.19095334361346e-05 -3.06760859986350e-05 6.04128437500036e-06 -0.000247683294309236 0.000107172573662683 -0.000123791730775640 -0.000239861965295324 3.70602729865786e-05 2.57774996074896e-05 -5.17585700383946e-05 3.98014715042166e [...]
+id617 -2.34306425590789e-05 -1.19837437434776e-05 -4.18407954597268e-05 3.1836342984742e-05 -5.30143399880019e-06 3.28142914051474e-06 7.027528077558e-05 -2.65664297571855e-05 -1.63524178797341e-05 9.36607412863505e-05 -4.03930440256775e-05 3.4106903640418e-05 6.94814903307977e-06 4.13827293718539e-05 5.35630141767274e-06 8.00332399283638e-06 -9.50633415418181e-05 7.78870095832051e-05 -2.43873699426165e-05 1.92785929815017e-05 6.33536952149077e-07 6.20454789585343e-06 -4.92352544763225e- [...]
+id666 8.11292951033418e-05 -0.000107090237653853 1.17549246607741e-05 1.92796738986069e-05 2.07873700117251e-05 -5.16974065416172e-05 3.93747893605074e-05 7.485902979562e-05 5.12074708567892e-05 4.77511423078774e-05 4.62749206170795e-05 -7.01002072460139e-05 3.78939966313683e-05 6.25344872114688e-05 5.00373032034659e-05 -2.83818982723608e-05 0.000120704672321790 -6.57325134844364e-06 -1.48911762685915e-05 -4.63997250598014e-05 9.1593994058645e-05 6.29445454821325e-05 9.36631802018497e-05 [...]
+id689 -5.08361419964169e-05 -8.34076409219017e-05 -8.13175981758898e-05 9.32443794217846e-05 -1.70220454008618e-05 -7.79354556459191e-05 -4.14839717740656e-05 8.0577320238659e-05 -0.000361085072463719 -0.000137183271787676 -0.000103324368516162 1.78369460950854e-05 4.37102106717125e-05 1.10331746165953e-05 1.19579864817401e-05 5.87581142304191e-05 8.41492836316802e-06 -4.62760943622407e-05 -3.39873645229709e-06 -8.3827437535841e-05 1.22198556919644e-05 8.61031084690972e-05 -0.00021173034 [...]
+id722 0.000132651708396966 -2.04395264649397e-05 -0.000112041780912812 -1.67695770248377e-05 3.03205532809064e-05 4.5288688293888e-05 4.7160502896883e-05 -5.21360440054787e-05 -0.000338469188534386 1.32405443005357e-05 -0.000124855551187562 -0.000172154227420088 -2.59858575317982e-05 -3.17271688957188e-05 8.24985883471932e-05 4.58978924296066e-05 -9.37769229872807e-05 -0.000126600031330050 -7.55270613037738e-05 -7.21304625589455e-05 1.75020390117415e-05 -2.00474674449194e-05 -0.000145731 [...]
+id765 2.84839891378589e-05 5.51831998041279e-05 8.96793472349531e-05 -7.40781858994383e-05 6.4207013523118e-05 4.00090929224179e-05 1.94745305345111e-05 4.21658157056548e-05 0.000102787960825750 0.000127552816030542 -0.000239434293461217 5.58511740296719e-05 1.18837958950952e-05 3.03505878406877e-05 -0.00027798792095257 9.51130733560863e-05 -7.0485696479865e-06 9.9109587163915e-06 3.03976987131322e-05 6.86033230762334e-05 8.6777370071202e-05 1.91040576741769e-05 1.51864702952019e-05 2.30 [...]
+id780 5.17138636295161e-06 -3.5471520757246e-06 5.28509007233309e-05 -1.63791773272150e-05 2.84372207226445e-05 -0.000105400419931024 5.86526533419205e-05 5.39073370317329e-05 -1.57039485239385e-05 3.05985357000886e-06 -8.8874471185982e-05 -5.55056088606691e-06 0.000103056164533398 4.135894056422e-05 -5.15120336432937e-05 -3.26981327765535e-05 0.000119010563938676 3.42159743354066e-05 -8.62182325194791e-05 1.39396057129083e-05 -2.32702606441011e-05 5.04377247851554e-06 1.86858447199363e- [...]
+id796 6.97092415786681e-06 -2.60710457250550e-05 6.71100256374533e-06 -0.000103245624066113 3.62641886413428e-05 1.46598656967981e-05 5.8813245613891e-05 1.99367821653119e-05 -1.66460989576637e-05 0.000101765330046320 6.96953845628205e-05 -5.37033045594741e-05 8.2850077888617e-05 1.96759716045086e-05 9.7461685388221e-05 1.79466442544427e-05 -3.63541163467455e-05 -0.000125104317244159 -7.71149269287883e-05 4.78781293421354e-05 3.2369398085075e-05 9.4687604396379e-05 -2.11283240956251e-05 [...]
+id802 1.57117482019250e-05 4.25025706726938e-05 5.3532930745022e-05 6.80443668094568e-05 0.000109738595012823 -4.93132364253199e-05 -0.000121288926379927 2.95341405043434e-05 2.62828056534034e-05 7.93422215371721e-06 6.00440752801501e-05 2.40535933818720e-05 7.47772169990206e-05 5.67784781413028e-05 6.68163549115406e-05 4.67543398433914e-05 7.30858082884862e-05 1.6042180563441e-05 -5.1765834916188e-05 2.23133683291027e-05 1.19618931958401e-05 -3.67600308533074e-05 8.93082165674038e-05 -1 [...]
+id812 2.09801053860595e-05 9.32317998367873e-05 -1.98194857082381e-06 5.8328917648435e-05 5.91962392442966e-05 6.97835833328445e-05 6.11353722169491e-05 3.51618111112763e-05 6.16836400267012e-05 1.27483329053888e-05 5.77059205696238e-05 0.000140936115119580 -0.000103737265526473 1.13910959973458e-05 7.55136864805046e-06 -2.61206021142574e-05 -4.84575029380128e-07 8.39556643323612e-05 9.05588114606647e-05 8.56298122625233e-06 3.79592772315631e-05 -9.54649247714589e-06 -9.19869911982593e-0 [...]
+id830 1.85418517768527e-05 -3.87802751686039e-05 -0.000183512582863325 3.15722894403903e-05 -2.90940525812701e-05 -4.79858344123175e-05 5.10266910892972e-05 9.1584806781079e-05 -7.45882262787047e-06 -3.66232517155804e-05 4.77864896805288e-05 -9.8878925826129e-06 3.06380778475306e-05 -6.2446688616613e-05 1.14901647560187e-06 3.09464139966899e-05 2.30078979514676e-05 -1.39809864357956e-05 5.89667598244262e-05 1.91449947224899e-05 1.24753618920366e-05 7.60956367033387e-05 3.77827027142088e- [...]
+id835 -9.95179792347156e-05 0.000102466042473860 -4.91442549590714e-05 4.08095066127392e-05 6.25291676604168e-05 -0.000134189331683355 3.46986475208902e-05 2.47787488740478e-05 -3.2385953481042e-05 -1.45605036657168e-05 -6.91660171800208e-05 5.2873825576516e-05 2.13363141457075e-05 -9.77846493401013e-05 4.80489991965217e-05 1.33670855867393e-05 -6.79839846164507e-05 -8.04666333097885e-05 5.3321115322615e-05 2.20283057758548e-05 7.53436616904283e-05 7.59741533411187e-05 -0.000119134534116 [...]
+id892 4.15095038728132e-05 6.39273196769245e-05 4.87146868466007e-06 -1.47730266821679e-05 -0.000121216145456157 0.000178235762944644 0.000104059127702671 0.000124102598610357 2.19107475646309e-05 -3.06072005126897e-05 9.77640266984639e-06 2.12401010630361e-05 -0.000138309092285440 1.66610864869424e-05 9.06394048250383e-05 2.77433537924037e-05 1.26679647346972e-06 7.46472253528884e-06 -4.46924601672761e-05 -9.18557947060919e-05 7.21556473692332e-05 5.79975830279448e-05 1.79282138598615e- [...]
+id908 -5.74758451953329e-05 5.3205355937166e-05 7.74287258824955e-06 4.35649396569796e-05 1.09265380272372e-05 4.25526139223733e-05 1.91775226019102e-06 4.47151182136072e-05 1.64086373683991e-06 4.04590853082613e-05 -2.14754141426391e-05 1.89446634509671e-07 -8.44201051473058e-08 -3.96878050525656e-05 -1.86136276309075e-05 4.02600764830159e-05 3.54312322115147e-05 0.000125223287221825 8.72262881203028e-05 -5.81429911446411e-05 5.1276302500884e-05 2.53640884823745e-05 9.83712457153138e-05 [...]
+id938 -7.55326750514885e-06 2.46283520870255e-05 0.000102841481623313 -2.95754335645066e-05 9.11612878488511e-05 5.12083664540388e-06 1.68570981651725e-05 3.71004953239061e-05 0.000123273700526779 -1.04363802791799e-05 4.12482356711259e-05 -2.48923756990618e-05 1.79055347056065e-05 8.2735740334182e-05 -9.49213589061243e-05 -7.62685539911333e-06 4.19100987625928e-05 -6.53225038410175e-05 3.13415086938016e-05 9.95963752688582e-07 2.73520656479603e-05 -1.42679798963414e-05 5.65184175887953e [...]
+id980 -4.77986870771951e-05 5.87820364306751e-05 -3.63249746944242e-05 6.04115552359597e-05 1.90531786277329e-05 3.67548393221795e-05 2.78863744069907e-05 -0.000102803027000412 5.04710508906524e-05 4.79113253615219e-05 -4.90880802277553e-05 -0.000194405708886354 -3.05071375027757e-05 5.31752453630773e-06 -8.2593522917604e-05 4.12816561608092e-05 7.37582456225168e-05 7.26870773525148e-06 -4.38288319280622e-05 3.36235716742170e-06 -7.59067603734482e-05 9.7190626134306e-06 -4.12223139224297 [...]
+id994 -2.60741638651885e-05 7.91223988692768e-05 4.66500053014337e-05 -2.92160028663509e-05 5.56326524703309e-05 5.95994647455436e-05 -6.59260879847262e-05 8.94287234361368e-05 1.48504212124380e-05 -1.65003040747462e-05 8.18389384181055e-05 -4.35309694467077e-05 2.83999689908454e-05 3.76094257280452e-05 6.64626250529187e-05 1.57090003806275e-05 1.35352281091805e-05 0.000124176196810857 1.61950824249232e-05 1.98954465493158e-05 8.4874873569843e-05 7.7297278816452e-06 3.53475287398793e-05 [...]
+id1047 4.46786361662356e-05 -8.26483209472034e-06 -5.80268786774298e-05 9.46469117618264e-05 6.46771539555603e-05 0.000115252762903457 -0.000122008145776981 -3.61948760332271e-06 -3.67588526475587e-05 6.53455865113258e-05 -0.000110488972087737 6.24825321246306e-05 -0.000195140120195208 -1.9992643041087e-05 5.52608197521878e-05 -6.03185305097818e-05 -2.27922289996984e-05 0.000103654174026700 2.31217713885578e-05 4.3042316264159e-05 1.98528816467156e-05 4.95644961102741e-05 -1.438237901016 [...]
+id1052 -5.88350275300517e-05 1.79453106553522e-05 5.4577481863415e-05 0.000125138877125047 -2.46762665317120e-06 0.000125047749591161 4.03868059042221e-05 -7.82912447849973e-05 -8.43629179127464e-07 -3.63594087437398e-05 3.32878733507513e-05 -1.00754444872661e-06 -3.34923291669415e-05 8.6837047417113e-05 -4.13771593878469e-05 9.50191854802868e-05 -1.59508424702450e-06 3.28568228133404e-05 -4.17744353031736e-05 -2.55289054278462e-05 4.28390765398141e-05 5.00954482217395e-06 -2.04238634942 [...]
+id1055 6.06550669393597e-06 7.89941482972362e-05 7.14568058287325e-06 2.57043007791325e-05 8.29394870912874e-05 -1.34302500171654e-05 -0.000144514998048524 -0.000100286380962188 -6.84438000990452e-05 -1.95266089349999e-05 0.000121127802102008 -2.49828649483904e-05 -1.59459252264615e-05 6.00085343150057e-05 5.34823264318131e-05 3.01354906062196e-05 -9.74424833602204e-06 -5.41691231811514e-05 4.12888753668968e-05 -7.00744164589162e-06 8.79780633088248e-05 0.000124291765372937 5.73866872821 [...]
+id1068 -3.31321285357343e-05 5.30230009899553e-05 -6.88115598733045e-06 2.59467406289797e-05 4.6651925710021e-06 5.10090026567764e-06 -8.55394348135877e-06 -0.000262710300207963 -0.000393391706977899 -0.000204861146447590 8.37312598455318e-05 -1.34746067023043e-05 -9.94144966538205e-05 -0.000120849408466715 -2.28845218450574e-05 2.94927223968653e-05 2.36719327378561e-05 -3.83141369639687e-05 -2.80369807487343e-05 2.61981609052242e-05 9.61320970021098e-06 1.35653117477951e-05 8.0056196771 [...]
+id1076 5.59302424047859e-06 -2.43262965522962e-05 -3.66251284128259e-05 -3.04821774956790e-06 0.000111622175481066 -0.000101802860332455 6.39769314550723e-05 3.94532097040807e-05 -5.8599835103651e-05 8.48172144306164e-05 -2.62554915738983e-05 1.18064236972297e-05 1.983569487882e-05 -8.28127869396953e-06 3.19259630042269e-05 -2.809808837576e-05 6.12869836802465e-05 3.52898510568570e-05 3.34616698657141e-05 1.28702739758416e-05 -2.68867397207971e-05 8.41499330061559e-06 2.9374025340043e-05 [...]
+id1109 9.22083310572581e-06 1.65216748103057e-05 0.000103331638063117 4.93654088457361e-06 -0.000142626777862396 -1.37475845840737e-05 -1.05840952738237e-05 -2.4855591447348e-05 -3.69577407533236e-05 5.0769901844826e-05 8.45306640050754e-05 9.20915250369714e-05 9.8074743533802e-05 3.70454780126262e-05 -5.16325086305451e-05 -1.64334845733784e-06 7.66130651635693e-05 -4.88481340992088e-05 -2.11754933663956e-05 1.45240433232436e-05 -2.4407748656715e-07 -4.57646297135718e-05 4.12174870020166 [...]
+id1156 5.73076548952797e-05 8.28615466151529e-05 9.33957670659549e-05 -4.8957998201564e-05 -7.48271447259527e-05 -4.99078210142203e-05 -6.93943169821637e-05 3.51718640416613e-05 -0.000151080654410433 0.000116913988659423 1.44247471988039e-05 8.3384845728838e-05 9.2102536848008e-06 3.47584893840864e-05 5.3077222937882e-05 -5.20133214523873e-05 5.16845651034403e-05 -3.88099501859357e-05 -5.99835023368429e-05 5.85847799451861e-05 3.695561350261e-05 1.27263620096227e-05 3.54870557725218e-05 [...]
+id1176 4.07948821699254e-05 -3.46527309896665e-05 1.88942073357443e-05 -9.83600147735864e-05 6.58386500799432e-05 -1.81704862111218e-05 6.19441678444136e-05 2.2291440721124e-05 2.17868407300725e-05 5.42028369784007e-05 8.13135265238152e-05 4.85857741882405e-05 8.47764518058835e-05 -2.40705473608111e-05 6.85414428716355e-05 -7.99510385716126e-05 8.98353596355232e-05 9.29812792081629e-05 0.000119839242512041 -6.50172109371334e-05 -0.000117846324285145 7.42025387678184e-05 -7.05998628830834 [...]
+id1186 -3.14870969399655e-05 6.41613077971868e-05 4.42757530176656e-05 -0.00013828837580393 1.44588996238115e-05 7.45677163678746e-06 1.45748130342111e-05 -0.000131090922956340 -8.86908103398357e-06 -5.74377311148457e-06 4.97626143197081e-05 -9.23505256401925e-05 5.02848204590708e-05 4.57013876142797e-05 -8.40093622183613e-06 -8.43698887910116e-06 -7.67812479751691e-07 0.000107400036266529 -8.10173408565168e-06 4.46717323758604e-06 6.07192554072924e-05 1.08975098289553e-05 -2.18737862496 [...]
+id1193 -6.84913366669154e-06 4.78263234301022e-05 0.000121794673499418 -2.32208374581191e-05 7.48279691255132e-05 -4.14608506300985e-05 -5.86241625877905e-06 -5.47320773265947e-05 9.64548667583142e-05 0.000104222769508941 1.43816652322284e-05 -1.61163849990237e-05 8.10335863644117e-05 3.55858857721522e-05 8.1381298739012e-05 2.5834617706354e-05 -1.2619296368124e-05 -7.03700089645172e-05 -0.000122004082925653 5.6172132748474e-06 -2.7619663274802e-05 3.6807702009433e-05 1.39729375293417e-0 [...]
+id1251 -2.22880806351038e-05 -9.4635198906536e-05 1.64974321256498e-05 -0.000129906766061094 5.4049058790811e-06 -5.27703979817114e-05 -1.52623687277926e-05 2.09671513708175e-05 3.37150500784386e-05 -1.96309992556306e-05 0.000119385748722271 9.62411967248249e-05 7.38354056158255e-06 -0.000209492425219458 -1.64380815380211e-05 0.000115634584178059 6.36993749803722e-05 9.31606687773392e-05 5.84631551706947e-05 6.80477235978536e-05 -0.000119776419752795 2.95151154986910e-05 -9.3141913930829 [...]
+id1265 6.42978867262026e-05 -1.29711095331116e-05 4.70139336436345e-05 1.00234590367442e-05 -1.60987989916136e-06 7.60465573895704e-05 -4.21968520754147e-05 8.68738927207127e-05 -1.32911890982652e-05 3.10765793382389e-05 3.61594275588406e-05 -0.000104714958010367 -1.23726441733180e-05 -2.37775712265753e-05 -4.1800571063396e-06 7.81120106364056e-05 6.34982276274773e-05 0.000104586820790484 -3.51905923382530e-05 -4.59117241779948e-07 -1.32264060392776e-05 -2.27912459443280e-06 3.5719031344 [...]
+id1382 -2.88541194765697e-06 -6.49761657079695e-05 2.06992484104048e-05 -3.52043384797334e-05 -9.69766949356977e-06 3.20061997181852e-05 2.81438274106885e-05 2.92329272769718e-05 -0.000121425404525557 3.59398290499089e-05 5.03459241407429e-06 7.24899785571292e-05 -5.97282303531171e-05 -1.63588463341834e-05 1.93161756958054e-05 2.08800143937006e-05 -0.000135111003706371 -0.000275602995959327 4.41174991495251e-05 7.20389307967938e-05 -4.08676115171771e-05 5.06063548163355e-06 6.80102099321 [...]
+id1394 -3.31000350668055e-05 -0.000125519979471885 7.32932118944181e-05 -2.78123227068877e-05 1.20020909759483e-05 -2.73259288255553e-05 4.92487686248316e-05 -1.26595108392136e-05 -2.98833765196976e-05 -5.69369912235185e-05 7.42167836136234e-06 -8.85962631605438e-05 5.20641624343474e-05 -3.82691944530571e-06 -1.92063602792779e-07 -1.44767419325601e-05 4.64457280179076e-05 8.2842174519497e-05 1.11080073314873e-05 -0.000157218781590674 4.63303033408183e-05 8.66528752410565e-05 -4.755315247 [...]
+id1408 6.75808408399611e-05 -8.84793514216227e-05 -4.68757784171664e-05 5.4204741703773e-05 -7.33255525885116e-06 -0.000140604229214028 -4.59975483033002e-05 1.22584416379234e-05 2.19461950112154e-05 6.87277468105701e-05 -1.34299126712962e-05 1.36699571400516e-05 5.14275414274011e-05 1.06671003130976e-05 5.39038973930075e-05 -1.25538220954006e-05 3.36114110750027e-05 -5.25163245011049e-05 1.15834657213573e-05 6.21052999445403e-05 3.58120877686576e-05 -6.98651119980823e-05 2.5529090067922 [...]
+id1423 -2.75364676474412e-06 -4.58685555580308e-05 4.40721701748667e-05 -7.60675288362774e-06 -2.35483004837674e-05 4.89783423031312e-05 -0.000190054921599685 0.000101761565789253 -1.25775965521653e-05 8.15957920905585e-05 -6.00581940826846e-05 1.43481248008045e-05 -1.51173843444873e-05 4.47125048577084e-05 2.60865466514397e-06 -5.72862701670292e-06 2.12422493725080e-05 5.13373033014436e-05 -3.63746800076062e-05 -1.52278116267382e-05 -5.02553972654145e-05 5.19189616878858e-05 1.545177160 [...]
+id1457 3.88570844481029e-05 2.38820903188174e-05 2.66481738210984e-05 -2.97212730301078e-05 -4.3997897447391e-06 7.5000576185973e-05 2.75410723111562e-05 1.00291036267357e-05 2.91388412937110e-05 -1.98324877191797e-05 -8.17068043111273e-06 8.327214225347e-05 -4.22474509762063e-06 -3.94317612809401e-05 6.21087274475873e-05 5.82678445933728e-05 5.13733759378418e-05 6.39591545907652e-05 4.37558343319738e-05 1.74723140616491e-05 -8.77699043188986e-05 1.08912362666435e-05 -4.41210254914151e-0 [...]
+id1469 5.16724088217294e-05 2.67161556768957e-05 3.73497928143557e-05 -3.1308391955059e-05 4.03064713541938e-05 4.26875872050716e-05 5.94761955203555e-05 2.60927404096844e-06 2.94222987728374e-05 -4.15221122843624e-06 2.32229220997678e-05 -8.80993444835972e-06 6.4347279560318e-05 2.80057061810075e-05 6.48730965641274e-05 5.10576160256694e-05 -3.11676421623931e-06 -2.50537721753767e-06 -2.72095866329737e-05 -1.71688090103865e-05 -7.18106802478078e-05 -8.04099137227229e-05 -2.3000005676523 [...]
+id1477 -1.28455362795530e-05 1.39232197298717e-05 3.65392219074791e-05 9.33566962439199e-05 3.38243688830731e-05 -1.85562160724732e-05 3.93709796590957e-05 -2.16697762351461e-05 -8.6639491963818e-05 -3.72674673393581e-05 -5.75792463559397e-05 -0.000387164729245931 6.08405938366926e-05 8.57055596563208e-05 2.7393646578241e-05 4.88869825850439e-06 7.58135656075439e-06 0.000110653646696254 6.80364861706893e-06 2.92366712426082e-06 -0.000113915507673219 9.83046084413627e-05 -1.68168495655634 [...]
+id1505 -7.15497192288907e-06 -1.28913734982167e-05 1.51515604032744e-05 -2.92546205903174e-05 3.71238990590118e-05 -0.000169831157964818 3.95636360263582e-05 6.28041331385161e-05 9.0422357847074e-06 8.21457063486715e-05 7.81469524965041e-05 8.60581411286577e-05 -2.00864604031836e-05 2.42878960086889e-05 -1.66084830578409e-05 -7.54067436228756e-06 4.49400623503337e-05 4.05936565732369e-05 9.63257005178859e-06 6.83735832030354e-05 -5.80619933440347e-05 -7.84130729822564e-05 -0.000146522742 [...]
+id1509 -4.18408061322902e-05 0.000111749804956493 -3.30024987023145e-05 5.49119462962443e-05 3.06145979442384e-05 4.35653900046975e-05 3.48381600533164e-05 1.51333371496111e-05 -1.98201000547777e-05 2.71841623623463e-05 4.42818350958255e-05 -5.49598963512305e-05 -4.55261385811988e-05 2.93803605199894e-05 -4.55186024164149e-05 7.33446284471966e-05 1.32611307084228e-05 1.41522061930142e-05 3.94310923785844e-05 -1.59969275685196e-06 -1.53318954805705e-05 6.84019668909575e-05 1.7978797492195 [...]
+id1514 4.81550819823804e-05 6.32480670894277e-05 -5.79859950314208e-05 6.23501858784032e-05 1.51590712804898e-05 -2.63772457787412e-06 -3.50275065883582e-05 4.77883877099926e-06 1.28200771452007e-05 -5.92528736667173e-05 5.72637620823143e-05 3.28374863427438e-05 -0.000297164541421255 2.89354193764704e-06 5.04760551639511e-05 5.44183231017194e-05 -1.93592900781458e-05 -7.25961692185704e-05 -9.23377604925404e-05 4.69092673817657e-05 -7.54313937363634e-05 -4.12360634489369e-06 -3.2233492484 [...]
+id1591 9.88292221754837e-05 1.40449287194695e-05 -4.23710136665470e-05 -9.50102004834377e-06 -9.22188557794816e-05 8.066639562619e-05 7.80357651267008e-05 0.000122040866287467 0.000102726354203704 -1.27163693873165e-05 7.23500760874534e-05 6.30497165262364e-05 -6.99427969121949e-06 1.29064064140870e-05 -0.000141514528064568 4.98921954177934e-05 -9.0470169332778e-05 3.22943447663453e-05 1.47248939517207e-05 5.31904991164338e-06 2.89203695094684e-05 -1.51949766517865e-05 8.68489048793093e- [...]
+id1593 5.88371964672936e-05 -6.34384890482635e-05 3.98171519531604e-05 -2.90540392446317e-05 -1.44406467356908e-05 3.12448199737625e-06 -1.90519495731336e-05 6.37684208164788e-05 7.90843843056447e-06 4.37240222989031e-05 3.05099163803546e-05 -1.08469913350773e-05 -2.47478998927387e-05 -0.000100481272468526 -7.96038720660324e-07 -2.34778793419250e-05 5.22386482547106e-05 -7.00963201572436e-05 8.7393708653283e-05 2.1806521966508e-05 6.9376023546333e-05 6.98214526883858e-05 -1.8752513378900 [...]
+id1653 -1.82058445509993e-05 3.46817245049104e-05 -1.31489422539266e-05 -3.49802105141693e-05 -8.88590356038433e-06 1.26045460883879e-06 -1.53895735795331e-05 3.58424049453711e-06 3.84792885607726e-05 9.17174926135344e-06 -0.000215011455887389 -1.23195567419044e-05 -0.000153008562538785 -0.000135372416934222 -1.87782123026072e-05 1.64410954214869e-05 4.9488390327486e-05 2.75422356346837e-05 7.92178876896617e-07 -8.82548578462193e-05 -3.26582503428781e-06 -4.80255259323224e-05 -0.00010478 [...]
+id1656 -3.02933869574454e-05 4.0506477026871e-05 -7.9576313361728e-05 8.78375083253691e-05 4.39948377592988e-06 2.55814613263633e-06 1.66804165808242e-05 9.01009583405258e-05 4.74581426786666e-05 -1.67472090251947e-05 2.96316289613993e-06 -1.59105407327393e-05 -1.66738267770977e-05 7.770379347446e-06 3.86377112048931e-05 4.5501569983182e-05 -4.65929029997975e-05 -4.06600156321593e-05 2.49175182107806e-05 -4.6557399922412e-06 4.33611927166777e-05 6.21363707454303e-05 -1.49098396504514e-05 [...]
+id1737 3.01071389902865e-05 -8.45064162639382e-05 6.72640122838576e-05 -8.28376731366199e-06 1.83010373333518e-05 -0.000136453261127245 -6.35928063893189e-06 6.82104680902371e-05 5.97603813071723e-05 -2.93899973503753e-05 3.0107792174257e-05 4.25967814591196e-05 -7.42474670047034e-05 -1.21402967224984e-05 5.80255257921114e-05 4.65300316142259e-05 6.07068009223208e-05 -7.51433318289235e-05 -6.36055849113339e-05 -5.5118386325459e-05 1.10256403524556e-05 5.50109644152018e-06 4.3208103344586 [...]
+id1760 3.25107720907412e-05 3.5969474207484e-05 1.29775336120851e-05 -1.08704780159905e-05 -1.4786992902958e-05 7.06855726150948e-05 -7.6625630759733e-05 2.48955394745257e-05 -7.33154059155557e-05 2.77328231992715e-05 -6.54655802709558e-05 -0.000124775459796836 8.02209188443033e-05 8.88934751920293e-05 1.06711274681855e-05 4.30704533008119e-06 -5.61145440314055e-05 5.6587477099872e-05 0.000104164780942172 5.40460690542899e-05 6.82323642033071e-05 -7.37204209972775e-05 -0.0001272230700216 [...]
+id1784 -5.69802093198326e-05 -4.61300046415782e-05 -1.23254345219765e-06 7.35004826327049e-05 6.68408825859466e-05 -4.33945105559702e-05 4.66474406492932e-05 -9.75410067013998e-05 -2.45327443002222e-05 3.54923501047124e-05 -6.59141976252857e-05 -2.87335408129965e-05 5.04596044994369e-05 3.16815591743863e-05 2.69878128405269e-05 1.47807794227245e-05 -1.06247190910120e-05 1.84387068774440e-05 7.24873961330369e-05 -4.97983092806238e-05 3.17669192231431e-05 0.000111981552194811 -9.2355656979 [...]
+id1827 -0.000219440277433982 5.53765837660683e-05 -1.19999076525726e-05 -2.74748394227771e-05 -8.33821193823658e-05 5.43044183054242e-05 -0.000241234161184482 5.11746795267815e-06 8.31604339201456e-05 -0.000107039418802603 5.85701385391484e-05 -7.64489350470197e-05 2.23548778235174e-05 9.74557960626878e-05 -8.45672779479278e-06 3.40520689515342e-05 -2.48642564963206e-05 5.96740266950511e-05 1.39906459399375e-05 7.59033957792925e-06 -8.60500246552356e-05 -9.09543437544301e-06 5.9604903182 [...]
+id1841 5.3032052500264e-05 -7.22035845841738e-06 8.96870396917301e-05 3.43415246726825e-05 2.21657800201370e-06 -5.8671403083825e-05 -9.49990573553394e-05 3.42491176992044e-05 2.80451768432317e-05 6.39145443913112e-05 -8.30695762702752e-06 9.98682466774957e-05 6.41278012298102e-05 7.48398063266551e-05 4.29035567983675e-05 9.17858539674478e-06 -6.55407620059327e-06 0.000102976397439402 -4.14273548288429e-06 7.85240119776698e-06 -6.1529854490653e-05 8.6828128467833e-05 6.94426930137356e-05 [...]
+id1895 1.42030649135133e-05 -4.77541697889463e-05 -5.1451254127552e-05 8.33899850249148e-05 -9.7633980359648e-05 -8.6734343093867e-06 -4.80744458387113e-05 1.01251596988655e-05 6.89934137592681e-05 -8.06182876600973e-05 9.07497163216482e-05 6.45144379476362e-06 6.21482949033183e-05 0.000113445721532729 5.79353255437676e-05 4.52544299055578e-05 1.1451540173188e-06 3.04775937605893e-05 3.48762565453846e-05 -0.000320647856449127 7.93429059825772e-05 -1.50171854921897e-05 4.59393630418375e-0 [...]
+id1897 -3.8195286088246e-05 -2.48292414754603e-07 -7.29557045420154e-06 5.381498426948e-05 9.35597296426675e-05 -0.000141702702175366 1.09121060401027e-05 7.7117748176243e-06 4.06345799828267e-05 -7.7829578503167e-05 -3.59242995247244e-05 -7.5787295222516e-06 -1.25194888584580e-05 3.80909605947971e-05 6.46433878423883e-05 4.61527642755642e-05 1.58284611157124e-05 -0.000185162183173946 -0.000160399568399205 -5.58878224537606e-05 2.29648286475501e-05 -1.57515155739234e-05 -5.85907207068135 [...]
+id1910 5.15089653175316e-05 1.69856861567066e-05 -9.66236244285148e-05 -1.23047441313310e-05 1.90493615899228e-05 5.38119250304267e-05 -2.26603426557313e-05 5.95992976348037e-06 6.15963531234851e-06 -6.35284964750721e-06 8.60679336530543e-05 6.23154009089794e-05 -5.60908013320842e-05 -9.101870947544e-06 -0.000113883481003600 5.87876654404815e-05 -3.5089227792822e-05 5.32536907115654e-05 8.7460025328903e-05 3.88347340382435e-05 -3.77214856485283e-05 4.55682444752309e-05 -9.52463179599673e [...]
+id1918 3.21858701745933e-05 -5.57372451393576e-05 -1.55718799836903e-06 -5.88095117628586e-05 -7.46176540695801e-05 8.99612468059057e-06 -2.89851911057493e-05 -2.4939089514365e-05 1.79937648460839e-05 -5.78177525742329e-05 3.08300950518174e-05 1.97269072733072e-05 -5.98308965724914e-06 -9.74256114868056e-06 3.50187911698737e-05 7.70699353321085e-05 7.1540454790711e-05 8.29736408767427e-05 7.56754157182313e-06 -0.000332842256961281 -9.5958200335773e-05 -0.000102360919735492 5.879450250640 [...]
+id1950 -0.000125710410520088 -0.000108009167392424 -8.392819481235e-05 6.06244038283351e-05 1.72193383791980e-05 5.18318676713472e-05 1.80507454858559e-05 -7.60180376836112e-06 -0.000129466231290987 -0.000136317059458313 1.88272921548112e-05 -1.22546415246298e-05 -7.60992112764173e-05 -6.15468696967684e-05 9.06011699605094e-05 6.82127154389775e-05 -2.12611665599505e-05 -1.15999180292856e-05 0.000111750373852184 -6.20650919806488e-05 6.41242605856528e-05 -5.17400247044108e-05 -0.000106894 [...]
+id1983 6.55293315513583e-06 -9.23675295709423e-06 2.78825389291561e-05 9.35420635523898e-05 -7.56504746539255e-06 4.42039244588078e-05 3.05775435000223e-06 2.44716534033674e-05 -1.79364469024456e-05 -3.13117523200246e-05 5.0311495450995e-05 -0.000238681375382643 4.39522456329328e-05 7.08189710043061e-05 -2.88626673935251e-05 1.68703419650485e-05 8.3878219493938e-05 -6.4154688476234e-05 1.83073958187866e-05 -4.95905194247750e-05 -7.87057376239103e-05 1.27520000175133e-05 -2.27361307075309 [...]
+id1995 3.87073672675517e-05 3.60971192058773e-05 4.07210415386472e-05 2.54487078210764e-05 -3.47278428743014e-05 9.16665367150633e-05 8.1389131320626e-05 4.79901421176391e-05 -2.35646136289315e-05 -2.25272844475615e-05 8.81186279817224e-05 3.33850893048798e-05 -0.000137539338550472 -7.28848887537778e-05 -3.04066088891827e-05 4.50165166240728e-05 -7.54196556493567e-05 -0.000418608689775598 5.40586664646464e-05 1.79779387933861e-05 9.28120215084892e-05 -1.25933379227393e-05 7.6407821430894 [...]
+id2012 7.77051523406063e-05 -5.04772514885055e-05 -4.77541011289253e-05 0.000121549370071224 -8.3469448779991e-06 -1.17610269879122e-05 9.17216529114556e-06 9.05560594786585e-05 3.50770432212324e-06 -5.37725778437881e-05 3.91650561772049e-05 3.68433285134603e-05 -0.000140384829080136 6.17904083797741e-06 1.88385174631881e-05 7.7848597844371e-05 5.61766567585803e-05 -8.70527883267686e-06 6.69266247428228e-07 -6.09935958726209e-05 -0.000124702264471893 -1.42477991343573e-05 -5.485625940969 [...]
+id2049 4.90644709687763e-05 -7.41153850160383e-05 5.03412762373341e-05 -6.03120405384953e-05 -3.35756092604846e-06 -7.31830323000105e-05 6.12806116417454e-06 -0.000133749481119139 0.000115055941620404 -1.35355552552463e-05 2.00701609636772e-05 4.19961999086826e-05 -4.78084835180777e-06 -2.36826659717853e-05 6.63703822149065e-05 -0.000195502187918612 5.97055736915894e-05 -7.49130639661954e-05 -0.000183483127130968 -0.000104522121771770 6.91079730600402e-05 -9.4744980398954e-05 3.994504806 [...]
+id2054 4.49334987932737e-05 5.16396160413673e-05 2.39993897987499e-05 7.2399672572217e-05 4.29158855725465e-05 -7.1473013687368e-05 5.32409262636002e-06 6.03552928156268e-05 1.15886444146893e-05 7.7198044110487e-05 -1.95901750921748e-05 4.31152659020177e-05 -2.65815613503942e-05 4.61759534794179e-05 7.1329682690619e-05 5.08268617795338e-06 -0.000136164384837918 -9.68498813585187e-05 -3.34905287716214e-05 -7.22489794737519e-05 -1.29285839824357e-05 -0.000448810656014943 -4.62839748383857e [...]
+id2056 -3.18427937572724e-05 -3.64146917593497e-05 -2.8038219266193e-05 2.52961170138350e-05 -5.52717343419784e-05 2.87649516366462e-06 -7.8837008917729e-05 3.22754766646595e-05 -1.80359118969568e-05 4.85565699523715e-05 -9.003226862064e-05 4.80114012981379e-05 6.10539078200329e-05 5.54672289844541e-05 -5.00154535760191e-05 -2.20778435004862e-05 -8.76240022407125e-06 0.000102213192585233 2.23702978876243e-07 2.09182102502567e-05 2.94912898005753e-05 -1.02939754683337e-05 1.99802264918161 [...]
+id2068 2.80213925872293e-05 -0.000115007089128787 6.05749523146233e-05 0.000100785808626221 2.49056415659961e-05 -1.00651713163184e-05 7.62325152077907e-05 3.55589121254814e-05 6.38754162396932e-05 -8.85909513189094e-05 4.58089791176205e-07 -4.99230952677118e-06 3.48213886080920e-05 3.20491323404313e-05 2.09551832921592e-05 6.8466208818719e-05 0.000135780622786484 2.78269869331298e-05 1.96446960803497e-05 1.30051289971792e-05 6.89689898982892e-05 3.91260196558979e-05 3.32079278882802e-05 [...]
+id2089 5.85993452322914e-05 -2.54166424418528e-06 7.77863334498246e-05 4.69890440491054e-05 2.11251370399578e-05 -7.70708481620563e-05 -3.93722708128218e-05 -2.35150006612345e-05 -1.92043517352281e-05 1.88202992195844e-05 -7.98451671286766e-05 5.35365014438826e-05 -9.37580202707393e-07 5.55596398465352e-06 5.10000424282707e-05 -4.8692454729659e-05 2.73530390573919e-05 4.8757731123162e-05 9.8534147813816e-05 2.54787535252792e-05 8.9321785632672e-06 -7.82436222965347e-05 -1.52631609546188e [...]
+id2094 4.35042518076168e-05 2.06442636962784e-05 -4.49481317338457e-05 6.23302007887461e-05 7.6382145821738e-06 2.84846927558532e-05 3.44768547923523e-05 5.81989507715061e-05 -8.78587986956678e-05 2.75354711401888e-05 -3.26430578435529e-06 3.00727319988008e-06 6.62808523982838e-05 -3.01098262182621e-05 -3.54106253592556e-05 7.17397059753524e-05 2.64244595491189e-05 6.81906063719508e-05 1.93802433761699e-06 3.34452512672598e-05 1.08978274438681e-05 -2.51958873856889e-05 3.74350066067624e- [...]
+id2151 1.77391430179319e-05 2.4408834583303e-05 0.000134745210342560 -0.000272496384746045 -8.1221121776026e-05 1.23616213094935e-05 5.44888869856586e-05 1.41201354061025e-05 -2.71605374429546e-05 8.51337280210478e-05 7.54019485678563e-05 -1.10969124088957e-05 0.000102432021941076 -4.41133973301905e-05 6.83456970555954e-05 8.07392320855819e-05 2.59923522856172e-06 1.73285399821178e-05 -0.00030845051854209 3.93136486908713e-05 5.87344611618215e-05 -0.000120763812850810 4.86962136555276e-0 [...]
+id2173 -2.53137957663773e-05 1.89987036921892e-05 4.63336233732211e-05 7.29150312585552e-05 8.55744788369507e-06 5.14729795061663e-05 -5.76626517420692e-06 2.31473639075917e-05 -7.7197644308672e-05 -7.38634200444763e-05 6.81087897618909e-06 -2.19520416324153e-05 4.74309525803161e-05 -5.85337365497585e-05 -6.33492566665257e-05 5.98343453391604e-05 -4.27637766591634e-05 1.56180047216959e-05 5.43995029566108e-05 -0.000127469393802296 1.80328009524873e-05 6.63934126912433e-05 -4.195740536469 [...]
+id2242 5.64625167062283e-05 3.19337342360856e-05 -3.37467450041155e-05 -9.53313799742794e-05 -0.000101621949172493 4.99755031453842e-05 0.000101824300374219 -8.27463214774452e-05 -0.000117103952760452 -3.53006811732411e-05 1.82019397183112e-05 3.29164534718176e-05 -2.49083584795073e-05 -9.63196349395642e-05 3.9171263244374e-06 8.87529176318534e-05 -7.2512306567956e-06 -1.93112337368474e-05 -0.000146622865859155 -1.13291048186440e-05 -2.22141230046514e-05 9.59999133583616e-05 2.2079794398 [...]
+id2245 4.74659002872717e-05 -0.000100417256566698 -8.8573374821234e-05 2.65453616348266e-05 -0.000118674295813443 5.43079437983334e-05 -2.23997109171529e-05 5.27666617070973e-05 -0.000113760941806623 -9.58433816340161e-06 -2.0398199825955e-06 1.38685354512496e-06 -6.43621148742028e-05 -2.6847213041947e-06 1.68822115827425e-05 1.36894414804062e-05 3.36702676569407e-05 -7.74466934125155e-05 9.000065577129e-05 -2.22583154613436e-05 -0.000173887439183195 -4.79188296081414e-05 -2.269399552082 [...]
+id2317 4.13468901413658e-05 -7.91891629337015e-05 5.53352037346641e-05 1.61228585737018e-05 2.59153712955066e-05 -2.40255863690400e-05 2.12065261676473e-05 0.000122196250292772 1.68760039871345e-05 1.07481571923109e-05 0.000102220783969888 -0.000156753699675096 -5.97974772466738e-05 2.21621834788078e-05 -2.54546939774892e-05 0.000100634375054808 9.5554542604941e-05 4.26670234546364e-05 2.29809958825073e-05 5.74755519948667e-05 -5.27303416140823e-05 -6.16457221247266e-05 2.37030786278915e [...]
+id2328 -0.000203564803684491 1.60396011735474e-05 -8.3978142438247e-05 -3.08260925379389e-05 5.67290679030373e-05 -7.28419456593464e-05 -9.44632839898912e-05 2.22613670133488e-05 0.000110256433907610 1.99199271908627e-06 2.47498697502478e-05 -1.03763998945408e-05 -5.76446002888538e-05 5.17655325579676e-06 -0.000313286507479171 5.47008890881357e-05 6.39670144437021e-06 1.72487660409674e-05 4.54557865169682e-06 -0.000129630879416779 -3.76417718460788e-05 -0.000104036210178167 8.24692821469 [...]
+id2348 0.000110677482898759 5.16469496989968e-05 4.53156205659582e-05 1.33737844866876e-06 9.14314417963275e-05 8.64663320688116e-05 7.48649044432449e-06 3.53680655937382e-05 5.52396040698765e-05 -1.31143932834861e-05 -7.40873203461863e-05 7.6136154806633e-05 2.11774192189295e-05 -4.61416579011003e-06 -1.83904389291438e-05 -2.14652065774003e-05 -6.3693738600716e-05 1.87621754760110e-05 4.46198834230317e-05 -1.13181216726503e-05 9.57343728820036e-05 -7.53298650296708e-05 1.80801943574957e [...]
+id2351 4.98688606033478e-05 6.78187647256549e-05 -4.44515268447818e-05 7.49481860143008e-05 7.6460070789714e-05 -8.17844013158598e-07 4.98533889369351e-05 8.50586931366662e-06 -5.23660698679534e-05 -1.46095309404741e-05 2.28017815748772e-05 -1.12088250214522e-05 5.88716880654423e-05 3.44631793357594e-05 8.19180793264208e-06 4.04614139779306e-05 -0.000137135253748282 -3.60608176310377e-05 -7.74929979036953e-06 -7.38255410019977e-05 8.8023051620151e-05 -2.87437657251675e-05 -2.159580155001 [...]
+id2428 6.75358856411427e-05 0.000167291279673275 7.74645800265895e-05 4.86548228763497e-05 4.21851459617276e-05 -0.000137835557630760 6.05053038384383e-05 -5.29999510709611e-05 -2.72161171564625e-05 4.75302558470759e-05 5.17223464247534e-05 -4.42859368962503e-06 7.08783795774236e-06 7.41494220412976e-05 1.51776767435392e-05 -2.07322534148451e-05 -1.11039821950577e-05 -7.31580693472705e-05 -7.11017065193436e-05 2.2511101076402e-05 -2.03279611468536e-06 7.83649092143883e-05 3.4115705483593 [...]
+id2444 -0.000135523880025119 3.18897493462521e-05 5.84423726665947e-05 4.6582834484168e-05 5.42941989731924e-06 -5.41992510324225e-05 4.64587099991381e-05 0.000123756501007451 5.04570028343876e-05 -2.46193896525529e-06 -3.91795531807826e-06 2.54534049471989e-06 -8.60742133327066e-05 1.28405019643955e-05 9.09318540083146e-05 5.00332519354941e-05 8.24741986335761e-06 -4.64108708648881e-05 -5.56396617850837e-05 2.28277335255752e-05 -6.89328495101746e-06 -5.52758491009321e-05 7.5358684060659 [...]
+id2476 4.79800356991375e-05 6.59534483295991e-05 -1.09514221995819e-05 1.88999281209757e-05 -1.70120535643270e-05 7.74057056726772e-05 -3.61060244899526e-05 9.05433370258274e-05 1.68601672785527e-05 8.80614882385372e-05 -0.000132358508918434 -9.03091640640183e-05 -3.51726854117048e-06 -6.89693045036282e-06 2.37719985194054e-05 5.68592806443028e-05 -5.29168974301682e-05 7.19603502836124e-05 -9.44454503660117e-05 6.5228011993608e-05 -0.000114925245513319 -5.63528795208315e-05 0.00012289910 [...]
+id2514 -4.84881336069467e-05 3.28126241039174e-06 2.86966210167203e-05 -9.01813277888575e-05 6.47522107590919e-05 -1.16207721961699e-05 -9.86287499964376e-05 -5.20941830326992e-05 1.39147250881330e-05 2.53847484949216e-05 -1.55075542735592e-05 -2.15819728022460e-05 7.17153096379979e-05 4.83490843023397e-05 6.51609498900682e-05 3.08921661884410e-05 -2.41142130659519e-05 5.66433312007205e-05 -1.99638955764997e-05 2.11607675956446e-05 4.31378856883202e-05 2.31549469115620e-05 4.426676156985 [...]
+id2520 1.12456454977787e-05 2.66315722233254e-05 7.17894857345464e-05 4.00192733655013e-05 7.87250231409918e-05 -0.000121344544026253 2.78969163457152e-05 3.60919177236702e-05 -2.58261347344083e-05 -2.66462014854628e-05 -0.000103838354010958 9.1873809566302e-05 8.25093347724985e-05 7.64469144133e-05 7.2051479644291e-06 4.86087799102334e-05 -2.63076709716023e-06 -1.71716403052122e-05 -0.000180800079888489 6.19490532850716e-05 -7.22959653899945e-05 -1.31655972042667e-05 -9.70158750832639e- [...]
+id2524 -4.30444892373229e-05 -9.10153828785312e-05 5.02056683467469e-05 -1.17626989737516e-05 -7.64651018976873e-06 -0.000380805742067039 7.72633511964681e-06 -6.05765558149643e-05 -1.69674737412090e-06 4.30496034028246e-05 3.71098211048116e-05 -5.62962993108224e-05 -2.95198352756345e-06 -6.44228567928835e-05 -8.11998749797033e-05 -4.9370318576778e-05 -3.67855554974106e-05 -4.83923113594348e-05 -1.06422148721179e-05 2.73090637869782e-05 -8.68050431207917e-05 -4.22401490343970e-06 1.40389 [...]
+id2531 1.73596629623382e-05 2.00299982896545e-06 7.83629681187175e-05 -6.92379761399639e-05 4.91361183475454e-05 1.85006531251506e-05 -4.28299478751051e-06 2.13938588800392e-06 1.15647674995651e-05 -2.87467975328111e-05 6.46540654413496e-06 0.000108961010866416 4.65383548074151e-05 2.43941811716387e-05 6.06849874364218e-05 1.13241292741085e-05 5.71781250774646e-05 5.18877551318693e-05 4.66017691004084e-05 3.43039712804023e-05 4.46424647515247e-05 -3.78971799215911e-05 -4.06238046321174e- [...]
+id2558 -2.69558465053745e-05 1.38284022250265e-05 3.80441165753415e-05 9.58933318807419e-05 -6.16843858958772e-05 8.63230853756075e-05 2.68983138795067e-05 7.07936142738346e-05 2.06886375910821e-05 1.13660286356238e-05 3.32167697101027e-05 4.37074289964621e-05 -0.000145640032802082 4.50674701633176e-05 1.92483370846331e-05 -3.48677346782771e-05 4.77103933578635e-05 -4.53997320006453e-05 7.43334332510879e-06 2.69829427438604e-05 6.87297520963099e-05 -6.01785889949512e-05 9.00057384289373e [...]
+id2589 -2.85207653310927e-05 3.30682463976978e-05 4.56837217330081e-05 7.80517120057933e-05 -3.81628722585664e-05 8.54610296222224e-05 2.25587274922646e-05 1.33969356234339e-05 1.06470214422766e-05 8.19992090961775e-05 8.24112176146152e-05 2.13248999052217e-05 -0.000193518228553940 -2.39583474715065e-05 4.8557809663992e-06 4.34296719686683e-05 9.78930215259804e-05 0.00017711527530431 0.000118027796437965 1.9253365604649e-05 -2.11798911463913e-05 4.55834795072969e-05 -4.81644816744066e-05 [...]
+id2618 -4.38309895636772e-05 -4.57890967093822e-06 -8.2350535091268e-06 3.10630979256365e-05 9.16218051512306e-05 -2.58059447072954e-05 -5.36050991542209e-05 6.16303896012362e-05 0.000129772413999800 6.97346606050475e-05 -8.11208211917065e-06 5.13133823978017e-05 -8.26107781817751e-05 7.6622179843549e-05 4.53600994145204e-05 1.91609533343701e-05 7.8368789112124e-06 -1.10514495780103e-06 3.02195055343054e-05 3.01138058126883e-06 1.07479590859212e-06 0.000104582300159595 4.19253520643858e- [...]
+id2653 6.45198413301182e-05 -6.44533339543308e-05 -5.56168269528068e-05 -8.26043346474039e-05 3.14824561491666e-05 7.70511834083941e-05 4.76216726309789e-05 6.58860622647624e-05 2.07612908713948e-05 5.03674144175241e-05 6.6599661318853e-05 5.8565134259341e-05 -6.90563924594838e-05 4.32237837199476e-05 -8.90851850769481e-05 6.87650570037964e-05 2.68490676924831e-05 7.78926508670486e-05 5.29303944186181e-05 4.26417259919908e-05 4.44087532903537e-05 2.25310343583606e-05 3.87631309157289e-05 [...]
+id2654 3.10427607362021e-05 4.60131077818201e-05 5.26952352931816e-06 -3.34448875847105e-05 2.36521931809403e-05 2.21065311950948e-06 1.53649423166850e-05 -0.000101605484398604 6.07395204339028e-05 -3.15574801670884e-05 0.000101112418108105 5.23695084751009e-05 8.84610294405611e-05 1.97519969827221e-05 -4.97541408801373e-05 -3.07748528903489e-05 0.000122368702379437 -5.09347100145285e-06 -6.69205847620021e-06 5.72970393316653e-05 -7.60256563755678e-05 6.25632012035863e-05 4.1225526019611 [...]
+id2681 -8.25439271381816e-06 4.10844210409699e-05 5.35862876407482e-05 2.19757735133408e-05 3.18758516541881e-05 9.2006028999053e-06 5.208727991614e-05 -4.78972122465327e-05 -7.94639385581174e-05 2.43939258969402e-05 -2.43992121684028e-05 6.3828260982069e-05 5.07905111583553e-05 5.47443387277929e-06 2.52047325089597e-05 -3.49668913336054e-05 -0.000164508498875599 1.05877968272956e-05 8.5306633195789e-05 -3.34645031139748e-06 2.73015025573104e-05 -9.45880731440505e-05 -0.00017792565470117 [...]
+id2689 -4.83836858006509e-05 3.71643815018763e-05 -1.77166589658629e-05 5.78692321270194e-05 3.88978594620270e-05 4.70548072409572e-05 9.6253651717154e-05 -1.84620483380267e-05 -7.81055896033111e-05 7.06886341485212e-05 6.64998486631202e-06 -7.85432890709522e-05 -2.0888378934468e-05 1.94187068192385e-05 -1.85514166286989e-05 -5.18178944023621e-05 4.27388662239637e-05 -3.14893760408033e-05 -5.13221268979833e-05 8.76992595650556e-05 -6.42217907555616e-05 6.90341298410407e-05 7.471808577871 [...]
+id2693 3.3879249466173e-05 -1.67003256391637e-05 0.000103151733425051 -4.01252959037343e-05 -3.9645152768015e-05 -2.03994928529696e-05 4.85503613840076e-06 2.2187760850271e-05 -4.63067725965368e-05 0.000107930405830262 0.000109275433217535 -8.06620800437096e-06 -6.04392217082888e-05 2.45992822330031e-05 -3.19413512939133e-05 5.40898537910323e-05 -4.89029775386777e-05 6.309312295197e-05 1.26266643830708e-05 3.52061237998451e-05 -6.12250457292265e-06 -5.14397870910587e-06 -6.34141028020683 [...]
+id2708 2.69011390266958e-05 6.95498440055262e-05 6.96949126042001e-05 4.86252433118509e-05 4.98570543399124e-05 6.70765726082949e-05 -2.21431135791991e-05 -6.31891157779118e-05 -9.08756208829717e-05 -1.51475672937656e-05 4.04313251420748e-05 7.1832267894364e-06 -1.72219979181543e-05 -2.67374333288800e-05 1.56356145220739e-05 -1.22668833317455e-05 4.6929752067396e-05 -5.51617376596893e-06 4.18782624074913e-05 4.23575007976025e-05 5.99422573187225e-05 2.34469650156838e-05 4.06359982560126e [...]
+id2741 1.36519272565416e-05 -0.000252524147537897 -7.40147038731714e-05 -1.47789863712820e-05 3.5385230008309e-05 3.08326340278015e-05 -2.49676933558534e-05 8.76884591772485e-05 -1.31722430112622e-05 -0.000184874498945001 8.47396896748228e-06 -3.39768434953019e-05 0.000108082615022064 2.87106144240369e-05 8.24332267440922e-05 4.16227713363203e-05 0.000110648867978101 2.58028853380526e-05 4.60758405881773e-05 -8.05967564714641e-05 3.88223271198725e-05 -3.9286371290981e-05 6.43145021596337 [...]
+id2842 -3.30605351846501e-05 3.22529753701431e-05 1.47977356942576e-05 5.88344902992338e-05 -6.61365816900205e-06 -1.56261675716444e-05 7.50434608592282e-05 1.98725289790311e-08 2.58873066091577e-05 8.10028520596624e-05 4.78279790960549e-05 -3.95742724766914e-05 8.64005646874754e-06 -8.01713303155768e-05 -0.000152866339538107 -1.02661800590931e-05 1.08311328799826e-05 6.2065296007639e-05 0.000102632613176640 2.13132562433750e-05 7.5855680498239e-05 1.15311477932377e-05 3.30511455332550e- [...]
+id2862 -3.86083682740333e-05 0.000120399426885519 -4.07036420412015e-05 -8.35834036745592e-05 -3.69354930854223e-05 8.92565728462624e-05 -4.13178072919908e-05 0.000114080064029246 4.38104803765286e-05 -0.000100410376721096 0.000110855872181766 4.3949269076314e-05 -0.000204667748832128 5.55995246944558e-06 1.43923138697128e-05 8.626013023872e-05 5.51659858118405e-05 5.59668035250094e-05 3.28001704279885e-05 2.29907934799995e-05 -7.02428963152416e-06 -1.77491141437688e-05 0.000135043919852 [...]
+id2894 1.75059711928065e-06 1.26254244886907e-05 1.37621992326180e-05 6.8528365889905e-05 7.57688066091594e-05 -2.72991709450804e-05 2.13700675058542e-05 -1.96927550340777e-05 9.93036234699705e-06 5.30808550362602e-05 -6.17107440292325e-05 2.75804459251785e-05 4.54731665960943e-06 5.3241936624663e-05 2.96725329272199e-05 6.09639827127733e-05 -9.18422695663405e-05 7.05349625663538e-05 3.30641931540840e-05 -1.94941592974875e-05 6.61183640551677e-06 3.09713482228671e-05 2.90661460119919e-06 [...]
+id2901 3.11117307935292e-05 2.72191084767699e-05 -1.02983770115939e-05 -0.000179467174611842 3.429486080831e-05 2.38098568312714e-05 0.000100306880041193 -0.000169051726819890 7.3022844976168e-05 8.60421577111398e-06 2.80139306746478e-05 4.39064183173032e-05 4.14491711147584e-05 -0.000229322000619409 -0.000355672176483716 -5.3395271117626e-05 -4.64874286467508e-05 1.66249424422062e-05 -1.17036683173256e-05 4.82782280860873e-05 3.50529652618884e-05 -5.98448897951644e-07 4.25614106311042e- [...]
+id2925 -7.15620982489163e-05 2.24089024976983e-05 -2.28735707521641e-05 -8.5039895580804e-05 1.34576729857611e-05 -9.55140020446804e-06 3.52865377607723e-05 4.41346645503081e-05 -4.69172774105678e-05 -6.736631765157e-05 -1.58314220427783e-06 -2.47283517199445e-05 6.12779548186796e-05 -1.35835694434800e-05 5.39050095545946e-05 8.13004100860452e-05 -0.000149150784405227 -3.18257115645978e-05 -1.70960062244359e-05 1.34712249740072e-05 -1.27665074408653e-05 2.00586209866465e-05 3.90747132820 [...]
+id2932 6.44864102579817e-06 3.56845423451207e-05 -3.26931951498389e-05 -8.98900090351814e-06 -5.72790753546763e-06 -7.142843001777e-05 2.56789654764626e-05 3.24321948974155e-05 -2.92464026739212e-05 -1.89212614217241e-05 2.25599276875240e-05 5.49983898706055e-05 2.55047049219621e-06 1.40969675496019e-05 5.9451224013379e-05 1.92873329009650e-06 4.33101347494927e-05 -5.69352939675099e-06 7.31402187890259e-05 9.26120753376736e-05 1.56117173569856e-06 -1.44014443558734e-05 2.79694806745802e- [...]
+id2973 -3.02006901250198e-05 3.25671059817466e-05 6.2500769031701e-05 6.41596967092314e-05 -1.50048685400426e-05 5.99007035914873e-05 8.66089423366369e-05 8.80034617616423e-05 4.2716342118531e-05 -3.14886939828306e-05 5.42729333765648e-05 5.43960185258172e-05 4.31387029479782e-05 5.14099235750345e-05 -4.72310082568435e-05 -4.93803648019323e-05 4.01010782585127e-05 0.000108206810805511 5.02954087492595e-05 -0.000112854557109783 0.000115013074816821 8.62954612632558e-06 2.45545291317384e-0 [...]
+id2985 -4.41382504051545e-05 -0.000177587245408866 9.56928172444619e-05 4.01295597687354e-06 3.69188285690321e-05 4.05090913613354e-05 3.96313195803965e-05 -5.17386271131173e-06 -6.23947187135122e-06 -7.09706500483855e-06 9.91372943719618e-05 -3.6556364747183e-05 1.49167810731581e-05 5.25481540638499e-06 -1.21725920858546e-05 -8.29957308824902e-05 8.45738278079687e-05 -0.000116967157535077 -1.13122439014932e-05 8.66381857331037e-05 3.83839980344035e-05 2.20423471926479e-05 1.845652218310 [...]
+id3056 3.08336792311799e-05 5.2368156109913e-06 1.17680019660598e-05 6.05856419730916e-05 6.36015860262934e-05 -2.46139637585539e-05 -5.31836122473424e-06 -0.000100846014766768 1.59459060946383e-05 -1.88406890206735e-05 -1.89956846524473e-05 1.70989485620561e-05 -3.85762110396489e-05 7.55976223318766e-05 9.79975170508745e-06 3.01503117392037e-05 -7.4641768335702e-05 0.000117172484680892 3.31462195171305e-05 4.88089901886046e-05 3.0545976360585e-05 -7.09310696128306e-06 0.0001095985500007 [...]
+id3111 -0.000150359571316425 -4.41452542962109e-05 -0.000183439496231572 0.00010783361714273 -1.65776097774240e-05 -1.89785234901512e-05 6.64296030299792e-05 1.94677947113251e-06 0.000126635937309792 -4.63444078771042e-05 0.000111635472245879 -3.62655447163796e-05 -2.77777465770545e-05 0.000126138736207361 -7.2091425440262e-05 -9.70762790121835e-06 -1.70623549238272e-05 2.63996571580745e-05 -7.42256183517806e-05 4.97683014659162e-05 3.57186200412382e-05 0.000129301049099211 -5.4551537779 [...]
+id3129 5.03272235585654e-05 7.2549165063697e-05 2.85001860385267e-05 6.31323969434308e-05 2.79549069483573e-05 3.28020636950828e-05 6.77507535235865e-06 -3.35836073079676e-05 5.65720054675449e-05 -0.000100100957332457 -4.14995539287519e-05 -5.05566794151731e-05 4.9566204023419e-05 6.94092903904419e-05 -0.000144790498286322 3.60507705803972e-05 4.26018404007348e-05 -2.43532217704782e-05 1.10507723298785e-05 -1.41669130599437e-05 -4.83896307460204e-05 3.35067490524319e-05 3.29265215475024e [...]
+id3139 7.74519170095643e-05 9.76909585932667e-05 -5.99723282616428e-05 3.83971491880498e-05 -0.000105897775242108 0.000161737849552072 -1.22183691398611e-05 6.02724013304095e-07 0.000108513199201746 -0.000116933674897066 -4.38964700969643e-05 5.89755402900319e-05 -0.000120777543527231 -7.45962648270185e-05 -2.17808488272189e-05 -5.50180515581706e-05 9.71455385692869e-05 -2.07472504614509e-06 0.000110799977239446 5.62600462670763e-05 4.53273757933709e-05 -1.19021657184141e-05 1.0638300483 [...]
+id3189 -1.72908596978098e-05 -5.75121077775184e-05 -0.000118170250996386 0.000154958778646104 -5.45506317351292e-05 5.61649193629484e-05 9.50925768509132e-05 3.74095894601761e-05 -0.000149151386030461 -7.5837046064469e-05 1.96792045992245e-05 4.45488550896832e-05 4.52225817791519e-05 -4.86145521549572e-08 5.09743392605169e-05 2.47787053360439e-05 3.20706113927087e-05 4.67974748934774e-05 4.87253117819717e-05 3.40704415215682e-05 5.13525824963883e-05 -2.27727580424163e-05 -8.5518150812746 [...]
+id3219 -1.80555832164493e-05 3.81694246722526e-05 5.85268021267007e-06 -7.51457707715697e-05 7.82041035377824e-05 -1.10916098811076e-05 -0.000230530781375878 2.89470458933611e-05 1.40298025424312e-05 7.1305981161937e-05 -6.22543615471878e-06 3.53898776642682e-06 4.24996700225132e-05 -3.84938935190985e-05 0.000107717546603757 3.75759951535458e-05 4.05268016494998e-05 4.1887052565377e-05 -0.000242086594099251 -2.16688836043681e-05 4.49424937775969e-05 0.000151276061455760 -9.0858447686361e [...]
+id3263 3.63433278116598e-05 1.88526163619104e-06 2.37457773304015e-05 -1.56796449361796e-05 -1.73493756034456e-05 1.08887349001228e-05 4.19134496767411e-05 -1.49772387330490e-05 3.0247236619797e-05 5.87763616128909e-05 -0.000138233143116673 -4.81621790897986e-05 1.23304571718522e-05 -0.000106863362301157 2.45422631645971e-06 0.000116098158487397 8.27780857579276e-05 -0.000149980932522523 -4.26723454430973e-05 7.88992980286858e-05 -6.93651897606509e-05 -3.66348961139296e-05 0.000123286975 [...]
+id3267 2.27047641686777e-05 7.06388775163902e-06 -2.24653221726275e-05 -4.66422536010184e-05 5.331997963062e-05 -4.60027662055159e-05 -0.000104091970768153 -8.91852341391699e-05 -5.17796701808941e-05 -1.43882470346490e-05 5.36418974824023e-05 -2.9060744776174e-05 2.39464544037312e-05 -4.62771385455830e-05 6.51255389491259e-05 -8.43115429541822e-06 3.76898407617724e-05 -5.17171877928815e-05 1.99341431491789e-05 -1.38850505407216e-05 -0.000100497937443776 -1.28967266732118e-05 -1.490357025 [...]
+id3305 9.5610025163696e-05 5.40210599378014e-05 -3.35397471778136e-05 6.90210013152098e-05 1.92276168737316e-05 4.97607567734022e-05 1.03678432616583e-05 -1.95154518347276e-07 -7.15034855339724e-05 9.54341798248589e-05 -4.89761568862887e-05 2.48381988547661e-05 8.97270774506094e-05 4.39408650895998e-05 -0.000215209757850221 8.6054495372619e-05 -5.84353063128633e-05 -2.54733082357065e-05 5.9539016145724e-05 4.63164316431377e-05 -6.26470722294363e-05 -9.50326944422085e-05 9.15536674114475e [...]
+id3323 -9.19903758441119e-05 -3.72670711179956e-05 2.74703184346375e-05 1.58159693733205e-05 2.03304129834117e-05 -8.04059638314594e-05 2.85913209888145e-06 4.39068116174463e-05 7.62117415479864e-05 -0.000165875749361517 -1.95689643904567e-05 7.47082484611096e-05 -7.2396798865043e-05 -2.62082363212132e-05 9.54818576362699e-05 -0.000119178158476863 -0.000154757452128410 -3.28230372341935e-05 5.95568733495352e-05 1.85164226283136e-05 1.64557069115862e-05 3.90971441201235e-05 -4.96887716274 [...]
+id3330 1.23938594380076e-05 1.70207443219057e-05 2.08828234024053e-05 1.82494563708860e-05 -2.90456979827723e-05 4.84007115435414e-05 3.36388412851643e-05 -0.000121260854247771 4.05898598722861e-05 -6.25874337905323e-05 9.67073901132666e-05 -4.83074832757343e-05 2.94401265648871e-05 6.97170064821463e-05 0.000104976570020844 0.000133896586481266 7.5210543239616e-05 0.000126597465866987 -6.56399985146512e-05 3.10703312739421e-05 3.02950795300974e-05 -4.66878179809746e-05 -5.40833218656536e [...]
+id3354 5.94087843447261e-05 -8.89494625796307e-05 1.28315726635908e-05 9.36370100689634e-06 -7.7454267362355e-05 -5.16241091825677e-06 -0.000280455771972905 1.08266951029557e-05 3.25846459234115e-06 1.26092185991555e-05 -0.000116344935701271 0.000130845967207768 0.000120277486682420 -1.82847549090082e-05 -6.20513496134236e-05 -1.90904895589985e-05 5.06033815959787e-05 -5.40358537925306e-05 0.000111866747316994 3.80076483174143e-05 1.87986253567253e-05 -3.60509570044653e-05 2.227287523972 [...]
+id3371 -2.51773650922481e-05 4.98601343060145e-05 5.28676717317515e-05 3.88150124495118e-05 2.64805412490641e-05 2.49299886471797e-05 -0.000137640843417878 3.77699642472988e-06 6.79652527483095e-05 1.11093100502077e-05 5.43313441948486e-05 -0.000129240073972714 0.000104192950058501 2.55994010952021e-05 3.78172157281463e-05 3.54419038279071e-05 3.50576153680269e-05 0.000103236458709314 2.93083742665312e-05 3.66087594568188e-05 5.92535988161652e-05 -4.70096404335063e-08 4.86141670808706e-0 [...]
+id3398 -5.47610583263422e-05 -4.55303798293438e-05 -9.30299784782809e-06 -3.90336875303354e-05 -8.98463188940924e-06 8.25024158945622e-05 3.90580816730418e-05 3.77205840576518e-06 3.11978451578196e-05 1.53664546064841e-05 9.4839829463811e-05 -2.48127455969010e-05 -0.000104494801608470 4.41761782181319e-05 6.81521178027972e-05 3.13255356893541e-06 7.91230037508928e-05 -8.55243048648097e-05 -4.56737508276346e-05 2.68576596133253e-05 6.72439466580977e-06 5.46325481545361e-05 3.7881871213437 [...]
+id3400 -1.83063685226762e-05 -4.46827012978147e-05 -0.000337970283356624 -2.141504154592e-05 -5.33661083572422e-05 6.7024531244733e-05 -0.000106384494563632 -0.000162764889188689 1.25941955628255e-05 7.70546587071429e-05 4.1631673503139e-05 2.88743177149256e-05 -9.33362805254357e-06 5.02966122692235e-05 1.62258771748996e-05 8.76037469478525e-06 5.51243172863873e-05 -6.28669095637625e-06 5.50630828363868e-05 -4.05548577734515e-05 -0.000221536084045510 -2.93083205229742e-05 -1.837269215809 [...]
+id3417 -8.62780543265028e-05 -9.12653914660122e-05 -5.0241159964544e-05 2.94320946509176e-06 2.04908874004024e-05 1.49563075701432e-05 -6.6651667310722e-05 5.27579665640117e-05 1.80637606896787e-05 5.60981082172946e-05 -5.23587383622542e-05 3.59952082746735e-06 0.000135069507614331 -7.8092556720211e-05 3.01616647782076e-05 -1.28072731724613e-05 -5.09699412203454e-05 -3.2466118286054e-05 6.18619016498048e-05 -7.89845526012812e-06 -4.62820450031012e-05 8.25267128686696e-05 -2.2624453666676 [...]
+id3465 -0.000125493498772772 -2.23944941312613e-05 4.87573065273513e-05 6.21902601676573e-05 1.34246313066969e-05 5.24295778424616e-05 4.93440757598983e-05 -4.53575196910669e-05 3.59931148496266e-05 1.90767688898247e-05 6.04173214810342e-05 4.1606369006771e-05 -4.66603522241984e-05 1.38497876130107e-05 -9.91600766814675e-05 -0.000116874924317845 -9.12988899249654e-05 8.98660309126993e-05 7.8897975096102e-05 -6.35956654014361e-05 -2.22170747143515e-05 2.35891563136079e-05 2.45153367742965 [...]
+id3521 1.22839650212804e-05 7.8901236026255e-05 0.000116493205748246 1.24728444054774e-05 5.19261049245123e-05 -6.50616133949562e-05 -2.65544972009451e-05 -3.36998364990089e-06 3.14865001562144e-05 5.54967082156368e-05 -4.35043631693589e-05 2.54708266081120e-05 -2.16597740222855e-05 7.67116507293085e-05 1.38882586024347e-05 6.26889276427688e-05 -2.69333296303184e-06 -6.9088275479163e-05 -5.55971583596135e-05 9.60092145689089e-05 9.0496442408209e-05 -4.88824123229913e-05 1.62299957251509e [...]
+id3573 2.70208298545084e-05 -4.45859146591001e-05 -3.42423355743399e-05 4.47473664608202e-06 -4.05494398158398e-05 2.07714395923717e-05 6.22658872680604e-05 2.27024931397838e-05 -2.68986201747066e-05 -6.98607910813714e-05 3.36227178273134e-05 -3.21572623421547e-05 -2.27665265571759e-05 2.12902756934926e-05 2.24536923373959e-06 9.28288167506285e-05 4.89758819581987e-05 9.49848094171205e-05 8.80753385282213e-05 3.84472578417794e-05 -8.14849309763227e-05 -6.10232187180716e-06 8.742611516072 [...]
+id3593 4.76996159937124e-05 9.05168310760032e-06 6.83675580165955e-05 3.87237181753101e-06 1.94193708665334e-05 -3.75704138565365e-05 4.29708025966984e-05 -9.25288096118334e-05 7.51173886148078e-05 5.99855648664452e-06 -4.36233749785771e-05 8.96693719840373e-05 0.000130815182780198 8.00866988394258e-06 -2.27305323815152e-05 -3.03565817039573e-05 -1.90693605720788e-05 3.42446331295252e-05 5.0607280777451e-05 -5.40593033846613e-05 -8.30802840366951e-05 0.000123653994039603 -1.2536300971804 [...]
+id3630 -4.785066566521e-05 -3.39174486948204e-05 -0.000101155653909903 -1.00458182449739e-05 2.37218229061951e-05 -2.28937805372645e-05 1.9128021639637e-05 6.22850115784971e-05 5.58074027264586e-05 -3.99410637342343e-05 1.04563566291978e-05 3.61067082259933e-05 3.3775940679113e-05 -2.59395612162903e-05 -5.0710298716665e-05 1.11610428343222e-05 7.13621782879718e-05 -3.73668515514727e-05 9.8891664012482e-07 -7.570754728885e-05 8.10760309266563e-05 3.55151526313400e-05 -2.23940708509427e-05 [...]
+id3635 0.000123529225743067 6.19618852338726e-05 5.56457103969199e-05 1.79306560629146e-05 8.18595660693527e-06 3.22906000460678e-05 6.32734699288292e-05 3.14495560887211e-05 -0.000312501338762392 0.000103168185104183 -8.24404652258544e-05 4.26499919640961e-06 -7.83265463392738e-05 -9.78376252356753e-06 5.11973401140541e-05 2.77239605952908e-05 1.51110810741956e-05 -9.2928328921711e-06 4.08846298264189e-06 -7.41902423081809e-05 -2.17280309997863e-05 2.24621699326999e-05 -8.87470433754263 [...]
+id3641 -2.79258438167034e-05 4.55249788289456e-05 -9.74559390589953e-05 -9.02345411132756e-05 1.60800999970004e-05 -2.52594143818444e-05 -5.53511808903652e-05 5.38766892762305e-06 -5.19496200566297e-05 5.03681897577284e-05 -6.20039989728471e-05 5.94795664389106e-05 0.000103112255987487 4.54004458336347e-05 2.74279582671959e-05 -7.94334338160942e-05 7.84589999386068e-05 5.90630283755877e-05 -6.78471746459174e-05 -7.13945750723404e-05 2.88700978113262e-05 -0.00010818136582225 -7.9788040316 [...]
+id3657 -0.000126043315498601 5.54566037233544e-05 -5.09291616164480e-05 2.56083453742901e-05 2.94371599592821e-05 1.08868711509991e-05 -2.26154230630974e-05 0.000109584320922275 -1.13288903530758e-05 2.00483673217306e-05 -3.51407032150832e-05 5.00617205011503e-05 4.81792139498328e-05 5.40104091840219e-07 -8.93697343112347e-05 2.98756572530067e-05 -2.28137257805017e-05 3.92287642670038e-05 5.45790249993285e-05 1.29764143111417e-05 -3.35057391386945e-05 -2.00564724056713e-05 -2.13042595087 [...]
+id3692 -1.98548634681672e-05 -1.40283608492419e-05 -1.84470813841038e-06 -7.3296102059739e-07 -2.94298503136161e-05 -5.47907324058217e-05 2.24247822450789e-05 7.80026597643123e-05 -2.33742582201032e-05 -7.5026639597755e-06 -6.43627623598246e-05 -3.38951683013436e-05 -2.39817239062998e-05 2.76995258150524e-05 -1.40817682771360e-05 -3.85987522286120e-05 -6.37338024924792e-05 1.24285834539078e-05 4.36256918421909e-05 -4.3276448044218e-05 3.72360138777891e-05 0.000101385155295267 4.517762435 [...]
+id3701 -0.000165709702978351 -3.06146503745366e-05 2.0730922722106e-05 3.83189783529755e-05 1.79277336784805e-05 -5.90500613352378e-05 1.81642684366535e-05 8.74634294101722e-05 3.70667026117411e-06 6.960317002785e-05 1.74090292246012e-05 -7.69253821753114e-06 -4.39240911080436e-05 -3.26172858597841e-06 8.37439051246883e-05 -2.95927909893189e-05 1.9305834034409e-05 6.91735907823321e-05 7.36469178321909e-05 -4.51553434504795e-06 -2.07249367071099e-05 9.2768237689276e-05 -4.52010449197639e- [...]
+id3709 9.04770459935123e-05 2.17771821935419e-06 0.000103081374545453 9.00977378086206e-05 6.6414869076341e-05 1.58363419773014e-05 3.16246463968884e-05 7.25562360018634e-05 3.2790264182777e-05 -2.58013975237824e-05 7.64503624497565e-05 -5.45011592494449e-05 -1.86538869451938e-05 8.34798069709998e-05 4.14200454728668e-05 6.07133481105355e-05 -8.12506762467183e-05 -0.000219075761600784 -0.000119556101364805 5.53687908729728e-05 -5.43389367820877e-05 -7.63671100874282e-05 4.31829697518343e [...]
+id3735 -1.21144780634939e-05 6.42078471667299e-06 -8.167458867661e-05 8.08608145850359e-05 5.37896105591468e-06 -3.26477191276571e-05 -2.05978061911194e-05 5.41778542261986e-05 -3.30971736141454e-05 6.52623300017876e-05 3.01709141401766e-05 3.41696768879469e-05 2.26508284158315e-05 0.000106760610370041 4.15351810027594e-06 5.71216945993487e-05 2.80019352328958e-05 9.65325081248657e-06 2.22436837042235e-05 -3.17416565478684e-06 1.98404400683055e-05 -3.34362980107099e-06 9.7690685590128e-0 [...]
+id3809 -2.34576815047453e-05 -3.98329577294549e-05 3.24796700433897e-05 -4.40213644546161e-05 2.16885298990582e-05 9.2572314439676e-05 -2.40614852886271e-05 6.34660123342423e-05 1.12961646403088e-05 4.56064119439068e-05 5.3120356922335e-05 4.68899323367218e-05 7.3003499207482e-06 2.39414520670614e-05 5.80582511121618e-05 8.12518355844014e-05 7.6958152056156e-05 2.70519203195165e-05 1.64850033240753e-05 4.22288022481336e-05 -0.000181524221904904 -2.85886444115620e-05 4.94315716112519e-05 [...]
+id3820 1.35461885494302e-05 2.31360192079287e-05 1.13834571784078e-05 -7.98636337337247e-05 3.77788375848449e-05 -4.329940986471e-05 3.28938398677435e-05 4.12960594031780e-05 6.93820603404662e-05 5.26390764198616e-05 6.34371150495877e-05 2.48478963031164e-05 6.84523147973692e-05 1.29848216971781e-05 3.43045316083492e-05 1.16588525266777e-05 2.85481871425613e-05 0.000104295451740268 3.22416633440779e-05 8.0416863097894e-05 3.11462136381297e-05 3.47814330739119e-05 -1.34825957020192e-05 7. [...]
+id3823 -0.000144751985470128 -2.2348766566853e-05 -1.22186573953793e-07 -5.98716183363651e-05 9.22241663180928e-05 -1.64968968728334e-05 -3.0213639732787e-05 5.50728262336665e-05 3.67509614083117e-05 2.95368028211439e-05 2.49290752016068e-05 3.27422417699351e-06 1.42047275902367e-05 3.44790662898434e-05 7.41888727080785e-05 7.73985366652719e-05 3.70673055168765e-05 -1.46493090575706e-05 -3.69173168481843e-05 -0.000165130116761248 1.27719214510851e-06 4.9992976263367e-06 -5.06250972200832 [...]
+id3828 2.81492181715331e-05 5.27904449368228e-05 6.34048114659671e-08 3.00323044139645e-05 0.000106298384614903 -5.43272734816346e-05 3.38244354054771e-05 6.84501539478485e-05 4.71259852341858e-05 8.45050951206185e-05 9.47804111739672e-05 9.83361302796176e-05 -5.51313245253562e-05 3.1039027578379e-05 -2.75850806655369e-05 -5.43622069279264e-05 5.631383635028e-05 5.53305208818972e-05 -3.73388751435033e-05 3.79325597219629e-05 -3.96078414687947e-05 1.34936030246016e-05 -1.11711242786011e-0 [...]
+id3831 8.81057892941482e-05 2.80288860747616e-05 1.69761381449125e-05 3.34861796627785e-05 4.50199146563921e-06 -5.30512928127827e-05 -2.9837295240581e-05 7.14168661619614e-05 -5.88307270699331e-06 5.20193804221839e-05 1.90129304229832e-05 4.46416857578965e-05 5.28969383942574e-05 3.1680384795058e-05 -8.00433224904032e-05 1.30455129850848e-05 2.57780227161910e-05 3.19113089023956e-05 -3.97739265212722e-05 -7.98468330080638e-06 -0.000109701202312402 5.69473570759196e-05 9.12960584733513e- [...]
+id3847 4.85387665242767e-05 4.63860230980218e-05 -0.000114858438930010 7.28476350952928e-05 3.00275980296486e-05 9.69367208314709e-06 -1.54664717529064e-05 -5.45505513412539e-05 6.37173563664214e-05 -6.12013235938662e-06 0.000113465308328393 -7.20526815401831e-05 1.17813802916096e-05 3.55340137124398e-05 8.60368581671528e-06 -6.41845499939819e-07 -7.41714135634833e-05 8.67171739601786e-06 7.04438081272223e-05 3.31548994866583e-05 7.16524471592702e-05 3.90904988855113e-05 3.18603818002532 [...]
+id3857 0.000138405118347322 5.26634305912252e-05 7.50093479299412e-05 6.54388639839193e-05 -5.04013607628768e-05 2.49062539877571e-05 2.41284764917843e-05 -8.66414877515455e-07 5.93154860257642e-05 2.41291843778544e-05 1.58437801444584e-05 -0.000136739554369498 1.67428913396724e-05 -1.74322362279702e-05 -1.21585407825840e-05 4.65649319405202e-05 5.60152149311586e-05 0.000116407894355627 1.47796736610569e-05 -0.000210160236419441 -1.48596260992045e-05 8.35548644894993e-06 -3.7610847131898 [...]
+id3933 2.93161058737685e-05 -4.69625446567269e-06 -8.31228667751276e-05 -5.37702157268639e-06 -1.34518050128507e-05 6.50769098978842e-05 -0.000129797750394360 1.79184909965746e-05 -7.81298937640005e-05 0.000109999583566042 7.01720018758941e-05 4.90080475214218e-05 -0.000100400477862039 -0.000160487628293457 4.11766225333348e-05 5.1472368256183e-06 4.85784556998701e-05 1.90888175213776e-05 7.18602669818425e-05 5.48334305184439e-05 3.95973756114188e-06 9.67764831976892e-05 7.8283555906989e [...]
+id3934 -6.09645549720976e-06 9.87631296836767e-05 6.25540529429623e-06 -9.77788800226994e-05 1.81882112121882e-05 1.62711115862745e-05 4.41148520844662e-07 -5.79154528903383e-05 -2.55531097785916e-05 4.59010636719461e-05 7.73233310147718e-05 8.81694293213537e-05 -2.36596832283018e-05 8.80049907777024e-05 9.7744869049147e-06 2.09072755125093e-05 8.71684055648066e-06 3.4811139456441e-05 -9.17278729377311e-05 3.66953478776186e-05 6.52740692059605e-05 3.34340933340674e-05 -0.0001155799910010 [...]
+id3942 1.15893893853234e-05 2.80535818163097e-06 -1.30013678010599e-05 -1.22880768031018e-05 1.83130115376439e-06 3.69915475181643e-05 -2.32495775276328e-05 7.20006130698922e-05 -1.68069701323978e-05 -1.92508684214434e-06 2.91522296726537e-06 -1.6574829994047e-05 8.5371304802463e-05 -0.000150994489685456 2.69449468334031e-05 1.98012494413510e-05 -2.13698228907078e-05 -4.84700381754752e-06 2.7030950481755e-05 9.60456650400687e-05 -0.000104287834459201 5.03318043031724e-05 -2.1974943647647 [...]
+id3957 -2.46528769453435e-05 8.09029956187505e-05 5.49015419335032e-05 -3.42406273911394e-05 -9.78731040581535e-05 5.92976342743005e-06 8.62891910777269e-06 6.96942214164051e-05 -6.46159740382688e-05 3.89447479918199e-05 6.36984106425005e-05 1.84086571733359e-05 2.89448922587309e-05 9.51388118397082e-06 1.38439375705135e-05 2.86819078200668e-05 -3.26411128779302e-05 -3.42934274911827e-05 -1.63466510769285e-05 -5.42524615904017e-05 -8.8024320165881e-05 -3.9602322567455e-06 5.8494091326926 [...]
+id3970 -4.03134044937712e-05 -3.89987118610663e-05 -6.14828290833794e-05 -3.49478542654904e-07 1.96822141132255e-05 6.4359049991165e-05 4.37637968218535e-05 -2.79683490068763e-05 3.58371188237811e-05 -2.34416665743694e-05 -6.14892511361543e-05 2.57898747833793e-05 -1.79261154477113e-05 -3.76411568275299e-06 -2.348923525277e-05 -8.04832861762088e-07 -2.63967219103500e-05 -8.76864398498208e-06 -1.59657935635845e-05 -1.26200244313665e-05 1.50835853329305e-05 5.56408344018745e-05 2.332113755 [...]
+id3983 -1.55383923715044e-05 -1.68078523202923e-05 -4.49365022263799e-06 -6.51585611257934e-05 -0.000207399365883986 4.72293626457218e-05 -2.14862024822788e-05 2.18709174236143e-05 -5.26761699958215e-05 -6.10382476852058e-05 8.43986751349342e-05 3.12207212648605e-05 -4.62282238931508e-05 2.79208814430292e-06 5.17859463073817e-05 2.03139343325366e-05 8.43743516699709e-05 7.20124779312265e-05 -0.000107769227893076 -6.84683508501436e-05 3.47790701490128e-05 9.74221031159753e-05 -7.249252322 [...]
+id4008 0.00011088114573045 -3.6917201036421e-06 -0.000138923819445923 1.28022295991652e-05 1.06392240252879e-05 0.000113715036042134 -1.77064068827182e-05 2.93381201766589e-05 -7.15874707812476e-05 -5.70021137038799e-05 3.40870465743146e-05 5.94046298675592e-05 -4.35703685837967e-05 -7.04468175694294e-06 3.50904838938369e-05 3.77470477864369e-05 8.17169815812431e-05 5.53942252099836e-05 2.54524328160490e-05 -1.73703625580722e-05 -2.13794291744183e-05 3.26436705065204e-05 2.43574867467645 [...]
+id4024 0.000108387643764693 9.12044345450074e-05 -0.000122434163062345 1.34091275878275e-05 -1.83730313608793e-05 -6.89409784704724e-06 1.73267918696908e-05 -4.08398535306133e-05 -6.78171474625983e-06 2.43184587778029e-05 1.49225212209115e-06 -4.86512014079478e-05 4.57759744114391e-05 -0.000317195968034309 -9.24115170372912e-05 3.38846497024024e-05 2.91517907803068e-05 -8.5782897824898e-05 8.97710896691152e-07 -1.59131543369214e-05 -9.61334717511333e-05 3.09545586108332e-05 3.04833541214 [...]
+id4031 4.0671329000238e-05 9.30218689087428e-05 3.38311276078286e-05 -1.20855820406701e-05 8.61126382330644e-05 -0.00016518970358312 6.76860484125195e-05 -2.67806698711001e-05 2.84538140196235e-05 3.12395445668281e-05 -4.19530220393786e-06 -4.28514837850936e-05 5.39354054178496e-05 2.55718427768317e-05 -6.40659784437459e-05 5.03535279228734e-05 -7.71093735020678e-05 2.47598983428603e-05 -6.35010725353767e-06 -2.5159037377376e-05 -3.92884929638456e-05 4.68664720898396e-05 -0.0001095614100 [...]
+id4067 1.14350068340554e-05 6.03239074324383e-05 3.22555412077339e-05 -2.9595255355818e-05 5.94218603370307e-05 2.22387132048656e-05 4.35484778295002e-05 7.58838317349607e-05 4.29936420712497e-05 2.77071721993825e-06 -3.18293305545181e-05 5.23631260233839e-06 2.01395660844679e-06 -4.15025101645724e-05 5.63998409414894e-05 -2.75483683161773e-05 0.000128658797238818 8.39753761450623e-05 3.28206314787194e-05 1.25912699978261e-05 5.96728797747792e-05 -9.97068409315314e-05 -1.91134522575615e- [...]
+id4097 3.0449325821666e-05 -2.22827622839258e-05 -1.92883914974054e-05 -2.44161275958945e-05 2.05839193875562e-05 -8.24860200180186e-06 3.82769421000108e-05 5.69143204642413e-07 2.28923274757609e-05 6.84889701878613e-07 6.49360305460819e-05 8.68782651527274e-05 0.000132700996118187 3.80256474376212e-05 -7.40464186209513e-05 9.95992133813991e-05 -9.15203900715249e-05 0.000166031364842327 -1.82166394580276e-05 1.92981188912068e-05 -2.29638712790950e-06 -1.90998305688817e-05 5.8242774843780 [...]
+id4225 -5.46282515782859e-05 -7.33492076893994e-05 -4.53593045902387e-05 -5.80868416884902e-05 2.36029637588205e-05 -1.07290850904104e-05 -6.24698866253192e-05 -7.0460071166972e-05 4.30928405324474e-05 -3.47850341300508e-05 0.000107165344952592 0.000103792324274675 3.89004135837875e-05 -2.55679157737255e-07 -3.21986177464364e-05 2.80169232332299e-06 7.96283773059252e-05 9.9121638560388e-05 1.91830087808105e-05 1.82993007036887e-05 -3.72815715625841e-05 3.94571996305277e-05 2.781460693770 [...]
+id4229 8.53745164010505e-05 2.25800766772068e-05 5.50305137232776e-05 3.04365595566389e-05 -7.11359264268064e-05 -7.70449727376406e-05 -6.24630277122678e-05 -4.64312346331083e-05 -6.7658016481246e-05 -3.93996620754304e-06 -0.000120332678825661 -5.84399054622496e-05 5.13433707210168e-06 2.39921637675758e-05 -5.61497351065108e-06 -1.42260007723968e-05 -0.000162155607866919 -0.000282001177537519 -0.000102523188388403 4.8594640290414e-05 1.97637900540677e-05 -7.06736113882817e-05 0.000150883 [...]
+id4233 7.86590017292114e-06 -0.000114142807789251 2.80027728229834e-05 -8.8833297977699e-05 8.86589141961088e-06 -2.38113930920152e-05 -5.58499029266819e-05 4.34631912716198e-05 -0.000176137842652786 4.11862710886878e-05 7.53505207896871e-05 8.5352486930873e-05 -6.37189634345949e-05 -9.23926080583506e-05 9.65118822526606e-05 5.5563113744758e-05 8.90896502027349e-05 5.35375757220349e-05 1.57489366788956e-06 -3.50993691406915e-05 -2.95376929635664e-05 -4.97304323620231e-05 -2.6142060295340 [...]
+id4254 8.66826852424365e-05 5.56281033098225e-05 -3.05242089543845e-05 4.57595692437173e-05 9.23993809731218e-05 0.000122611748557648 1.17686669419046e-05 3.87469643706840e-05 -9.97813720113958e-05 4.30719379241383e-05 -2.25759571538776e-05 -7.48653592748972e-05 -4.4793654710457e-05 3.37550582095348e-05 3.21382547684246e-05 7.53222369963695e-05 2.80677769076389e-05 -0.000147091429630909 -8.05117898696413e-06 5.59210592881134e-05 6.3712625939794e-05 -8.63706275968966e-05 -5.79190161970219 [...]
+id4259 -6.65761913151818e-05 5.26543791331421e-05 -1.22148455062703e-06 -0.000102082259132656 -9.32181360508177e-06 -6.4135679411679e-06 -0.000211157743591280 0.000103241960152350 7.77067170243113e-05 6.84939608402784e-07 -3.67070845437505e-05 -4.41969132391474e-05 0.000119860610521964 4.53469902242655e-05 1.76732710246944e-06 -1.18246960028716e-05 -3.98256448279356e-05 6.77407423938317e-05 -3.82757844964313e-05 -1.8605507886243e-05 -4.2267177819131e-05 6.8450630032908e-06 4.288634382120 [...]
+id4261 4.82076390219129e-05 -6.88164054013613e-05 8.80974507021557e-05 -3.72877353176591e-05 6.06454187959837e-06 6.61105115314094e-05 2.51228843262147e-05 2.97387385140669e-05 -5.38039752463206e-05 3.28299926888126e-05 8.78768014018367e-05 9.36223787721995e-05 -7.50133809627932e-05 -4.67458779325762e-05 0.000107431338206153 -3.55945603696167e-05 -0.000106634429429664 5.42390350517671e-05 0.000105589169022461 7.24514542866977e-05 4.52386968405785e-05 1.70328018802055e-05 -5.0913418127761 [...]
+id4284 -3.53873859890146e-05 -1.42208478556965e-05 3.63106025909321e-05 8.59289926291536e-05 4.22534095602744e-05 2.18000185583036e-05 2.50903681451413e-05 6.09327545261242e-05 3.36146447755178e-05 -8.79520237145797e-05 -0.000128152339200010 -8.75199696828226e-05 5.54044807768999e-05 3.30648243216418e-05 3.48958561602872e-05 -0.000113680988433199 -1.16644578716727e-05 -0.000190757871026893 -2.22772771706712e-05 6.74878204194105e-05 4.54956878588033e-05 7.765622135579e-05 -1.0642374773192 [...]
+id4287 4.15124367452859e-05 -4.82971357096013e-05 -2.10027223744352e-06 0.000112773716855747 5.95469075853504e-05 1.13272041632174e-05 3.8923784201877e-05 3.85937528695738e-05 -4.05551974634201e-05 1.58299446302514e-05 -2.30792115200756e-06 -1.96324487417831e-05 2.58875543721013e-05 8.8765597492903e-06 6.8988688792546e-05 0.000100972682164778 -5.04916786568581e-05 5.3830814941263e-05 2.45151320184232e-05 -4.97242657348029e-05 5.64313426715676e-07 7.22847243146418e-05 2.71683550998705e-05 [...]
+id4288 3.29913197236645e-05 3.27838874991896e-05 4.51068263057966e-05 -7.09616208450571e-05 -1.98460720608716e-05 -0.000125428942303942 3.50107219960046e-05 6.41368584005438e-05 -2.33808054516481e-05 -5.16807902460755e-05 -0.000174836138443778 -2.39149887736655e-05 3.97281375129465e-05 -6.11677629248515e-05 3.93655598798716e-05 -3.70778849541314e-05 8.59801924274753e-05 -2.70450536960593e-05 6.5138562989098e-06 -1.13628869686355e-05 1.75964219242936e-05 3.66569878045824e-05 -2.2008454145 [...]
+id4309 1.68857282005788e-05 7.23922163352749e-07 -0.000117949984143088 1.67485035629386e-05 8.54010581637538e-05 9.69630845405208e-06 0.000103481950479519 8.09628262393526e-05 5.31708370630894e-05 3.04940018047001e-05 3.44325391602966e-05 3.28651025635019e-05 4.41118724936628e-05 2.94347030440889e-05 1.58486566536443e-05 -0.000109128245351242 4.47248936716862e-05 -4.56431644468822e-05 2.56246550854006e-05 2.30301498045464e-05 -1.31961498635972e-05 1.28230830229342e-05 6.58905601880158e-0 [...]
+id4328 3.01595045211194e-05 7.03206165596097e-06 -1.53009329079207e-05 2.97839263738966e-05 4.71731717647904e-05 9.88052721211305e-05 2.09696582745205e-05 -9.4721304802036e-05 -3.08651823161388e-05 3.10709341322899e-05 1.77603982308051e-05 8.01955308609232e-05 -6.52885570546249e-05 5.69631640874125e-05 -6.77900503630051e-05 4.93559862555397e-05 2.20427202020423e-05 8.21336903560199e-05 -3.44753898931531e-06 1.41496993709045e-05 6.29949562418245e-05 5.21319496142716e-05 2.86697074053528e- [...]
+id4337 7.17741844576198e-05 3.1233379128068e-05 -6.45691579100213e-05 3.88270012512737e-05 0.000108764586779467 3.37109946509208e-06 5.34753331665217e-05 -4.99847804347087e-06 -2.22865559516955e-05 -1.17192568780569e-05 0.000110034384951738 6.22628693612885e-05 -4.33775021808774e-06 4.81966790772095e-05 3.37672897923736e-05 -2.26280769987751e-05 6.00993032288622e-05 -6.15668828084722e-05 -2.9871197218901e-05 -3.8976841250501e-05 3.60155608162543e-05 1.79192470628796e-05 1.74674325771068e [...]
+id4363 -3.51899140401116e-05 9.02543685597995e-05 -0.000394572054808071 -8.31638240436029e-05 2.73772509127587e-05 4.43182367319403e-05 -8.49409853627895e-05 4.69798238367248e-05 -1.93342781076225e-05 -1.07965491214132e-05 3.27571959680521e-05 6.85741248497365e-05 -0.000103657833329350 -0.000216162978541678 6.20920511916569e-05 -3.51915227377838e-05 8.30568456209572e-05 -4.99057812459414e-05 4.89768780601811e-05 -0.000133649946576248 0.000101995044903647 0.000143052854761767 2.2563101200 [...]
+id4380 -3.4571409288961e-05 3.05627086464015e-07 -0.000267148955373846 9.44080953031598e-05 5.17518659988884e-05 3.47757533775657e-05 4.39532303182799e-05 2.74794864618198e-05 7.9940053408362e-05 -1.25270399345719e-05 8.68029030994836e-05 3.71606059716875e-05 5.02269876750903e-05 1.81503366307311e-05 -7.8989933800959e-05 5.88798411153539e-05 4.87536676532125e-05 4.15123046488507e-05 2.98684807641459e-05 4.40813795334186e-05 0.000150341047431926 9.2700424256832e-05 1.82767388019965e-05 5. [...]
+id4395 0.000112734889538590 -1.67888762342567e-05 -8.57486517261315e-06 -2.31576043949522e-05 7.79841667533416e-05 -8.20752474619551e-05 4.38663853598255e-05 -0.000102806395133915 3.55825331385542e-05 3.97841488721788e-06 -3.82694007238044e-05 7.3256824236094e-05 -2.14948623557077e-05 -0.000102070329749770 1.84148380456809e-05 2.62922714762250e-05 9.42662632123823e-05 1.52990228281395e-05 1.31421882082886e-05 1.16200939052517e-05 -3.03457380921924e-06 -9.55544879931289e-06 -8.70233887250 [...]
+id4416 -2.03467591736804e-06 -4.48027896385243e-05 2.31164946595703e-05 9.30926662505483e-05 6.24351119218969e-05 5.416641901593e-05 -3.83737380788640e-05 2.97656384373103e-05 -1.17223773323209e-05 -7.62682653223515e-05 -4.34919603737335e-06 -6.95870164395584e-05 1.75211526916996e-05 4.03391073007660e-05 -1.98574503473843e-05 1.45763720065927e-07 -3.52804393809061e-05 -8.00336759841597e-05 5.05213366069342e-05 3.77089794729864e-05 3.47272321553519e-05 6.18476713270892e-05 -1.868629315482 [...]
+id4446 -6.41943487254604e-05 2.59549593649868e-05 -2.28577938887017e-05 -2.17796442514362e-06 -5.77011998590875e-05 7.56534036389134e-05 5.09615969438666e-05 5.03633188716544e-05 2.34516847023318e-05 -6.57913921635718e-05 6.89623339972168e-05 -1.27622312122909e-05 -3.58918704144999e-05 4.05310470858648e-05 4.81298237572041e-06 7.32528628948136e-05 -4.89958233334357e-05 -4.43912696214985e-06 -6.84762011353789e-05 2.61269713013503e-05 -3.39048660148507e-05 2.45728533810608e-05 5.4380401733 [...]
+id4449 -0.000149313131836497 -2.69130725196752e-05 5.47590822380592e-05 6.31122509420631e-05 6.67068677602322e-05 -2.95631015284207e-05 -1.99208700051567e-05 -6.63191595350813e-06 -4.43066962727067e-05 6.23452873406592e-06 7.99071090062466e-05 -6.8155411663948e-05 -0.000147633538242135 -1.49752610282824e-05 -1.93296158912707e-06 4.63718845818751e-05 4.9776621816759e-06 6.02224565403176e-05 7.2897491878208e-06 -0.000114645433382335 -7.77151932156865e-05 2.85162287784013e-05 -2.19890739558 [...]
+id4512 2.13989523533004e-07 -2.08611379664576e-05 8.27802191219443e-05 8.09964644572448e-06 1.00416440540889e-05 -0.000135236839837355 -0.00015835437834408 -1.11126115383676e-05 9.91123451449202e-05 7.33963269061019e-06 -2.46410397304768e-05 6.52923546214753e-05 9.33578095749918e-05 3.16569790186e-05 1.51186164500321e-05 -1.79101343292328e-05 4.72396670290991e-05 8.7512017197029e-05 5.04472998863694e-05 4.15909681380792e-05 9.0650421856673e-06 -5.78020820978438e-05 3.53068121700490e-05 - [...]
+id4552 -7.66125584954902e-05 -6.29637643687257e-05 -6.48304223331881e-05 5.05054482142487e-05 5.13591709340799e-05 -2.32123523029705e-05 -3.80035296421622e-05 6.73937558065583e-05 3.48311721534652e-05 -1.56690891123102e-05 3.33145379854604e-05 6.13879468214191e-05 -5.84972954074533e-05 6.64511827248154e-05 -2.75108398440862e-05 3.99703367558247e-05 -7.18432378102743e-05 -8.09402957755541e-05 2.0746224278785e-05 -6.4692106608077e-05 5.56273645652141e-06 -2.81013879898438e-05 9.57775394408 [...]
+id4561 6.89926303501767e-05 -0.000148928329386556 -1.77403873865224e-05 8.89068198069898e-05 6.88839358718279e-05 1.35326456673825e-05 7.9892943540701e-05 -8.57514241842496e-06 2.01824473128987e-05 2.34486677478207e-05 0.000110155249902044 1.73849863874814e-05 6.44840422600919e-05 7.78313186592005e-05 4.4829026332731e-05 1.93225912757691e-05 -6.53327987101754e-05 -5.31291512147086e-05 -9.14365434048703e-06 3.12454954497703e-05 2.18174628282158e-05 6.41050201526861e-05 -9.2936216513243e-0 [...]
+id4606 -4.12968616398078e-05 4.05219453748279e-05 -5.31839912990123e-06 2.87123818629483e-05 3.18299921299001e-05 -1.42883016683014e-05 -9.2716445223724e-06 2.99128550847779e-06 -6.59184226048056e-05 2.12882625916732e-05 -3.65852519437500e-05 4.28735290583937e-05 -0.000114789452821891 5.69416916148477e-05 -6.81718247498531e-05 6.88407512342668e-05 1.00665842698683e-05 4.33843216765633e-05 2.78245407594978e-05 -6.20069862634542e-05 -4.71029532459606e-05 -4.11826620386941e-05 7.13331196758 [...]
+id4629 5.52848830882816e-05 -4.23575223767303e-05 1.46780795425692e-05 3.33441869581468e-05 5.74207395029906e-05 -3.55892340061505e-05 -1.42776085797756e-05 9.6744009525168e-05 -3.79153805466647e-05 2.72003107933029e-05 7.1693978128287e-06 4.52343961304505e-05 4.23116217037692e-05 2.02062573033576e-05 1.68576491398379e-05 -9.94109653608014e-05 -2.49293257216609e-06 -7.47224605031715e-06 8.02599341978207e-05 5.1419802323912e-05 5.39399774010576e-05 3.71067763753445e-05 -1.07621967554284e- [...]
+id4645 3.40277992096666e-05 -0.000140465860231393 5.47796859327652e-05 0.000128198200756436 4.07367078234866e-05 -6.67324006405739e-05 8.13751579537547e-05 5.01934860503489e-05 6.40409195842899e-05 6.74769882688921e-06 -6.01819409285357e-05 3.74539599976318e-05 -1.16155949185806e-05 8.54456831538374e-05 -2.25857297870028e-07 3.59052851753839e-06 3.7026312428785e-06 -8.4324709151713e-05 7.78875115903438e-05 1.22606639086234e-05 -5.80010134868119e-06 0.000102959405316252 -2.02950720126911e [...]
+id4652 4.58822340719585e-06 -6.59109810874417e-05 -1.48534493247163e-05 4.12135908103718e-05 1.29422937036363e-05 -2.18203211244658e-05 3.22936041696462e-05 1.35615347074468e-08 4.10051285655921e-05 -8.61238770017772e-05 -0.000207020214304085 3.59130639305423e-05 2.69547918647941e-05 -1.99277247632085e-05 3.81257698372314e-05 -3.34690974420645e-06 6.57895509382004e-05 8.3242048018832e-05 0.000107185036447353 -4.60286821643758e-05 2.81197967073238e-05 7.99900834087692e-06 -1.3278126360487 [...]
+id4673 5.80387466581945e-05 -1.53357229384834e-05 -4.19349303537487e-05 1.14888417874640e-05 -2.39921775600358e-05 -1.50749550881753e-05 -2.01322045654455e-05 -8.21853468693531e-05 2.21042636520704e-05 -1.26301208120379e-05 -0.000157413631720921 1.30229149009556e-05 2.98360065297943e-05 -8.25346316958967e-05 2.18453750958116e-05 1.31523999446293e-05 3.49495649939961e-05 6.28661611717157e-05 -3.83080617656759e-05 -0.000176564550618364 9.95776133620286e-05 2.55255281295497e-05 1.8795263524 [...]
+id4675 6.35667969643635e-05 -3.12250704574789e-05 0.000104493557040453 9.7654426369e-05 2.51675497613387e-05 -0.000124090103977009 -1.14239510029199e-05 2.38461086198790e-05 5.55017620279282e-05 -3.68576731576829e-05 -0.000380487025524201 5.55384478068988e-06 3.03017864790673e-05 6.39955430229994e-05 4.62120555832142e-05 -3.09849059392678e-05 1.58127207552308e-06 -0.000279594563965981 4.02929583296349e-05 4.74919960626543e-05 1.52883596983083e-05 2.98040753404930e-05 2.79600204606732e-05 [...]
+id4689 7.8620038491373e-05 -2.07528235695642e-05 -3.66877446557834e-05 -1.00200687501098e-05 -5.92993215703759e-06 4.9876605885426e-05 0.000107665090965730 -8.31102776250872e-05 -0.000158289869485224 -9.7719841268994e-06 6.3327767948491e-06 4.13243284772057e-05 -2.06447662276449e-06 -4.54689375323186e-05 -7.36280788162701e-05 -4.36452769786460e-05 9.1732567097263e-05 -9.83492436326019e-05 -1.80785114251865e-05 3.26270869200576e-05 1.68305614641613e-05 -2.24419855996551e-05 3.596519766413 [...]
+id4705 -0.000279661637311165 4.95150176576023e-05 -6.58745251538566e-05 1.2974300765784e-05 8.49276706427265e-05 -3.31136554045743e-05 -2.55416399458722e-05 7.31217269602964e-05 3.53697235684175e-05 -1.20231329634026e-05 4.29894181492291e-05 -1.77417692322478e-05 -3.10347212686410e-05 9.03259453025011e-05 8.74754649116468e-05 4.52189411608538e-07 -4.46210494495117e-05 7.4627791397173e-05 6.34562557406193e-05 -5.65886910561368e-05 8.91850159508e-07 3.57678266075586e-05 4.06643245715529e-0 [...]
+id4710 1.33490830678987e-05 9.40982584347496e-05 -3.19641946283161e-05 1.68380382381686e-05 7.85517472700012e-06 2.49898848885724e-05 4.43069719046560e-05 -0.000230608754455039 6.22494298404414e-06 7.05168538488109e-05 -4.54114415995910e-05 1.10164372283677e-06 -0.000112378629696377 -3.13625899146299e-05 -1.40905843642721e-05 -2.70568133168527e-05 -1.26545000011157e-05 -1.15351442011506e-05 0.000124725940399089 -6.36738962090836e-05 -5.82994941383580e-05 -7.55482570951047e-05 7.520701519 [...]
+id4717 7.58357541249021e-05 9.27222009246915e-05 -3.43496901889863e-05 5.64965864676325e-05 5.17274678865491e-06 -5.14666440899289e-05 -5.78007468119865e-05 3.19297615019233e-05 8.13728602672298e-05 7.55158635977991e-05 -9.18717754638384e-06 8.45919846229257e-05 4.47863309063310e-05 -1.28240535999179e-05 -4.0174595908167e-05 -7.70753381059184e-05 -6.80590421613297e-05 -4.64067278541859e-06 -1.48870520763424e-07 1.36923340860274e-05 3.92448562473339e-05 -0.000109190799467711 9.98480168189 [...]
+id4734 3.27180747216101e-05 -5.61143024698090e-05 5.41336043716081e-07 -6.22061166508973e-05 -3.38132263487264e-05 9.89137299825007e-05 2.48349782332004e-05 3.92593762336954e-05 6.18045721913159e-05 4.61166479415123e-05 -6.27320201319844e-06 6.15874153619207e-06 7.37387972916128e-05 5.4617846618765e-05 -4.37540982494848e-06 -1.57707645968400e-05 -1.35301886746420e-08 2.26987054222947e-05 1.13180825064194e-05 5.53835478265232e-05 7.80332558214738e-06 -9.02429788542134e-05 6.33361832788377 [...]
+id4751 5.13961261836253e-05 2.73552605485597e-05 -5.65186908523622e-05 4.05554730861235e-05 8.88647600127937e-06 -0.00011696413891321 2.03464554390920e-05 -6.71204840858985e-05 -3.16777797479264e-05 0.000102230679296221 8.47385720599855e-05 -1.00184551110853e-05 -0.000103246140725973 -7.82289151646888e-05 8.12555813287983e-05 3.79103192961125e-07 -5.3288635577112e-05 -3.1996438127896e-05 -1.85496775880113e-05 -3.18132112621126e-05 4.33283865521443e-06 6.59189513473361e-05 2.8630543275646 [...]
+id4781 8.17824458907167e-05 -6.99739710567425e-06 -3.0866063500857e-05 0.000115752685743237 1.46157781983992e-05 -8.06565572518107e-05 4.64154859341875e-05 -6.91218160773082e-06 7.02790268470369e-05 8.61760426080937e-05 7.23840129245234e-05 5.52091544325627e-05 -4.19450232297784e-06 6.22976462964445e-05 -3.02721208097011e-05 -2.54340750630490e-05 -1.01435416113349e-05 -9.20966765731825e-06 2.72733341764113e-05 -6.55890955685404e-05 2.60606603238751e-06 -3.98318549179939e-05 3.84567967687 [...]
+id4798 1.00819387846910e-05 5.11825828896659e-05 2.28823593750909e-05 4.51105606753074e-05 -5.37836009882654e-05 -4.63013510516416e-06 -4.16754628060971e-07 -1.08086795861641e-05 4.67188127487855e-06 6.5084320246899e-05 3.82786988480785e-05 0.000139320438684566 -1.52870297979331e-05 -3.41674103284324e-05 -5.91082695009213e-05 -7.32756817245343e-05 -8.48920689971458e-05 1.93035963895038e-05 4.72306135086374e-05 -4.20121689496116e-05 2.42065730509693e-05 -0.0004501399004603 -6.010778851338 [...]
+id4806 -8.1413374745071e-05 2.35093860756241e-05 -7.62911597817634e-05 4.06386549363925e-05 -1.26661400071013e-05 -5.94325339643037e-05 3.53101194105431e-05 -3.21328408972835e-05 3.03006022610084e-05 3.78092569707262e-05 1.08300884297718e-05 1.43545965085321e-05 -6.34937709341851e-05 1.59870463789566e-05 -0.000135653486617813 -9.72279654791403e-05 -6.91617090633626e-06 6.08961242228911e-06 -6.32859477976526e-06 -8.24100907333738e-05 -1.85150773902858e-05 6.56941258349885e-05 9.8557718357 [...]
+id4807 5.07424360099777e-05 4.68669207930774e-05 0.000103220805038583 4.42395051655919e-05 2.85849973912329e-05 2.11986276745717e-05 4.58511876501211e-05 2.93614728901922e-05 -5.91242609888393e-05 0.000102618320934001 9.8830009004463e-06 -7.30480744286359e-05 1.54488951874984e-05 -5.67434187507267e-06 -2.06796106225858e-06 5.4340835486769e-05 -4.86944776712926e-05 -9.75807739282917e-05 -8.27851136716158e-05 3.15020907780974e-05 1.94768342237541e-05 -5.20876612380494e-05 -6.80211127377654 [...]
+id4812 -0.000174173866160108 4.58888269879593e-05 9.35929639531272e-05 1.48209311171408e-05 6.63231613706445e-06 -4.31752063961385e-05 3.48082757692093e-05 -8.18650742531975e-05 -3.34886022268001e-05 -7.2950501772876e-05 6.97227273010307e-05 6.57338108732135e-05 4.8835649083785e-05 4.73588082428945e-05 -2.87217564053802e-05 -0.000191190097359804 4.74533879428877e-05 0.000113623033415307 3.16024961335333e-05 -1.24135245058158e-05 -6.62393722037397e-05 -9.71617214841475e-06 3.4562540314022 [...]
+id4834 -4.91574997451717e-05 -2.88000838694545e-05 3.22483437823525e-05 5.72617629762282e-05 -0.000201914965860906 7.3125601765069e-05 5.29741265421169e-06 5.53371521940808e-05 -0.00012126776975117 -6.46125103423814e-05 0.000114195982910710 -2.70020366645530e-05 4.02167061438913e-05 5.60092243704733e-05 -5.38920839067462e-06 2.84072897063908e-06 -7.35578239901598e-05 2.61064900731518e-06 0.000100351215065948 3.96109163023104e-05 -9.18916131490788e-05 3.54194135451937e-05 -0.0001811826617 [...]
+id4842 2.37327886969498e-05 5.69648513362486e-06 6.1822148130946e-05 -6.53552012093786e-05 3.18200357329658e-05 6.00506714577747e-05 -3.44552089802415e-05 -2.29995491228538e-06 8.28995283298027e-06 8.7224711913226e-05 6.54461722277984e-05 6.03856881091347e-05 5.52232521834447e-05 -9.93068039609154e-05 -0.000147932469798770 -4.77600639802293e-06 1.49927277152306e-05 3.05543429795426e-05 9.38263789333968e-05 5.18530644757434e-05 2.09914907663504e-05 -2.43038502069229e-06 1.06148147569003e- [...]
+id4883 -1.65100605176833e-05 1.00041240799202e-05 6.25786887250635e-05 -5.40579240034146e-06 4.16386499959588e-05 4.98444093968403e-05 -7.27861309316885e-05 -3.64293308508728e-05 6.99118056991682e-05 4.70344761027461e-06 4.13387649671015e-05 -3.27808680910584e-05 9.70268327975358e-05 -2.87504320837607e-05 6.37795727868874e-06 -2.11658859699477e-05 -0.000123369773739706 9.05760669595133e-05 -0.000110148912432285 -1.66172386022618e-05 -1.12363044934734e-05 0.000154857837522925 4.3283401915 [...]
+id4904 1.69805118725887e-05 -0.000154690153941386 -4.33924526054268e-05 -3.85652490933587e-06 -2.99623931427174e-05 6.22759628809619e-05 1.07679715606898e-05 8.76085678096485e-05 6.55992117168641e-05 -2.63350453277197e-06 -0.000159789329761818 8.4238473544409e-06 4.00871168392079e-05 3.95902626340924e-06 4.00886796953927e-05 -9.20149931425021e-05 -6.01011213152446e-06 -1.01098582881162e-05 9.04865275400503e-05 -9.96911014822925e-05 6.38932546573139e-05 -3.95055103800982e-05 -0.0001070332 [...]
+id4934 1.39840321761171e-05 -8.77253959278923e-05 -6.43857424562296e-05 1.38870364321543e-05 -6.70819390521561e-05 2.08453892703527e-05 -6.75392079555742e-05 -1.76926131408465e-06 1.71822708356452e-05 -2.67798334737655e-05 -2.49832750187427e-05 -1.81026033516078e-05 3.86050720450019e-05 2.41250317884633e-05 -4.65677090824752e-05 0.000113364104807845 5.50052113137822e-05 1.02585422738775e-05 8.4101218930899e-05 3.42784630244738e-05 1.93991530153526e-05 7.21281929864254e-05 3.0989209325929 [...]
+id4959 1.63633041865122e-06 7.78732379111725e-05 -9.90991476274021e-05 -4.31400792100605e-05 1.89694030157786e-05 6.04434903718717e-05 4.91490847949322e-05 7.91737779990117e-06 8.01681548135939e-05 8.69583241353266e-05 7.5754556479037e-05 7.03814720993694e-05 -2.98672274993995e-05 3.97362116983773e-05 0.000100637953627109 4.85877376928525e-05 -0.000316952814063468 8.22718074536974e-05 2.32042593263690e-05 0.000157107633471704 0.000121261116966116 -3.57303540431301e-05 4.20559221227275e-0 [...]
+id4961 4.93725088774819e-05 2.80734238834936e-05 8.44033388782352e-05 -0.000312161842354539 -8.98312579344083e-05 -6.52835624542716e-05 5.83337797298865e-07 4.7825217910691e-05 -4.4283070259488e-05 2.41723105071901e-05 5.43099172595969e-05 2.85326149746246e-05 -2.57543536676834e-05 -0.000288602314865994 2.66407762604795e-05 6.86046942748808e-05 4.23270517922204e-05 7.88185498763024e-05 2.73114483259503e-06 5.11082883892087e-05 0.000113212435658671 -6.02544450765886e-08 -6.80440622932442e [...]
+id5014 8.15610786394985e-05 -5.11692922920307e-05 -7.0384495337157e-05 2.29534954898418e-05 -3.01086265254185e-05 3.29096616981296e-05 2.22650720235424e-06 4.67482251032056e-05 -3.77016329479539e-05 -3.79894330202702e-05 5.69334237028292e-06 -7.85891381225538e-05 -0.000121267681866587 -6.79849838526067e-06 1.50303973679102e-05 6.48663128075614e-05 -2.93188402374131e-05 6.67195086141684e-05 0.000130743345154099 6.69855722598449e-07 -7.64295566040699e-05 5.78608434555049e-05 5.326619027507 [...]
+id5055 4.33535930132796e-05 -6.01522992415936e-05 -3.8704966604821e-05 1.08096117801969e-05 -4.95557767266532e-05 6.64088629446193e-06 -1.55915492549558e-05 8.41461189199739e-05 -5.69774709171604e-05 2.31928483722698e-06 -4.86200532311971e-06 1.71069301157032e-05 1.61139918421466e-05 -3.56759215275752e-05 2.35526562338315e-05 -2.21136701500031e-05 -4.35572124701927e-05 -7.73067938604314e-05 4.62963186545925e-05 6.62715798140768e-05 4.56964264259403e-05 5.98195920099112e-05 -8.87289574583 [...]
+id5078 5.77556935971378e-05 3.07796123771585e-05 4.81426167231843e-05 -6.7962716783729e-05 -8.4291312788887e-05 7.54895537890957e-05 6.90181241768026e-05 2.54897915684121e-05 1.10835289163936e-05 -5.22937782735075e-05 7.1819214222347e-05 -4.33391521349087e-05 3.63658631883138e-05 7.89073632074876e-05 -2.15263340122826e-05 7.31048004841753e-06 6.39961383009594e-05 3.81514976744816e-05 -5.54858560766971e-06 2.5962237254696e-05 -5.30213830686638e-06 2.40892415495451e-05 4.84727936945745e-06 [...]
+id5150 6.25921989370444e-05 1.98565541791938e-05 -2.70422570667135e-06 4.19735195913087e-05 6.23025608309382e-05 -0.000173439397872606 6.04711797242754e-05 -0.000161791023929935 -0.000311384630566292 -6.70477961498284e-05 -5.76041681794876e-06 -3.31532631838394e-05 6.44367435985829e-05 4.52718898624756e-06 9.2161398914012e-05 4.19659500553825e-05 3.49140145893389e-05 -0.000193421969118454 1.33547721096669e-05 -2.05488992909058e-05 7.90299230394909e-05 -1.46371179705697e-05 4.988710374476 [...]
+id5263 -7.16135546165721e-05 -4.82384123552790e-05 3.26966653385166e-05 -4.50102039693532e-07 1.90141267316666e-05 -1.43569509419121e-05 4.02713698420724e-05 -4.54245015222449e-05 7.28521440042352e-05 -5.5266569236392e-05 5.42130887033939e-05 6.22343345451657e-05 -1.16510785363551e-05 3.63579371494558e-05 1.26504079474627e-05 7.92993097590906e-05 -4.74124399960002e-05 0.000122350113900882 -2.76174680955894e-05 -7.60009744325205e-05 3.23960223629709e-05 8.54666238738936e-05 8.985596296243 [...]
+id5274 4.77024823711739e-05 1.96332504762515e-05 6.88992241985046e-05 -8.80491278847296e-06 4.77602979946755e-05 2.24287698955104e-05 -7.24116356172217e-05 0.000124737896645301 3.8239936910141e-05 3.25207033961453e-05 7.12700834445461e-05 4.28933315784055e-05 -0.000108409410576959 6.63169161804481e-05 3.72281020342321e-05 6.03585942121185e-05 -6.66400103817645e-05 1.56874147995575e-05 3.54957543409949e-05 0.000113614262464571 4.3300782572373e-05 -1.28795598714584e-07 5.40882138148015e-06 [...]
+id5275 5.5620188901047e-05 6.7567499956218e-05 -1.13292810843309e-05 -1.58570613783746e-05 -7.81882269222385e-05 4.47189032816383e-05 6.89942134187432e-05 4.38698215531746e-05 6.1342084080621e-05 3.37173737743406e-05 -9.3965299925672e-06 6.02800513556225e-05 6.31501968271757e-05 -5.8564986672721e-05 -2.17498167730036e-05 4.89696504926652e-06 3.18102227954044e-05 5.57746899118401e-06 -2.18958002077046e-05 -0.000134710327232182 6.56780086705829e-05 4.6249675445878e-05 -6.74073670757681e-05 [...]
+id5324 2.09063602596918e-05 3.09393101374411e-05 6.34816227874179e-05 4.25281805972183e-05 7.75880245987856e-06 1.11963822257631e-06 2.91334521481574e-05 -4.33001962352956e-07 2.44929712349793e-05 0.000102439747069717 2.64985131335172e-05 1.65410834967616e-05 5.18033708813068e-05 -1.64156087847709e-05 6.84550193514857e-05 -0.000136442866073906 7.4901479247131e-05 1.61387203312007e-05 2.01511031041910e-05 5.56208124537059e-05 -6.53759653565136e-05 -1.9913799471582e-05 5.36852095372522e-05 [...]
+id5385 9.26059372840626e-05 -3.19055757785459e-05 9.27788536020545e-05 2.43848887226066e-05 -8.4390895320826e-05 -2.81186194241748e-05 5.52752494059741e-05 7.90730394101227e-05 -2.78064665479795e-05 4.82861693630425e-05 -7.07736043517081e-05 5.46839919024736e-06 6.4247081046865e-05 -3.07742999800185e-05 -9.88223583781402e-06 -1.33115247209041e-05 9.75177313330556e-05 -9.34565724995287e-05 1.70836088169143e-05 -5.14194935072906e-05 -7.20091256736796e-05 -8.63351392869463e-05 6.94524155363 [...]
+id5398 1.25226240664145e-05 9.33848587090189e-05 0.000124244729444202 -3.49323865435701e-05 3.19785214557185e-05 -5.46683486480313e-05 -0.000219929858902351 -3.21938709161434e-05 2.92617335044405e-05 0.000113895979895084 -5.73976211416665e-06 9.73466985836486e-05 -1.32957451303594e-05 1.21085527316062e-05 1.59837145220433e-05 2.95284581057649e-07 2.56060726970944e-05 1.41221844012624e-05 1.67287802653429e-05 7.72263123805674e-06 -5.46657755335851e-05 -0.000356795804755601 -9.496925024736 [...]
+id5407 7.0939148412016e-05 4.23104592267077e-05 -4.07332745119563e-06 -0.000162697474185624 3.90731473163254e-05 -3.26398883346243e-05 2.45189367962001e-05 -3.49590389044493e-05 6.94326680430363e-05 1.10543005471206e-06 0.000121207600295228 -4.39384062717609e-05 7.02473326561582e-05 -5.49617863691962e-05 5.64102340873417e-05 -2.94910953296002e-05 -1.55921061302508e-05 4.47836936224881e-05 -2.80568285090446e-05 -1.3111802584415e-05 3.05968684529652e-05 0.000125834252545064 5.1743391868274 [...]
+id5444 7.62860617400928e-05 6.31651618069468e-05 2.27355335223129e-05 -3.44426706640043e-05 3.50029991038533e-05 8.48005405015205e-05 8.66601358082374e-06 4.45211045390377e-05 -2.86695446924722e-05 3.01684495870146e-05 -3.00547401374291e-05 3.12483854835843e-05 3.52527664361457e-05 -7.2618165288369e-05 2.44516649159465e-05 -2.52009590663732e-05 -8.4352482607753e-05 5.58898740621837e-05 8.13305246388336e-05 -2.24485379804424e-05 4.63339857790127e-05 2.89017955556381e-05 -0.000208562115646 [...]
+id5454 -4.36647101278356e-05 -5.3656109648778e-05 1.85952058221764e-05 1.79968607288040e-05 -4.60140899084648e-05 0.000100847162347238 -0.000108224962562297 -3.38953258758347e-05 -7.29868018472455e-06 -4.98240121056318e-05 1.24620455308818e-05 1.07390343940142e-05 -1.84329345097403e-06 5.31409027386232e-05 -2.72502597632121e-05 -3.85092840859388e-05 1.01821200913258e-05 4.51792683535506e-05 -6.71723448631243e-06 -4.42427807124852e-05 3.38576931026013e-05 -2.77389116758346e-05 5.456498627 [...]
+id5495 6.15821100121356e-06 4.18080243108528e-05 -6.38242491881147e-06 3.04225784953304e-07 4.53601131160906e-05 -5.19469443114538e-06 7.0587841296862e-05 -4.09298591090469e-05 -3.28573912674471e-05 -2.52264759311999e-05 5.03383507251192e-05 -0.000357582454598050 0.000117604425178728 1.70095292032569e-05 6.54787340445244e-05 -7.92917540082784e-05 -4.00856377485859e-05 2.29968469813011e-05 8.37479920269955e-05 7.71331913238346e-05 8.49904927747605e-05 0.000124281589980327 -7.1397512544757 [...]
+id5496 8.29167469947984e-05 -2.70951702683519e-05 2.69350587484767e-05 7.4649501712871e-05 -0.000151715063691707 4.26832878110622e-05 -1.10133067002833e-06 -6.04341812583766e-06 7.575722749869e-06 7.33633413731604e-05 -3.01858222636014e-05 -0.000212682468316387 -7.63799695043831e-05 -3.18364333161393e-05 -3.92464011670167e-06 -9.90664991248265e-05 4.12442491884612e-05 -9.16864535725448e-05 6.53177529519241e-05 9.24788818551728e-05 6.02917290244091e-06 -9.63979892378301e-05 -0.00017840710 [...]
+id5517 -0.000109147574657006 -4.5823979528812e-07 -3.81152929505719e-05 4.8747413948005e-05 6.59990800629233e-07 2.65717171646356e-05 3.84834426122548e-05 5.01437327962484e-05 3.1272056624575e-05 -0.000305282113817886 -9.01075642373105e-05 8.41003067162425e-05 -2.21985982271067e-05 8.48622335823399e-05 -7.78676172474559e-06 -1.00702362636483e-05 5.23861338148836e-05 -0.000133583790657975 -0.000168364127191055 1.69487334956686e-05 -1.28514729666605e-05 -0.00029327603489397 6.1041602308833 [...]
+id5522 -0.000114226124995312 -3.47192969147694e-05 -4.9555928442955e-05 7.19827550692498e-05 2.6364752956877e-05 5.51051193887797e-05 -4.10976509550423e-05 1.28290816770930e-05 6.34930685395339e-05 5.74720817509592e-05 0.000106204364752161 -1.49671331922971e-05 -0.000221959740487845 -3.39449888142999e-05 1.64658287626537e-05 -1.52528816155198e-06 6.42839108357588e-05 4.00501451900433e-05 0.000104549925515410 -2.74504087268666e-05 3.78221391476585e-05 4.87409770583512e-05 5.74865128247354 [...]
+id5598 9.8698413738596e-05 0.000110058305984349 3.08598461422015e-05 0.000112412209323485 3.96581052996274e-05 3.72213575315217e-05 8.08193241064602e-05 -4.60457740633241e-05 -1.47272983745675e-06 8.33091589445001e-06 -0.000125713678980328 2.88325547481026e-05 -6.10170032323885e-05 3.13576402190867e-06 5.64416484843181e-05 -2.24559792591566e-05 -1.08864390901419e-05 1.88166968228325e-05 -0.000119405040090698 5.28193983427786e-05 -4.88321566225485e-06 7.28311481997017e-05 -0.0001805448729 [...]
+id5627 3.77903231949559e-05 4.43375089621879e-05 1.77336572803970e-05 5.34708461741792e-05 8.06986951764627e-05 7.36337484079121e-06 -5.91031823441018e-05 7.01310979774667e-06 9.64344870880774e-06 4.87305404113603e-05 8.87158437416512e-05 7.57512519302734e-05 6.06664757685271e-05 4.76533804524097e-06 1.32019990808963e-05 -1.18422273601013e-06 -1.28696200190632e-05 -2.56887673387737e-05 1.56241582662736e-05 7.67257073648295e-05 2.22513244915401e-05 -2.03882910060412e-05 -3.32316595390164e [...]
+id5672 -5.72363314815091e-05 9.63622208340184e-06 0.000122502359548033 5.18633837881083e-06 -1.47836303425855e-05 6.11304222765285e-05 2.29872534352052e-05 5.3354651527279e-05 3.03857937188241e-05 2.56253506734558e-05 -3.71946060689235e-05 4.1220267940427e-05 -2.6336905984845e-05 -0.000163132485763466 6.74430422245038e-05 5.10509568663826e-05 5.41746420816211e-05 2.0438266170768e-05 -7.9366143576429e-06 3.2879554771317e-05 6.19419377574844e-05 -3.03801998414247e-05 -2.5021897609827e-05 2 [...]
+id5736 4.01862394678087e-05 -2.21059794267448e-05 6.33616490860412e-05 -0.000189340366385812 3.56683264613273e-05 -0.000292781944779982 -3.20324104907475e-05 -4.95090835835919e-05 6.18848637630514e-05 -6.38651101003803e-05 -3.19347081690951e-05 0.000111549563447486 9.66167319756925e-05 -6.53858246402739e-05 -5.85884050889861e-05 1.10486904781467e-05 1.53589964777478e-05 2.88689892466617e-05 3.39820278162915e-05 1.28972365243104e-05 -1.38820512288604e-05 -1.16055051459734e-06 -7.838517723 [...]
+id5739 -3.66114946901091e-05 -4.53522874990136e-05 -4.23697523060040e-06 8.51566379329333e-05 3.57165033832478e-05 -0.000154404725285487 7.46955488325478e-05 -3.38887868352457e-05 4.21222142646744e-05 3.24129464343928e-06 -0.000122861615280443 3.83366897264158e-05 -3.55725579689722e-05 -7.4767683004488e-05 1.81778595103268e-05 -0.000152075685807232 5.24486193584643e-06 4.62675449555037e-05 2.87413281302564e-05 -5.6366301091904e-05 0.000164787365219844 -3.96620845167755e-05 1.254372577632 [...]
+id5764 1.10471921566712e-05 -4.76606797480848e-05 5.62580525356401e-05 -2.78300507993166e-06 2.94952659151041e-05 -5.46971574376727e-05 4.89553130374605e-05 4.96424958245045e-05 6.1186604969444e-05 -1.68987446043694e-05 -4.00303834390479e-05 3.53474357907994e-05 2.93998910241635e-05 2.69465275343598e-05 4.60968408743562e-05 2.58299632211946e-05 -3.03000037981283e-05 7.48455582669855e-05 4.29900639310191e-05 1.65521415606786e-05 -0.000100008456242648 6.596706895031e-06 9.35871866183077e-0 [...]
+id5770 3.33504385860571e-05 -4.24787387764027e-05 5.57824090244534e-05 -3.88776004902597e-06 4.30163299166154e-05 7.58388519651837e-05 2.10900307511461e-05 1.87076729164757e-05 1.71702934351381e-05 -0.000193381178567220 7.96814594105056e-05 -3.10269456072497e-05 0.000116894453418107 -3.28507369699546e-05 4.44870130233179e-05 -0.000100362958363352 -6.21976352769819e-05 -7.87983441280546e-05 6.59222679608204e-05 3.10944408124774e-05 -1.72274704480551e-06 -9.63814903603782e-06 -0.0001618460 [...]
+id5844 -0.000181063677405290 1.23436373136346e-06 8.62069656491497e-05 -2.7768594567255e-05 9.4455276052949e-05 4.67004618484105e-05 8.92340198157493e-06 5.17683905966233e-05 3.59787528061942e-05 -9.12851761117183e-05 2.40897418758919e-05 -5.30729341556757e-05 -1.66589876778023e-05 -7.78940859802542e-05 2.21223082459388e-05 -6.34099760656254e-05 -4.83306780813828e-05 3.05074290664191e-05 6.08966485306793e-05 3.32118950526143e-05 -7.5802629891638e-05 4.90433458448662e-05 -8.88615595520713 [...]
+id5853 2.9488444502147e-05 4.99894193854581e-05 4.54285517814567e-05 -4.79525008177222e-05 4.50400198266475e-05 1.82878167748189e-05 -3.07425157073401e-05 6.33712093410532e-05 -8.67054814000451e-05 2.24254299594431e-06 9.7990551048685e-05 5.49448808667708e-05 -4.29786151274471e-05 -5.93700576650472e-06 1.16737634227296e-05 -1.37062053572110e-05 9.7652736224609e-06 2.35487690951328e-06 -1.26059319135257e-05 7.78280917540546e-05 8.14401594999575e-05 2.10729484565904e-05 6.77440692352738e-0 [...]
+id5890 -7.82068489140378e-05 -4.3323293151252e-05 -2.18480692134601e-05 3.2191903294388e-05 -5.02153110048292e-05 -1.79126981979242e-05 -9.79731961590189e-05 3.18207128162271e-05 -2.44653043472404e-05 -4.90897535563023e-05 -1.00421040954720e-05 3.30811498558341e-05 1.09184666265074e-05 1.91789631581848e-05 -4.13213739671177e-05 -1.61915990619317e-06 -2.13057742396776e-05 -5.43264596328824e-05 6.56641629684274e-05 4.98346099089597e-06 -5.10778945125918e-05 -4.39559788789161e-05 0.00015237 [...]
+id5912 -4.78890738003543e-06 4.10121001141296e-05 -4.16987548677115e-05 -9.00466901959723e-05 -2.22762859213219e-05 6.03709772831893e-05 2.20806237068333e-05 2.33877289069933e-05 4.3849613807557e-05 -2.09528113707595e-05 1.56895894712040e-05 3.61086343769461e-05 -6.87167983474757e-05 -5.48109659121511e-05 3.54103687960462e-05 -3.64836816504159e-05 -1.52176631559740e-05 -1.43607991249955e-05 4.3690150348591e-05 5.3559103698824e-05 9.33617387505602e-05 3.01431801227052e-05 7.21029064768023 [...]
+id5926 9.61542943582814e-05 8.40706775422317e-05 -0.000114655071224567 1.16453687545444e-05 -5.00381931221952e-07 9.18775024072687e-05 1.11791939943559e-05 2.08329958861146e-05 1.34745084732542e-05 6.6179779420746e-05 -7.94809875496744e-05 -1.52800617102970e-05 0.000126263995459707 8.38762256036112e-05 1.38199717829580e-05 -0.000117857156469948 -4.34085886525104e-05 -9.85051497753712e-05 5.07967759956414e-07 1.40456501910497e-05 -5.4614898612553e-05 1.16676870355767e-05 -1.47950341212099 [...]
+id5966 1.04200427363003e-05 -6.06607563740418e-05 -1.70432096610726e-05 7.4021506283054e-05 -3.34962223087668e-05 -4.25804027764198e-05 8.1083286838308e-05 -2.81876669780122e-05 7.85434226726273e-05 5.19843368235043e-06 5.45725363184218e-05 1.51261423432881e-05 5.32638472681784e-05 1.93202530953987e-05 -4.3327988319689e-06 7.66436880271138e-05 -8.69627424037783e-06 6.10690321271379e-05 6.07493566351434e-06 -1.17854676014554e-05 5.00112879268044e-05 -0.000114625382100715 -1.35345967276528 [...]
+id5969 9.57744416913818e-05 -8.5103541876746e-05 1.61215930083995e-07 6.45480276390664e-05 -8.84084877255194e-05 1.87653016878931e-05 0.000101414950823801 6.08099618597408e-05 1.45460443327376e-05 3.33662355290106e-05 4.71192814397445e-05 -2.08792787886829e-05 2.35138008150442e-05 3.7294208632972e-05 -9.6064994089211e-05 -4.31886058528353e-05 2.89070545203997e-05 -3.88697606339573e-05 -5.28684858542518e-05 -0.000123037224103688 -6.25523867415883e-05 -3.31868957377596e-05 -0.0001700697494 [...]
+id5989 0.000100984585027222 1.38620733090882e-05 6.09693564630065e-06 -9.85079201559188e-05 -8.5610911358313e-05 -1.67019346946783e-05 1.22458812863726e-05 -4.75820384068185e-05 6.54721551631378e-05 3.74110561850615e-05 5.05314549065709e-06 -2.39470217603052e-05 0.000134245607433292 6.04243658642806e-05 -7.54384081232976e-06 1.40518947887178e-05 -0.000138949602764512 3.10860539255611e-05 -0.000212086632512334 7.09781941144352e-05 -4.5281231187187e-06 3.9646410688642e-05 -1.90521824559375 [...]
+id5991 2.22163030904596e-05 -0.000171618765301293 2.45985600182852e-05 8.7507791796341e-05 -6.08202439877167e-05 8.39426128698612e-05 1.15328891092938e-05 -3.74010825702348e-06 -7.13033978685403e-05 -9.04210258153778e-05 4.12507704416812e-05 -1.73492026697023e-06 4.62184268178241e-05 6.03173506171833e-05 -0.000225125615363498 1.2008673606361e-05 -9.14749429133791e-06 9.35761254727255e-05 2.61308659199242e-05 -0.000308473693461675 0.000113773964130424 0.000105134170045374 -6.7936359938568 [...]
+id6002 3.48428732176074e-05 -6.00445612523353e-05 2.76393444988955e-06 -5.40692285542802e-06 6.2706336417755e-05 -2.87480569900335e-05 3.35136895365016e-05 1.08665025522303e-05 1.80875663629966e-05 -3.97339227871912e-05 -4.9871021319533e-05 0.00010964457616564 -1.60957712257277e-05 1.62964063655078e-05 2.10077264794151e-05 5.60406706993146e-05 4.64193928197955e-05 3.89883972056184e-05 2.47090288307996e-05 -3.43378968830016e-05 8.15285538145288e-05 -9.05957899570953e-05 5.19095510631097e- [...]
+id6009 -9.87327514992468e-05 -0.000111265088723915 -0.000214688940605798 2.44720404434062e-05 -8.85202506022246e-05 3.35001504100312e-05 5.41854012271652e-05 4.31887171481433e-05 -5.89639247765652e-05 -2.78410538105303e-05 5.82893654047353e-05 -1.62353012478001e-05 -0.000268485598771884 3.04998117579588e-05 -2.73572393563225e-05 3.17365812626679e-06 3.57862733684829e-05 1.5789178976071e-05 2.50369930000281e-05 7.11475570598296e-05 2.77710911114405e-05 3.48476447011926e-05 5.0616246094216 [...]
+id6011 -1.16083097878068e-06 -4.36490789116347e-05 3.35939773628749e-05 -9.4550587895e-05 -2.58318264324481e-05 -2.22192985862620e-05 9.75389880300422e-06 -5.32964808189741e-05 -2.29943831846617e-05 1.16451994599977e-05 -1.06603835063163e-05 -2.01706562378207e-05 4.87139187334574e-05 1.11058502521830e-05 -2.88663568269829e-05 0.000100612628290489 2.42655174609881e-06 5.81250501195585e-05 5.13562740965139e-05 -3.28567044429647e-05 -4.60433571420127e-06 2.02822577022320e-05 1.0848155280713 [...]
+id6020 -1.08202468522576e-05 -4.23653310782423e-05 1.51163118359692e-05 2.50657872575030e-05 5.76977891870267e-05 -4.02317312976967e-05 -0.000120437291104153 2.16986122816630e-05 4.37711499948541e-05 3.81261366040611e-05 -1.36501206485349e-05 9.13594540638543e-06 9.48351620837106e-05 6.59211199589263e-05 -5.08203681153831e-05 -3.2689014583928e-05 4.98368760165559e-05 0.000124684939746132 -1.50333029856976e-05 5.89183410920933e-05 8.57138808369837e-06 -8.00061073503575e-05 6.6180744726123 [...]
+id6043 9.1461445436394e-05 3.94105436892789e-05 -4.33349645084211e-05 6.74979638490237e-05 -2.16553090357485e-05 1.25147118910445e-05 -4.49952719361710e-07 7.43447630209058e-05 -0.000121950809000143 4.52133730798405e-05 2.07574950645692e-05 9.97217712105183e-05 4.99792913472017e-05 -1.59992480973267e-05 1.57635300801768e-05 -0.000173457175836523 0.000149243783225698 -7.77678973800855e-06 2.96460349836149e-05 3.18856473977111e-05 5.90446840131588e-05 -9.57582447871599e-05 -0.0001627801850 [...]
+id6051 5.52534700284043e-05 -7.66127071990346e-06 6.58841807379662e-05 -1.75699235200928e-05 2.45745072436621e-05 3.84411498318632e-05 -0.000119943767001697 -4.30432968445072e-06 -2.97649645866062e-05 1.48854080366039e-05 6.1849172840834e-05 9.6136282483646e-07 6.67678459273402e-05 9.81021135533497e-06 1.19030001048520e-05 -2.37638556452059e-05 0.000127343433590077 8.97551059448204e-05 9.70569959857793e-05 3.48498169385669e-05 4.60314940247564e-05 -6.64118009838129e-05 -3.56779072390948e [...]
+id6139 -9.8815175439082e-06 1.14978593838271e-05 -6.3512532305387e-05 7.53129996929022e-05 0.000109600048404031 -2.90218946286352e-05 0.000111511873741754 6.20647621480862e-05 4.6324915727819e-06 2.93777265660901e-05 -2.50671910320268e-06 6.94398310521154e-05 -2.49481525560733e-05 3.06983250974775e-05 -1.94379076614803e-05 -5.0705955020282e-05 0.000103217084476202 7.16980767621954e-05 5.32704237373396e-05 -4.3485684344946e-05 7.78939059149021e-05 4.58451097806602e-06 -7.28549807268266e-0 [...]
+id6141 4.675433558986e-05 4.66060891100062e-05 4.75895218568903e-05 -4.1333576588365e-06 -1.02211825202643e-05 -5.4762386991854e-05 -2.73684278556937e-05 -1.47798410296359e-06 -0.000107012896691781 2.81879229619652e-05 0.000118801488195182 7.10347713900908e-05 0.000102714680287968 1.74327183429692e-05 3.33501170192745e-05 6.3689800702121e-05 -0.000149958791736584 8.21727632594937e-05 8.5862036644541e-05 7.06151852173766e-05 1.34697213280597e-05 6.77561421908698e-07 2.42865849933598e-05 3 [...]
+id6208 -1.86447419008523e-05 -0.000145016258726647 -5.04633210328943e-05 -5.90625907182954e-05 1.43559948495434e-05 4.09859168382688e-06 8.1933975059052e-06 1.72018300116457e-06 2.59314324130873e-05 -4.70963608461476e-05 4.72785876373127e-05 -1.59551633608550e-05 -9.25936997819341e-06 -7.72067238889057e-05 2.98322396750916e-05 -3.16134999350904e-05 6.01075772276953e-05 7.72487673877401e-05 -0.000102842803364430 2.37366350936978e-05 4.52118190890971e-05 -7.74942138263962e-06 3.74986366715 [...]
+id6221 -1.24366440023659e-05 -4.07536144607384e-05 -5.96857726435934e-05 8.07819546610175e-05 5.92419519447445e-05 3.86766385582574e-05 -3.10451547029783e-05 -6.97181080886027e-05 6.98994669489209e-05 3.0955735455269e-05 7.7256119558248e-05 3.43133058537672e-05 3.35266939174482e-05 8.50960682988204e-05 9.1728715834741e-06 3.34042525128653e-05 2.71298307196878e-05 -6.01256938015355e-05 3.57036690892191e-05 4.16606595314613e-05 3.60998301006995e-05 -9.7550237915268e-05 3.96763133645551e-05 [...]
+id6222 -8.09276457489756e-05 -7.21691479786145e-06 0.000176049331080745 4.0179845859071e-05 1.62919385274070e-05 7.86407706699825e-05 4.74931578425839e-05 7.81870902583125e-05 0.000106038230528346 3.20821500226410e-05 6.65240806993357e-05 -3.19086104735322e-05 0.000103128327506529 0.000117622590141014 2.51829894473372e-05 -0.000149372884787908 -0.000127269644152208 -0.000110375558769105 -7.08782094971438e-05 -3.15584518254002e-05 -3.09350900164578e-05 6.70494003826084e-05 5.7782231297741 [...]
+id6237 4.88321286735863e-05 3.77011343911616e-05 2.69707042316732e-05 0.000142604340914084 -7.4068553513605e-05 -1.26992303818317e-05 1.81320063869673e-05 -7.56096486690838e-06 -5.22689094241156e-06 4.57205932309865e-05 -6.40958126900882e-05 3.71074679137444e-05 7.3657578019027e-05 6.57412479551969e-05 1.38697898017323e-05 1.53196927272374e-05 -4.14354699091923e-05 2.05948201648786e-05 0.000122855255082193 -1.46668210445974e-05 8.06044665656167e-06 7.60783900051471e-05 2.08681349168667e- [...]
+id6243 3.54582482445363e-05 9.41107072144408e-07 3.07870762117072e-05 -4.33496055287437e-05 -1.33996216742446e-07 -8.82325960209297e-05 2.39569854163195e-05 2.54782148895245e-05 0.000130903732004599 -6.92957422711258e-05 -0.000102161900306653 5.96470865605894e-05 -2.67810188733282e-05 7.75694652327032e-05 9.17828492498529e-05 -5.64252066478597e-05 -9.3888576165918e-05 -7.98737429820876e-06 -0.000151006406878041 8.76929464701544e-05 -0.000186749699818241 8.67798254081567e-06 6.27263625237 [...]
+id6244 -6.14158397140569e-05 -6.39711205510018e-05 -9.27848236366411e-06 -0.000143967898387978 7.63812660977931e-05 -9.72969251028058e-05 4.54123461191721e-05 -1.83536511839117e-07 4.28413853665643e-05 -4.40525795723861e-05 5.32194561011974e-05 -8.74471705386688e-06 5.46968127818924e-06 0.000100466602076354 5.10195414526188e-05 9.66766110233106e-05 -0.000208526827722234 7.92298771298683e-05 -0.000207827027469580 5.4582986107221e-05 -5.07053264010329e-05 0.000115377233200154 5.99958590769 [...]
+id6255 -3.67792593403337e-05 -0.000111214969772177 2.74790640043116e-05 4.54841699516374e-05 9.7957409446865e-05 0.000137193738519372 -3.28352085528939e-05 -1.21071987984483e-05 1.92529350881939e-05 8.2315621371238e-06 -1.77668655782832e-05 9.10924537643541e-05 1.18257580823754e-05 1.91786986405637e-05 1.76195549173669e-05 -6.21532849213611e-07 5.99261598669354e-05 -0.000280712512508493 -7.94099549488647e-07 0.000101986411494865 1.41933690247313e-05 4.29821705463027e-05 3.16669556795043e [...]
+id6270 8.07737682474614e-06 -5.94236743895989e-05 7.82650733595802e-05 -6.91042163720844e-06 3.9138406891651e-05 -0.000135812091498321 1.21714050041411e-06 7.07927993673685e-05 7.45897961184499e-05 -4.91714661560054e-05 4.78814085355118e-05 3.85757007966152e-05 -6.8612387793712e-05 -0.000108454206751158 3.84160304469801e-05 4.72452841976877e-06 8.1317709711953e-05 2.97195188387219e-05 -2.62274949005434e-05 3.67618117212542e-05 5.49250244223128e-05 3.23219533248727e-05 5.06790113871097e-0 [...]
+id6278 6.1991858164055e-07 -1.19686988817375e-06 -1.10389440298718e-05 8.06374713107979e-05 -6.78904621511766e-05 2.66494151395106e-05 5.38190346104695e-05 -3.26074503273488e-05 5.71705596767007e-05 -8.99001770917882e-06 -5.88131299631419e-05 -7.5160283953451e-05 -4.50397585340904e-05 6.19240409724662e-07 -8.92301777569365e-05 -5.05906675959369e-05 9.62671666311333e-05 9.41960995512378e-07 0.000101820507064289 -1.83684766407241e-06 6.2840455241134e-05 3.8576794422728e-06 2.62912334938334 [...]
+id6290 3.48558582580410e-05 -7.80158775884696e-05 9.85351404181399e-05 1.1083262261185e-05 3.96500359580409e-05 -2.43449399478517e-06 -6.78104896096543e-05 -5.25467621769672e-05 5.59413068481451e-05 6.43919502593638e-06 2.96402985733503e-05 8.09731211018263e-05 -0.000102000168973737 -5.53555757502717e-06 -8.53715278829925e-05 1.75159134657748e-05 8.29040811410324e-05 -9.13322382400612e-06 4.64053865465819e-05 9.07508078949172e-05 1.71794484753897e-05 -7.29883386485578e-05 4.8869806447759 [...]
+id6306 0.000107890953605128 -4.29908464402586e-06 -3.97446021515418e-05 2.38379414775193e-05 -0.000514103382974636 1.09167160957402e-05 -0.000132126197791363 -8.59785590476218e-05 -2.32288433854224e-05 6.7484987305003e-05 4.01631163345457e-05 -0.000129399884516296 -2.05592662111342e-05 -4.2705211058166e-05 -4.02330225825926e-05 8.90519941961518e-05 -0.000134798899881936 6.29097694748684e-05 0.000106142199425573 1.05409338639720e-05 -7.6517921748195e-05 -5.49578561723591e-05 -8.9307656481 [...]
+id6333 2.46114922737070e-05 -6.33098535234734e-05 6.25014261787843e-05 5.10149773689034e-05 -1.47860320464538e-05 -5.48907528311796e-06 6.87235313262432e-06 4.02369913278066e-07 1.04531854441025e-05 -6.85439726280884e-07 -4.4251232588247e-05 -6.21452309419181e-05 2.21341947438321e-05 2.3396186738074e-05 -0.000101350118113990 -1.92400531791678e-06 4.28975705662907e-05 -1.43894918758456e-05 7.35634603363504e-05 -2.83973352046015e-05 -1.59795771198116e-05 -0.000141233308485299 1.83385091380 [...]
+id6352 1.66079858675557e-05 3.6431974912472e-05 8.14644027007052e-05 7.16167119898533e-05 4.26212905067789e-06 4.06734177481907e-05 -4.8672697800855e-05 1.42409548482286e-05 -3.34677379522066e-05 5.21892914439307e-05 -0.000106089123551870 -7.7994675546633e-05 5.72430802431871e-05 6.59697212570161e-05 -4.17888342801694e-05 3.16361448278652e-05 -2.44740760378461e-05 8.49641806229698e-06 5.97664497860378e-05 -0.000111259566375934 1.90903300056583e-05 7.44194410692556e-06 7.74460397355295e-0 [...]
+id6386 -4.77473633352353e-05 0.000130849785043832 6.6760568485985e-05 5.17319850721282e-05 -0.000116556556192381 8.04642912775304e-05 9.8879580292768e-06 4.56488902602713e-05 3.45844306427276e-05 -9.84822902665378e-06 3.08333929225766e-05 7.4836440077072e-05 -5.75044975743675e-05 -1.55101510871517e-05 -0.000237141306057194 7.61264957838408e-05 5.30878953115303e-05 -1.71153317495566e-05 7.9936582101746e-05 4.45456747165781e-05 -3.59249468085307e-05 -4.34669256156748e-05 -2.3731630652869e- [...]
+id6443 5.8454242912869e-05 5.09671590047448e-05 3.54082155579860e-05 1.76217520648157e-05 7.14974472402829e-05 3.66987983244743e-05 6.45736935989556e-06 4.1013500882096e-05 -0.000137943368033918 9.31072506501391e-06 -7.88451012451248e-05 -0.000173627765659406 3.73922888272325e-05 5.816371928062e-05 7.90414507616487e-05 -0.000136155751162855 -1.42148386644097e-07 -2.09105123129042e-05 -1.28561487579848e-05 -4.33773093868519e-05 2.22697144127468e-05 -1.60897020657628e-05 -0.000148942966428 [...]
+id6488 1.01166335660571e-05 1.64651626280453e-05 9.43895749497163e-05 9.9644910057288e-06 1.80983578779391e-05 9.34657402719606e-05 3.77632028527248e-05 -6.24645277677986e-05 -1.75242466073881e-05 9.44905829992765e-05 -5.18181839427114e-05 4.51991141996539e-05 4.03426851823204e-05 -2.42024551604992e-05 -8.52433059021492e-05 -3.13104439124696e-05 9.20775067084938e-05 9.14194727687085e-05 3.21322091652263e-05 6.99408644530607e-05 2.03425479383988e-06 3.20007055906670e-05 6.37018555462856e- [...]
+id6499 4.90947082732212e-05 5.81968786362089e-05 3.77165466735642e-05 0.000115338535361245 -2.549535723095e-05 -5.29268485293354e-06 9.57873281083846e-05 2.32511465719052e-05 3.20166190116548e-05 -9.51950897996984e-06 -3.59183903986587e-05 -4.37918378674033e-05 -3.52202965346931e-06 1.94258122131316e-05 -7.57841623261253e-05 -4.97306787832376e-05 -8.02033825172023e-05 2.66739868473617e-05 -7.98813536947887e-06 6.66274918604018e-05 2.81473990486084e-05 -5.60984513836611e-05 3.176263793367 [...]
+id6501 -0.000120859156266657 -1.76418171295935e-06 -4.42167981420615e-05 1.20766117826349e-05 4.17510483732024e-05 -8.25449827039384e-05 -2.59424845400992e-05 -6.88960245446703e-05 -4.71175212088635e-05 -1.02789214602413e-05 1.04933905920771e-05 1.65909301247934e-05 6.8547004605988e-07 1.17492940101099e-05 3.07259359962548e-05 -1.25315093980538e-06 -5.36918125203393e-05 -4.13834220533852e-05 4.96933603585052e-05 -5.40677262622068e-05 -2.12599170000977e-05 5.83632593943011e-05 -7.36734747 [...]
+id6506 7.3560169544585e-05 -1.89528342346066e-05 -9.42032700166132e-06 -3.29820852607234e-05 -0.000219595244817286 5.96132136892338e-05 6.96034297679773e-05 2.16353836848341e-05 3.90155002501645e-06 5.15812678785451e-05 -0.000115325748077728 9.97942499090193e-05 -4.99823244266489e-05 3.62821113763673e-05 -7.46624435690771e-05 -2.50727367622242e-05 4.27520679847977e-05 -5.78392090877714e-05 -1.01552382192853e-05 3.57412757223578e-05 2.77003702569335e-05 -1.77373499605293e-05 7.04630672669 [...]
+id6544 -7.45532459400231e-05 9.06505944971667e-06 -1.46798403932961e-05 1.08705868133887e-05 2.87479559254159e-05 9.28375143175514e-05 7.50533709736598e-05 -4.91703764058308e-05 -7.65706881938689e-05 1.48391258646512e-05 2.79478891670764e-05 -1.53478750585755e-05 -3.51022596233126e-05 3.95687434662573e-05 1.6829363537682e-05 3.80596672799094e-05 0.000108774774637235 0.000164005410569558 5.99138442429117e-05 -1.21466392808196e-05 -7.15848062851327e-05 -5.76878893752508e-05 -0.000122433581 [...]
+id6554 -9.89149175789604e-07 -2.64866173011807e-05 -3.61551350006627e-05 -4.43585934570794e-05 -2.88124371048173e-06 6.08094101560637e-05 0.000108948716180304 1.82940465577944e-05 -0.000264607163370879 6.70858927029152e-05 -1.77371045405693e-05 1.18728355815995e-05 4.02112959335602e-05 7.38417425916625e-05 6.049820212538e-05 2.26076462454437e-05 -7.5839225874957e-05 3.89471596583019e-07 3.30715352691761e-05 -2.22696066845820e-06 4.3892521665579e-07 1.86461821287801e-05 -5.52626652415417e [...]
+id6588 1.59354508641969e-05 -1.69396232188084e-05 1.6995223943734e-05 5.28252387574913e-05 -0.000102126728218188 6.70892995132554e-05 4.63403707217609e-05 4.3505914393815e-05 -4.06025553912264e-06 -6.12488359052636e-06 -7.37939078214234e-05 -7.49632521243772e-05 -9.58190449036253e-06 -1.64192437783064e-05 -3.44130036031758e-05 5.64150477391351e-05 -2.32170698602214e-05 -1.45234826697519e-06 -1.76711617012261e-05 -3.36669296801630e-05 -2.26922880553307e-05 0.000126924893899366 -3.64100306 [...]
+id6603 -4.92050071333705e-05 -2.54686203373091e-05 3.31610531631954e-05 -6.40981526887263e-06 -4.90578943409881e-05 2.52956409417940e-05 -8.83991286847119e-05 8.69206137114782e-05 -2.09533332538427e-05 -2.53940611745834e-05 -0.000113478324433978 -8.63898508911945e-05 5.78511641799924e-05 3.86418374680024e-05 6.34676682034701e-05 -2.2020322813885e-05 1.94776560952554e-06 7.9267507422908e-06 1.78009770085155e-05 -5.4631449616377e-05 0.000107799265397435 4.466065537437e-05 3.15756629533179e [...]
+id6641 7.15561185206434e-05 -0.000163688297285609 3.64645069329225e-05 1.49174422041373e-05 4.24117107602882e-05 5.0557395739848e-05 4.50391451200671e-05 -2.27590349246515e-05 3.06435092962524e-05 -9.92633986381996e-05 -0.000120961873960303 5.66681895795432e-05 -3.33289266881065e-05 -3.63029843842658e-06 5.18754702032151e-05 3.10291645335037e-06 8.75675631363224e-05 -7.86907928470412e-06 -4.65821866967053e-05 -9.1672746339527e-06 -1.93311264454234e-06 -0.000101349435290065 2.062079396752 [...]
+id6645 -2.13221977944409e-05 -5.39307881343323e-05 3.67681649672586e-05 -6.43638995737095e-05 0.000103182129952792 -6.38044439401217e-05 3.72108803654386e-05 -5.90304096166229e-05 5.77715244003777e-05 1.43508659444607e-05 1.45651631780326e-05 9.00645766143502e-05 7.54005958070389e-05 3.31530973675243e-05 2.35762832185779e-05 -6.07285205808030e-05 7.65852336353605e-05 0.000101759341578050 7.0596657464933e-05 2.34560956831748e-05 4.77345417290333e-05 8.52645816934194e-05 7.35558484768993e- [...]
+id6651 -0.000157422451481567 -8.63569756376525e-06 4.48513765363542e-05 8.0072376507072e-05 -4.49179086855139e-06 1.07659731105827e-05 -0.000100580988455743 -2.07874683866720e-05 5.01622254589493e-05 6.117248713079e-06 -5.12508424413202e-05 -4.36012619647916e-05 1.19370088489047e-05 2.68186086157781e-05 3.94223657121459e-06 -5.70060770699274e-06 6.66231974444393e-05 3.62297765150633e-05 3.80429169804520e-05 3.57103176704899e-05 -7.42093996198284e-05 1.82850997721792e-05 5.164709748168e-0 [...]
+id6661 6.71338799409705e-05 -1.64023747686559e-05 -0.000177950416522549 2.1580324780765e-05 6.95459853968495e-05 4.76411667697755e-05 -1.69974972395988e-05 -7.06460744348894e-06 -2.04549772325744e-05 -3.84867613273134e-05 -6.1937744540642e-05 4.16444327644431e-05 -2.09828928906206e-05 0.000100755480283772 4.18608718962749e-05 5.92158894382861e-05 5.88747989757782e-05 -2.11754800536858e-05 -5.70557951032978e-06 8.27877837743803e-05 2.27171910054819e-05 6.47447985686253e-05 -8.820021080695 [...]
+id6663 -0.000151988445724805 0.000125204934516317 4.88036416959402e-06 5.46632429587036e-05 2.19105064893362e-05 -4.33782784281689e-05 -2.8560452170064e-05 -0.000338998004574139 -9.36784587544211e-05 -0.000156190833037625 3.2177726299914e-05 1.89424544281723e-07 -1.54710532844247e-05 -5.04819318594402e-05 -1.07847756740034e-05 6.68865304956568e-06 7.05320470238307e-05 9.01998612658148e-05 9.5479625231288e-05 2.88822825269361e-05 0.000119227346699619 4.63192228094433e-05 2.83102950550108e [...]
+id6709 1.72607355195417e-06 -0.000122042349225784 5.06994586769085e-05 -0.000111701175000081 1.06570379377482e-05 7.05068704444074e-06 4.24140299919269e-05 9.24893596978413e-05 3.6308358739438e-05 4.30061707749745e-05 5.09303664194868e-06 8.6107145347771e-05 -0.000111813492759266 -4.9566778669763e-05 -2.13722212563532e-05 -2.78049137576769e-05 4.74849788976576e-05 6.71558910930258e-05 4.06975609850702e-05 -6.14142982679682e-06 -6.66322389069954e-05 -6.37157501192008e-05 -2.88279310887375 [...]
+id6723 5.74767930485397e-05 6.86315889400546e-05 -5.04446482730065e-05 3.12333766864934e-05 6.03417680975761e-05 6.21196342424435e-05 -0.000322247230858475 -6.52007348029036e-05 -5.2712775505132e-05 2.11283194840222e-05 8.6000635935105e-07 -3.55494968620251e-06 2.28938882686913e-05 -5.61244117341205e-05 -5.9817604678254e-06 6.39799207931509e-05 8.158931266782e-05 -3.15539790948133e-05 6.70109011736148e-05 6.41126237582284e-05 9.01510101926318e-05 0.000155216424052482 1.8401498814713e-05 [...]
+id6740 3.04872693595917e-05 -2.01044855067450e-05 0.000106851631941911 2.98442456324317e-06 1.11410230923349e-05 -0.000126978064528487 1.61936786803340e-05 -3.55801319186667e-05 2.54137701988155e-05 6.8280951974145e-05 -7.2420007706378e-05 4.71763189276113e-05 -3.65276437196339e-06 5.9014848157439e-05 3.85905381013197e-05 2.30799691296837e-05 6.54160867746505e-05 -4.32241157196736e-05 3.86953317867958e-05 1.47370454761857e-05 3.13989234503034e-05 -0.000180424379635331 -3.72229634608464e- [...]
+id6773 9.48218905611064e-05 -0.000207462254130583 -2.55914998154000e-05 -5.128104039522e-05 9.03350605175099e-05 3.94338933314934e-05 7.42235503044763e-05 3.711826155877e-05 7.1095331637662e-05 -5.49129842469186e-05 2.56031425472417e-05 9.56676914568438e-05 -3.92085008079478e-06 -7.78283307792521e-06 -4.16996903673486e-05 5.8025047639758e-05 3.8417054193805e-05 -3.77761170638703e-05 -7.02883696586188e-06 2.01392723751324e-05 -1.83213660459647e-05 -9.9190762223073e-06 -1.97637135793795e-0 [...]
+id6802 3.617367523684e-05 -7.29243658104693e-06 8.63793260053382e-05 -5.47011538391188e-05 -1.39741316828602e-05 0.000106537198074118 1.26269103782106e-05 -2.78792568309003e-05 6.48884404223364e-05 -7.26503491158776e-05 -4.58578728994068e-05 -5.51908524125906e-05 3.49862480581658e-06 -3.43392538944225e-06 3.05200469504137e-05 2.54665155486766e-05 1.22021562600729e-05 -4.47371395905967e-06 3.88268208110969e-05 3.0411360001893e-05 4.55746459720257e-05 -2.8696938634352e-05 -3.61188871966972 [...]
+id6820 -1.02675313223807e-05 -3.53045921839715e-05 0.000120949638513915 0.000141620441961736 6.38709931221401e-05 5.2853176077355e-05 2.42152348727855e-05 9.97671426186583e-05 5.20716306551579e-05 4.50000457962101e-05 1.60548902141831e-05 7.71666508485971e-05 -9.02283214453853e-05 0.000100185478000886 3.78657512863155e-05 -1.99644286701415e-05 9.32297825527477e-05 -1.25761155451765e-05 -9.86750965704304e-05 -4.26310486159338e-05 -0.000107588659315365 -0.000129437682819265 -0.000148826728 [...]
+id6829 -3.74259988055902e-05 -2.85642979057640e-05 -6.74790904846047e-05 3.79348350480100e-05 2.00289922227333e-05 -5.05946219102566e-05 1.57213519934679e-05 -1.35674494101183e-05 0.000133645097111166 -3.48159833021735e-06 6.47667767108263e-05 -0.000184056601216265 1.07911374978353e-05 1.36396736550796e-06 2.86076425172925e-05 -0.000102761417333567 -0.000137897269543926 -1.10673043567314e-05 2.24523203247604e-05 1.12287605971355e-05 9.8491843521518e-05 1.75234598574639e-05 6.482946169850 [...]
+id6840 -0.00012305708888275 7.1097934541304e-05 -5.28379250333975e-05 -5.74658860389608e-05 -4.06395998475544e-06 -0.000117850503678751 -9.09437170581913e-06 7.5771087565631e-05 7.779359275977e-05 -1.65572222361248e-05 9.29013821927245e-05 4.34511756775784e-05 7.082621717663e-06 4.60044303877711e-05 6.87964020329559e-05 4.19398219994364e-05 -3.80966968165431e-05 -6.93150506493554e-05 -3.60199408342141e-05 -9.6689991163614e-05 6.13394848909529e-05 5.36364165978723e-05 2.24780779581135e-05 [...]
+id6847 -0.000138666076308969 1.19276699741683e-05 -3.8790071051967e-05 -1.98079849145153e-07 -3.18980439414182e-05 4.00786357851223e-05 1.35782595504484e-05 -9.83752128787743e-05 3.61789052341795e-07 -1.78400064366381e-05 -2.21992531270099e-05 -0.000105634459236457 9.06655789443156e-07 4.97916654661766e-05 8.5059255733179e-05 3.56700761687653e-05 -6.52183050646924e-05 -5.15144230359349e-05 -2.25101599839291e-05 7.37093872883554e-05 -2.71570479641832e-05 2.27965068176609e-05 2.99936785080 [...]
+id6857 5.18189668290949e-05 -8.47596149505201e-06 7.38851465864153e-06 -3.09193673377997e-05 -1.30566083116921e-05 -0.000129068179551799 3.07812126895729e-05 6.94352764384415e-05 6.70148433329236e-05 5.82101230131156e-05 -0.000173420884071701 0.000110842601082459 1.14907288430232e-05 -1.90961942025771e-05 -7.74406923294377e-05 -9.22916777065281e-06 -9.877480240424e-06 4.07781568577927e-05 4.05951727304394e-05 4.14925396409264e-05 -1.73227816663387e-05 -7.76933573964868e-05 5.509478364094 [...]
+id6866 -1.50655464283727e-05 -3.03304965002047e-05 3.75412315702965e-05 -0.000267232370184698 -1.26691486352294e-06 -0.000213265623758315 3.56612301960349e-05 3.084438590286e-06 6.21785549946814e-05 3.27763031931491e-05 -4.35583385819115e-05 0.000119958112359884 4.15924875656524e-05 -0.000226995449551852 5.3698166940465e-05 -8.75669685221344e-05 -8.57928681669352e-06 -1.73990672256754e-05 9.25152473002725e-06 3.36761150254241e-05 3.92507590969396e-05 -1.28479969486873e-05 -1.437332254463 [...]
+id6950 1.15546980795458e-05 -0.000158578445727809 -7.82341097704251e-05 -3.13541556526679e-05 -7.67694405601693e-06 7.32331261212392e-05 -9.59841970058068e-05 -5.00437395291637e-05 6.69176092584185e-05 -2.82886458607952e-05 1.8365106678075e-05 -1.23497021276005e-05 -3.71212083514346e-05 2.87809174681735e-05 1.72396795069174e-05 8.20080552054258e-05 0.000121154002873437 5.16201902126239e-05 2.16424728916612e-05 -1.52529022645722e-05 -1.71230141011713e-05 4.84214846407563e-05 -4.7934842047 [...]
+id6998 -2.54689926611717e-05 -9.47259610205573e-05 -3.90166552132272e-05 -7.17150329486732e-05 -5.08306646314696e-05 -0.00011229517481194 8.47593059322888e-06 -3.58751925729323e-05 1.45353332658508e-05 -3.40135651930952e-05 -1.42082588664533e-05 -2.75187786403605e-05 -8.49326396632356e-05 1.49948422560745e-05 7.56124059787486e-05 0.000128572018719546 3.50180981381828e-05 3.3850033464958e-05 -1.29028926370386e-05 3.18640942551397e-05 -8.45329668071121e-05 3.18952896355791e-05 7.4679144268 [...]
+id7036 -3.40294707610315e-06 2.28602319641564e-05 -3.16302317954733e-05 0.000131707114686791 3.66223477975646e-05 4.35552678356938e-05 5.87757826179128e-05 7.26788243106667e-05 -4.96082989465324e-06 0.000105274547665667 -9.58430447133292e-05 9.38485229873872e-05 8.70010978440168e-05 4.37449512127459e-05 -2.39525479508302e-06 1.60009825049775e-05 -2.43296296631674e-05 -3.33623396727256e-05 -9.7903711904015e-05 -4.1351746345791e-05 1.54563631513603e-05 -4.57386636383482e-05 8.4763130622155 [...]
+id7038 -3.0402829027364e-05 -3.16066779802242e-06 -0.000223531170581937 7.84906713840633e-05 3.86567758839702e-05 -0.000185780910431466 -1.87451034302973e-05 2.11916799531368e-07 7.75472041154521e-05 -1.01519775201370e-05 -0.000158675112065358 4.56195918669404e-05 5.64773437702793e-05 -3.69373090943511e-09 3.75819270039728e-05 4.38096161222691e-05 7.42383760742985e-05 7.32483272123634e-05 5.30104367023499e-06 1.92273119564297e-05 -6.354102849552e-05 3.81139085356163e-05 -5.93493600096771 [...]
+id7063 6.5685006448404e-05 5.42012172652182e-05 3.89503645465075e-05 -0.000193940937004315 -2.62580917506323e-05 1.72423440722317e-05 4.40623073751402e-05 7.37684176046898e-05 6.9416135496002e-05 1.88184019115095e-05 5.12210107751688e-06 -2.01686105401319e-05 3.07558381231764e-05 -6.80455544399275e-05 4.73980260613118e-05 3.28942055206378e-06 3.50003982414563e-05 8.38228105559047e-05 -4.84362614673991e-06 8.30977957873541e-05 -3.7361801461041e-05 -0.000117813726174283 7.25452880012786e-0 [...]
+id7072 -0.000329299476240756 6.24712479303711e-05 3.96888544606755e-05 2.20508353515602e-05 4.54895733090213e-05 -2.32676611356734e-05 -1.53961289026317e-05 6.5270553031707e-05 5.78531101726921e-05 2.35177751569547e-05 4.02392731899442e-05 0.000118487256344727 -6.56626082027653e-05 2.52554261513581e-05 1.48358837818968e-05 4.98066982231845e-05 -4.53477599430002e-05 5.12528539292991e-05 1.88349302723252e-05 2.19090912057082e-05 6.39163930070181e-05 0.000137076637923538 -7.60077773465554e- [...]
+id7094 4.31530350470096e-05 2.13877960893827e-05 4.02341688558189e-05 -4.93528958362161e-06 1.67995890292552e-05 -4.93251287156549e-05 -6.81229717783768e-05 -6.57908637124796e-05 -3.06152937577076e-05 3.26853274184955e-05 1.15055960476399e-05 4.55254390738066e-05 2.75011886269588e-05 -1.72135067244370e-05 2.12618646114465e-05 6.58415225807875e-05 1.65105133052459e-05 5.61657239660275e-05 -2.16170296526208e-05 -6.62169538336434e-05 -1.47429282694963e-05 2.09865106343445e-05 2.786914522793 [...]
+id7100 5.85431942776379e-05 6.3424486008359e-05 -2.22603056771476e-05 -2.91539897359352e-05 -1.69554558130566e-05 0.000106766398412564 3.19519150155464e-05 2.75751044401475e-06 -2.7019784697699e-05 0.000127150675124014 1.84188819854996e-05 3.05778243598552e-05 4.6944304930227e-05 4.06802780915497e-05 4.41329777138541e-05 6.68342117601258e-05 1.55123328290166e-05 0.000115402241139105 -7.40033200042264e-05 6.98207039870872e-05 -2.44479886077964e-05 1.65490383362237e-05 6.82355163013491e-05 [...]
+id7139 2.29615244941747e-05 9.95314061306074e-05 8.11830642180157e-05 -5.41451905230449e-05 -0.000126750944630616 0.000111316261125474 5.05316846051147e-05 4.76128072654844e-05 4.57446037119616e-05 -8.36906214503368e-05 0.000119090529563872 2.00985986291021e-05 6.39119563349768e-05 6.41064125990056e-05 -2.2707321180304e-05 -6.4764261754252e-05 -6.02881433308318e-05 5.855376179802e-05 5.83011438115964e-05 8.99807149226624e-05 -3.19724124554546e-06 -7.69173072524419e-05 4.93546836341021e-0 [...]
+id7147 -6.23539698220244e-05 -2.05287852855064e-05 -1.83501098797095e-07 -1.38791947683288e-05 5.38120624949383e-05 8.93013877326132e-05 1.88555908652333e-05 -7.90218783108553e-05 -6.68529170538646e-05 -5.35235576460827e-05 -7.53926773772195e-06 3.05222505053995e-05 6.99930357769991e-05 -8.19904213128309e-05 4.52180864355003e-06 6.84710580828691e-05 3.7473574536253e-05 -7.90280532830565e-06 6.2439714523723e-06 7.44529397966162e-05 4.5578266970017e-06 7.62143051044777e-05 -5.8333258523836 [...]
+id7157 6.59984689261985e-06 6.00621755969337e-05 5.08407291131867e-05 2.00630345917727e-05 -9.73133381174733e-05 -9.15569315807025e-05 -2.04660632485460e-06 2.26520874094327e-05 6.65494088353134e-05 2.86903356452782e-05 4.94992189348864e-05 -3.39599403226809e-05 -3.31469673417674e-05 -4.95829217774696e-06 -3.30152202262004e-06 9.78479390707034e-05 4.22668359806436e-05 -8.89548025038275e-05 -0.000243437152780721 -4.19248292524303e-06 -0.000144309197179860 -1.06287246802317e-05 -1.95961346 [...]
+id7173 2.0498300961329e-05 -0.000180826168524224 8.83679537331292e-06 4.92077483041871e-05 2.51636560863971e-05 1.99499057738078e-05 -1.21114875008658e-05 5.23798052042245e-05 1.97009583927428e-05 -1.42677727795750e-05 9.03254080740875e-05 1.04571821046693e-05 -2.84040867235319e-05 3.79734559073832e-05 9.5369963649352e-06 8.77137513073114e-05 -2.53796819874614e-06 9.33713382105546e-05 1.65715795949140e-05 2.48277289991112e-05 1.65866950609517e-05 -0.000102180923318556 8.47880303175709e-0 [...]
+id7202 4.80093226716379e-05 3.95497715469886e-05 8.39772779781911e-05 -6.12393798488562e-05 -1.81280230177597e-05 9.9036004449752e-05 6.34536508133117e-05 -4.34365961782531e-05 -6.69578027242799e-06 3.06985850456225e-05 -6.04221524227157e-05 -2.19770341755613e-05 6.45375801083139e-06 2.54079640431366e-05 -1.63519687605837e-05 -3.42719232292222e-05 1.0434562871465e-05 6.69204500337959e-05 0.000111620212971465 -3.7940365787986e-05 3.82163353774793e-05 -4.38766261556156e-05 -3.8485264294768 [...]
+id7212 1.94407203704215e-05 -5.16797183041693e-05 -6.22970493186909e-05 8.61639064628461e-05 4.72468952835919e-05 1.40801801920932e-05 1.75530476664003e-05 6.21143541058336e-05 -2.76847631068265e-05 2.68022693525594e-05 -3.81001657634687e-05 -5.3775346882362e-05 -3.08885253849398e-05 1.20650974556173e-05 1.88097934745365e-05 2.16651801403976e-05 -4.28860080041993e-05 -7.14530784553294e-05 6.21532864239381e-05 9.95633702821453e-05 -1.81625640269551e-05 4.54977439862849e-06 -3.442331494358 [...]
+id7249 7.72861048691645e-05 8.0195951731412e-05 4.36569811952324e-05 -5.56398404523426e-05 6.32942319606603e-05 8.33891222858915e-05 -1.46272153529140e-05 6.63011819952042e-05 5.83978295243053e-05 6.57085255298456e-05 -2.82755891240142e-05 1.60008938814346e-05 1.97509098721421e-06 -9.12575839927093e-07 8.63359765034444e-05 -3.8003837116405e-05 2.23232018248348e-05 -3.73930840373937e-05 -3.88727184724312e-05 -3.0084141768088e-06 3.73523213234435e-05 2.98409561501938e-05 -0.000116849567855 [...]
+id7255 -6.89194943072496e-06 3.90988256886171e-05 3.72568336297579e-05 8.82132636017596e-05 -6.14080373846429e-05 3.21998457147372e-05 2.39270173467788e-05 7.64576898301189e-05 5.59371233168366e-05 -3.49840644778959e-05 6.37869699441411e-07 3.84507886565537e-05 1.44049451529333e-05 7.90086071899623e-05 3.74784456669325e-05 3.05251731273552e-05 -0.000207849580092371 5.66508683194037e-05 -2.13245427117277e-05 -1.29064334907971e-05 5.04376365296991e-05 1.94976268229247e-05 -7.15038262117227 [...]
+id7257 3.94738811850198e-05 -3.86356989440789e-05 2.32414516040066e-05 1.03486455414406e-05 9.72490398848428e-05 -1.51493313720575e-05 -6.93445507485229e-05 8.03808225877558e-06 4.96914720514406e-05 -9.73844744850398e-06 3.28412944853974e-05 2.78628974728469e-05 2.63781116369547e-05 -9.78527806373204e-05 -3.54131036318649e-05 6.38802034270447e-05 9.46579002935483e-05 1.86782526244397e-05 -8.04587501314157e-06 -6.007896600504e-05 2.03520634901988e-05 1.90620309552725e-05 5.17884738656410e [...]
+id7333 2.04482588699866e-05 -5.48176530009325e-05 4.86772934756582e-05 4.52993287404461e-05 -1.36121586528256e-06 8.58381138726775e-05 6.92389593804561e-05 3.47336530207501e-06 5.68477808245065e-05 9.48080940592304e-05 6.34952810696615e-07 -3.43460075830731e-05 1.27554880915223e-05 2.22160706208532e-05 -1.11766637099844e-05 -8.23695917215737e-05 0.000118280958034033 3.37593337154372e-05 4.27160764249439e-05 -7.25391925321539e-05 6.85667030079988e-05 -6.6123232932193e-05 -2.35746508706831 [...]
+id7355 4.46834859784067e-05 -5.25753253951201e-05 5.18807762394737e-05 3.70953141846921e-07 3.11700206332958e-05 -1.48422698105438e-05 4.66670521699652e-05 -2.51076638822287e-05 4.20624465458146e-05 -2.71137627058561e-05 2.59644850228568e-05 5.94918453163145e-05 -3.73561171878409e-05 2.27868567133601e-05 -4.10666891131772e-05 1.00476491988056e-05 -4.47398840565347e-05 -1.25859855556374e-05 -2.63454417740615e-05 -2.21269641784514e-06 1.80142000957764e-05 3.20814712511994e-05 8.36274916107 [...]
+id7369 -1.05658172292228e-05 -3.16908920247689e-05 6.195901294917e-05 -9.64141493143523e-05 1.84074078228858e-05 -5.48358661268998e-05 -4.34267477371677e-06 5.61760161285564e-05 3.02680807804183e-05 -7.64894102311496e-05 -0.000102046491405783 -6.70530606548624e-05 8.52759097752895e-05 -6.56415865290636e-05 6.09422800498008e-05 8.77863912820968e-05 6.03737208709869e-05 4.19270874984124e-05 -1.6526851288551e-05 -6.29442720741915e-05 -8.44633494285747e-05 -6.52144897067974e-06 1.59091039318 [...]
+id7415 -1.30352623837763e-05 3.71317006593035e-05 3.18736979084684e-05 -3.87481130685684e-05 5.73074334516093e-05 9.40403846582063e-05 -4.22783987526988e-06 -4.12077928709046e-05 1.64725704429720e-05 -2.81341662137712e-05 -1.36250890258891e-05 3.687543132673e-05 -9.71010810618081e-06 -4.49697873077823e-05 4.40668996470458e-05 -3.44140114947758e-06 -1.18106551605924e-05 -3.84733863298137e-05 7.60862806985726e-05 6.3593271672602e-05 -2.19378277853924e-05 1.10401802859435e-05 -2.27021356695 [...]
+id7451 -5.87105750799558e-06 1.50687597187428e-06 4.98390144732516e-05 4.46488378789673e-05 -3.75572465234291e-06 6.33024262759759e-05 -4.46831379239894e-05 -0.000129660604407299 2.48200869903539e-05 -1.49346583816589e-05 -7.95868117838855e-05 6.19850609798074e-05 6.28903710651281e-05 -3.44878240014966e-05 7.99819996311475e-06 -4.76250750345304e-05 0.000110278137106926 -2.55600422913624e-05 1.74559699107580e-05 9.26657572509168e-06 5.58991082321928e-05 -7.01791922240806e-05 -4.6525194694 [...]
+id7499 -4.25882070397065e-05 4.69850330650369e-05 -1.31312505711440e-05 -2.00512309712579e-06 -5.07703917146108e-05 0.000108534809282931 2.61237085042360e-05 -0.000119266522432378 -0.000211251472651201 -0.000337281156484187 5.35685396700273e-05 -4.04460489549257e-05 -1.77403017274368e-05 1.87614171432664e-05 4.89978770702347e-05 4.75844096582356e-05 -2.29862776727763e-05 5.55345478549052e-05 7.61390251761339e-05 -6.45062344080697e-05 3.70821024504826e-05 5.33684855224041e-05 6.0607364125 [...]
+id7507 1.25109853623081e-05 3.80558345740907e-05 -4.14577317067374e-05 5.42749329931229e-05 6.06333914569012e-05 4.35858459983883e-05 -1.31063722960808e-05 4.55278582427506e-05 1.37531023342241e-05 2.27900655530568e-05 5.10361377160874e-06 -5.82453233274218e-05 -6.38046098838802e-05 -0.000246856037146491 -1.07635029045134e-05 7.08006312751211e-06 -2.04683136216751e-05 -5.65405146114186e-05 6.31393334409024e-05 -1.31126408192485e-05 7.21200009491827e-05 6.63691199335583e-05 -3.39100533568 [...]
+id7514 6.31316961903579e-05 2.18748706964362e-05 2.8507576476019e-05 -5.15932042591554e-05 2.65443773854668e-05 -2.14194847759070e-05 9.14415616550858e-05 5.91386930494061e-05 7.85759214969953e-05 -8.26064183346456e-06 0.000106683687070973 6.56762873540992e-05 -7.62317520388288e-05 -3.75320622147274e-05 -2.67061162369262e-06 1.61908238905239e-05 -0.000137889586502278 3.96192500876501e-05 4.4943722837544e-05 -6.91239449068289e-06 4.24967307850827e-05 -4.66001853047063e-05 7.04753385656122 [...]
+id7528 7.43319906833982e-06 5.58366184794053e-05 -9.94559297501276e-06 5.42627168932323e-05 5.62958963076467e-05 5.49907964290844e-05 -3.18818982970483e-05 9.88004699441681e-06 4.19366421857955e-05 2.12894970964687e-05 4.33764384197399e-05 -7.06001863599089e-06 3.87680594556233e-05 2.58455430694144e-05 -5.68321660144622e-05 5.05531224556454e-05 -2.60567355810523e-05 3.47274304053281e-05 -8.8506470381757e-06 -2.91699095576564e-05 1.11806381481232e-06 -3.44563617072169e-05 2.20775006604219 [...]
+id7541 -2.90709182005434e-05 4.6598498649701e-05 -8.29995189887272e-05 -4.33269162559522e-05 -8.96555012621468e-06 -1.64726672695194e-05 -6.32027097249247e-05 -1.35512247063897e-05 2.10892349067005e-05 6.56947830633966e-05 -7.9538024403804e-05 4.63217258426074e-06 -1.95718972764269e-05 3.04938815474889e-05 9.08012861112397e-05 6.29710434663097e-05 -5.72087016677053e-06 1.47155071988558e-05 -7.53280444636324e-05 -6.03058308382061e-05 2.65440862387956e-05 6.86863586920279e-05 -6.8755227800 [...]
+id7546 1.36123334366618e-05 3.22463638387688e-05 -8.51964210024153e-05 -0.000198373637002313 -6.74091120124806e-05 3.22090977001014e-05 -6.40654038594327e-05 6.93045505718301e-05 9.15956930554142e-05 3.70706162950766e-05 1.06702184808970e-05 -0.000139821049016631 5.22933564209647e-05 -3.83208385458499e-05 2.78294173026756e-05 1.83489386058223e-05 -1.9945872735447e-05 -6.18490597673778e-05 -0.000152154674571162 -0.000125225273998645 -7.78207475346262e-06 5.84462529440643e-05 2.05847258907 [...]
+id7563 4.41738472538723e-05 1.21331993910191e-05 1.63830356018128e-05 6.69094952089194e-05 1.826979179257e-05 3.03078462955124e-05 -4.7391607071363e-05 1.52598903706905e-06 0.000128814825788494 3.31526542501948e-05 3.89552453170964e-05 5.81917282502985e-05 -7.75783486881893e-06 1.7970903884414e-05 3.26809871092145e-05 0.000106150349392193 -6.85516346129316e-05 7.8327653757287e-05 6.71113699938104e-05 6.20202366145387e-05 -2.23077082372103e-06 3.4239231135654e-05 5.1575655391999e-05 7.773 [...]
+id7570 1.11110002960080e-05 -2.10555207453548e-05 6.72301798090616e-05 -4.59572302211157e-05 1.67034654391916e-05 -0.000126191984430137 -3.11758853224457e-05 -0.000267562533059864 9.6694289831333e-06 9.67814200515099e-06 -9.2558583273568e-05 -5.42265590125398e-06 -2.37683353817929e-05 -1.32564128232939e-05 4.92571919433333e-05 1.36340422398957e-05 0.000125713989436620 -8.64605115310679e-06 7.90666921686639e-05 2.42850046744492e-05 4.52890540157027e-05 -1.8338282153954e-05 1.7619643023934 [...]
+id7589 5.23516600864628e-05 4.5027193157141e-05 -3.66067532973347e-05 -1.22106209229389e-05 3.34587830225752e-05 2.78483891331685e-06 -0.000100799829303215 -4.09942576370523e-05 5.20872621815e-06 -4.871717976204e-05 -6.03064311224494e-05 -2.55463710851074e-06 -2.27247067562743e-05 -0.000339054563396868 8.55181116973348e-05 2.93622600967581e-05 8.25282675591438e-05 7.5328194720215e-06 -3.21819002093597e-05 -3.06297251111823e-05 3.7171105067517e-05 4.64615710422842e-05 -0.00012861333801145 [...]
+id7598 5.89918033840334e-05 7.65396594989474e-05 -4.81529112306582e-05 -6.61752297463965e-06 0.000100721774240472 -2.25926421996839e-06 -5.53517622997823e-06 5.96347125747637e-05 1.67969527120820e-05 -2.86203961263001e-05 3.0438091933743e-05 -5.98434365194921e-05 5.24357173411505e-05 -9.04458442597608e-05 -6.72133751544391e-05 -9.99547964240904e-05 6.38768919998503e-05 3.16245397529487e-05 4.3327286112287e-05 -3.79147134215435e-05 2.55377680048175e-05 7.83092668967488e-06 1.9888325244440 [...]
+id7607 5.3437941566218e-05 -3.85465789860894e-06 3.16406929822621e-05 -4.81494406011671e-05 7.5149521985716e-06 -2.16207146281093e-05 4.61314525228551e-05 -9.63760443170665e-05 7.7091629733876e-05 -1.47395447713061e-05 4.14686634648224e-05 -7.97949883965299e-06 0.000111816777559958 3.20369434986642e-05 -6.15881907542299e-05 2.34707646898525e-05 6.0213060050196e-05 8.61982758935582e-07 -3.26252403284558e-05 4.42481343789422e-05 -2.04947217548526e-06 -3.18960895248644e-05 3.98934123328553e [...]
+id7623 1.44142054099316e-05 -1.55552911325400e-05 -7.28008452214717e-05 6.2436614959359e-05 6.60698759089164e-05 3.07150875211404e-05 8.24911569472438e-05 4.74439904455135e-05 -2.06777845415399e-05 -6.6339844675921e-06 -3.27044501659614e-05 -4.46837231630914e-05 -3.38450951470164e-05 5.59600704742932e-05 5.41300691586395e-05 -0.000123355723073922 1.65209087782802e-05 -3.10310506361301e-05 1.60711142895396e-05 -3.05078676702502e-05 0.000123864467654116 0.000134023699288275 -2.579953995771 [...]
+id7652 -8.74196870150818e-05 -0.00011655651308054 0.000139823814119590 2.19653466652694e-05 -8.39241466322988e-06 9.00391177069052e-06 -3.46114328282632e-05 1.08565123205347e-05 -6.31577086679006e-06 4.49783069763658e-05 1.39286099056581e-06 4.7466766094958e-05 -8.0508269017385e-05 3.68805719886935e-06 -3.97709591922191e-05 8.86655280108822e-05 7.27515603647754e-05 -7.54251687232558e-05 -0.000166737637238500 -5.7376794272954e-06 -2.89923749276010e-05 1.02378075038772e-05 1.29665748330854 [...]
+id7733 4.80742043870214e-05 -3.57784999620908e-06 -4.35758250766400e-05 -1.03727679811555e-06 -0.000121230105619333 4.43926428313678e-05 7.47320266996865e-05 1.17188414576202e-05 -2.87266932170819e-05 3.89411418810129e-05 -2.43893088152038e-05 -4.93829436476569e-05 3.52014044298057e-05 2.25119747701927e-05 -1.48762677837112e-05 5.14762499619697e-06 -1.97234443464957e-05 -8.54035773669854e-05 9.39830671315835e-05 2.04122725597233e-05 -2.95643958981661e-05 4.53640863190352e-05 -2.205882509 [...]
+id7737 0.000114518688713110 6.34485851961284e-05 3.41927630674357e-05 2.59524983411110e-06 -0.000135274691069481 5.40725878904049e-05 1.73592413136310e-05 -3.04979792317754e-05 7.17627724430756e-05 -5.19278487308835e-05 -1.16480946920275e-05 2.20043466093523e-05 5.0900013296191e-05 1.83511102839152e-05 -0.000128686610591140 -7.75006586958597e-05 -4.18916513592559e-05 -1.20999712658313e-05 2.22641046072937e-05 -3.52009705057308e-05 -4.09178104070457e-05 1.95409182101774e-05 4.538784863808 [...]
+id7738 -2.60478529359774e-05 6.14407576734121e-05 -2.7134244009907e-05 -4.93628695472542e-05 -1.92449698749336e-05 -1.72458419867841e-05 8.76397436434794e-06 -0.000135583668745760 4.10793703893000e-05 4.30529543567939e-07 4.31572522653705e-06 -0.000111843545566071 7.7829826643979e-05 9.50167358157215e-06 0.000108234105719602 -2.13609765085072e-05 3.90542818592238e-05 6.89039762637909e-05 2.67446395484150e-05 5.32382253551755e-05 1.68865185142882e-05 -2.77576844649834e-05 -1.9871743372682 [...]
+id7771 4.47578227400167e-06 2.84352439381236e-05 5.52183817225744e-06 4.71997201557399e-05 3.34087721044308e-05 -3.90185565821236e-05 -3.65698153614279e-05 -5.43631422749776e-05 -5.27883949320957e-05 -4.52689640153964e-05 -5.99371203231998e-05 6.1224845062233e-05 -2.9751369049565e-05 -0.000101800293608911 -3.84950861943004e-07 -3.75941805894718e-05 1.47469241240754e-05 2.74419891393269e-05 -4.42435793088443e-05 -0.000190086291620306 3.98697909502788e-05 4.77283834889865e-05 -4.7578448908 [...]
+id7772 7.6544020227875e-05 2.35794437403107e-05 4.88715265296459e-05 -8.26090627008864e-05 -3.63539574688281e-05 3.20722449586259e-05 2.9191108778307e-05 -5.45311249876255e-06 2.55904919747562e-05 7.37509023281316e-05 -3.0406115187658e-05 4.64105718922682e-06 -6.91116426224628e-05 5.81579723204017e-05 4.982743038322e-05 2.89133989992153e-05 -3.73350213448748e-05 -1.97226119636772e-06 3.05869527658424e-05 2.11356430945542e-05 -6.00040023162766e-05 -6.1731941068702e-05 -1.00689262341795e-0 [...]
+id7801 1.73754768345705e-05 5.28564639757046e-05 4.367067626422e-05 7.16625644635138e-05 -1.50539808818747e-05 -7.81116798891893e-05 -8.05606549643964e-06 4.57082526958071e-05 3.94758796230257e-05 2.93799679228291e-06 -1.95955987688379e-05 9.01844779018041e-05 -6.48631804717664e-05 -1.72103679050969e-05 5.79200478134108e-05 -3.82554032579832e-05 -3.95544678370196e-05 1.83584784831601e-05 6.38473976986322e-06 8.43506128004436e-05 3.38269838186481e-05 8.55728944747019e-05 -1.88113111915776 [...]
+id7814 5.42485296787955e-05 7.31091982273424e-05 5.35924231177243e-05 7.30688164010704e-05 3.41282857452123e-05 -2.69812105462527e-05 -3.75980660497667e-05 6.89531950034587e-05 1.94806904979290e-05 3.11943691863851e-05 -1.97419520630974e-05 4.64403531837221e-05 3.45897579780623e-05 6.86419424415877e-05 3.89622647773839e-05 1.44736778942706e-05 3.81949772268197e-05 -1.52228498873078e-05 4.82358586836634e-06 -0.000121815805650837 1.36438376559786e-05 5.94810865511877e-05 -0.000112467593518 [...]
+id7835 -8.8870403479537e-05 -0.000159811394686310 -6.1804942259129e-07 -4.74724637523218e-05 2.07737688527859e-05 0.00011207902307186 -1.43498298735966e-05 8.24123265738335e-05 3.51963556006447e-05 -5.45566679478245e-05 3.27811870784122e-05 -0.000112751543839894 -2.78639717120908e-05 5.68491802958681e-05 7.054015803599e-06 -3.29938492061099e-05 2.09346641608415e-05 -7.85765322608647e-06 3.07001681861873e-05 -7.99185184525284e-05 -6.52942044614254e-05 -4.4632709657335e-05 0.00011487666365 [...]
+id7850 -1.15339203572344e-05 3.70764453755538e-05 -8.64460222703744e-05 -0.000170668507705212 3.95292223485967e-05 -6.72567141472076e-06 4.16502464240558e-05 4.13848780295502e-05 5.76137155448951e-05 3.96930506112442e-06 8.63250228518924e-05 -9.36415409705452e-05 5.02214935554895e-05 -0.000182442092175217 1.7725382545659e-05 -2.92386996985533e-05 -1.04128823826479e-06 -1.71939885410476e-08 8.0550102649129e-05 3.16176383350926e-05 1.84024382967819e-05 1.03505688905587e-05 -1.5706073347455 [...]
+id7868 2.7907240183659e-06 3.38648370727251e-05 -7.9375238638939e-05 1.59107769103821e-05 4.58035209335539e-05 2.68511017037232e-05 -5.74707013503362e-05 2.71975412112511e-05 -2.28964439049585e-05 9.38388261611788e-05 5.11482635501134e-05 5.29958491115781e-05 2.09864363774729e-05 -0.000158256498819186 -7.35289243668457e-05 -1.08530020493116e-05 5.55219840520391e-05 -0.00011873781102037 -0.000180325954173334 6.30357139361108e-05 8.03932468102713e-05 -7.29901753721087e-05 7.81646689879747e [...]
+id7909 3.74142976257993e-05 -8.14844189079976e-06 1.25180883616737e-05 2.88213372778103e-05 4.45585056583979e-05 1.61807452252063e-05 2.64229247512270e-05 -0.000106629194131943 -6.23348486074339e-05 -4.15540649717504e-06 -2.80109845222839e-05 -0.000114805630751670 -1.09636328339284e-05 -2.53033142418454e-06 3.04948152676817e-05 -2.63603138742433e-05 2.15860874384622e-05 -0.000113700290885645 0.000109392989847109 2.15772017041357e-05 -9.48388557983471e-06 9.49196743868319e-05 -4.661902353 [...]
+id7939 5.67464509648834e-05 0.000108131583735162 9.61364640274514e-05 -2.72773417349465e-07 2.00057358408268e-05 6.97121817354855e-05 6.42471837135029e-05 -2.04742055816785e-05 7.03764610582893e-05 5.60055844219747e-05 8.53802253480313e-05 5.33818513536588e-05 4.24490881995729e-05 -3.55238420280458e-05 4.17944755855477e-06 6.34980441063666e-05 -0.000260141453033733 2.29713423468125e-05 -3.14766890031321e-05 1.31771691252999e-05 6.2383280466155e-05 -0.000152633344368575 0.0001267251790076 [...]
+id7949 5.30650445800214e-05 8.03992184189135e-05 0.000140049900860225 5.79129408732308e-05 3.5427274568059e-05 6.10488990216237e-05 -3.75266095764746e-06 -7.71912123517114e-06 6.4695075546216e-06 -9.11350205046695e-06 9.09653004444077e-06 -1.16077829864511e-05 -2.714640826827e-06 3.59744602275328e-05 6.15961204752198e-05 -0.000378218481697644 6.8384967437627e-05 -1.96526898538933e-05 7.89837184060452e-06 -0.000130460684544043 0.000100038394985636 -1.58888416481275e-05 -2.50869851059941e- [...]
+id7952 -1.59728011841735e-05 -1.21358151054549e-05 -2.12709778316229e-05 5.47458697948514e-07 1.48688217205247e-05 9.09487385938482e-05 2.07254727992785e-05 3.09292126749547e-05 7.05928691098364e-05 1.54811015185262e-06 1.49621652933502e-05 -9.29043580218406e-05 3.3661322228333e-05 4.6263236040611e-05 -7.15017524781836e-05 -6.90338327029071e-05 -2.13906576594028e-05 2.47672533349199e-05 7.06331665680942e-05 2.67146606183486e-05 1.73888769559999e-05 -2.60711328810129e-05 0.000103075287035 [...]
+id8059 -5.71928622153213e-05 -8.676142317759e-05 8.84289436964922e-05 -2.37698563496233e-05 4.56604591520146e-05 5.83242222130034e-06 -7.4464163095102e-05 4.56501499230539e-05 6.10050433587537e-05 -1.54487628133768e-05 -5.97937673354159e-05 -7.36609347775946e-05 -0.000160428610445887 4.1716772366369e-05 7.57391344582907e-05 -4.14207069411015e-05 5.21671364849965e-05 -0.000129757376559181 6.4495368541883e-05 -0.000106412480791515 2.59982384898371e-06 -4.12164768784453e-05 -2.1212951308777 [...]
+id8109 -4.07304899591825e-05 -7.91722860740673e-06 3.51133835065517e-05 3.00768504789592e-05 1.11847681445815e-05 -5.62648287035815e-06 -3.67127774792767e-06 -4.11359123473023e-05 5.96258611199474e-05 -9.42348879342861e-05 -3.26403232532013e-05 5.07449352499719e-05 5.43950002668402e-05 -0.000108306513642539 1.74574462112179e-05 2.63447622759921e-05 0.000108590176465049 0.000107740542686221 1.08649451608256e-05 -1.75565858402252e-06 1.90493838413158e-05 6.94379589029443e-07 -0.00011690880 [...]
+id8115 2.79697284442653e-05 -3.65676872715967e-05 9.94574129059315e-07 5.03273838069172e-05 -1.63781870230339e-05 2.92080704529232e-05 5.37372250950223e-05 -2.72372933805132e-05 8.11779717874482e-05 6.37950356076197e-05 2.58098427293893e-05 9.38193659941973e-05 3.86629230343422e-05 2.3791552064956e-05 1.54169150690916e-05 9.04386505122914e-05 5.31018003307426e-06 4.43403566203557e-05 1.60469867508596e-05 1.26013640491376e-05 2.92871217006506e-06 -2.94019909077422e-05 7.5867300941686e-05 [...]
+id8128 -6.33007192303883e-05 4.0531358650719e-05 9.39088220666567e-05 -9.49774029811986e-07 3.79996522539454e-05 4.14601251694800e-05 -0.000113367791657051 -7.45053120726455e-06 2.73311922666568e-05 -2.77665645469103e-05 0.000150636010279682 -0.000200361771662998 2.72665381940079e-05 -7.61433293284194e-05 3.19923413127662e-05 8.37761378501397e-05 0.000121958623303737 -4.22080383782129e-05 -0.000156610680180905 8.24330912133366e-05 -0.000120445124370159 4.13929359827562e-05 -6.94821325730 [...]
+id8136 3.8080397817566e-05 4.89340021534083e-06 6.98576756946866e-05 -1.30941313745046e-05 -0.000263234990323031 4.4503539544369e-05 9.75751040176971e-06 8.38834076905938e-05 0.000102048937511391 7.95698044187001e-05 -7.32652048314807e-05 1.55636478471099e-05 -2.45982365312272e-05 -4.09287018304963e-05 3.13899480831455e-05 4.79294417797859e-05 4.84656618433053e-05 9.68330936807092e-05 1.29636552386129e-05 1.52086021161964e-06 -1.85769056380186e-05 7.96533135725447e-05 -2.53569271872462e- [...]
+id8138 -2.36269446650998e-06 -5.97246543092056e-05 -1.68616763704864e-05 3.86467997063545e-05 1.68993689855239e-05 2.97170537753301e-05 -8.29853443312675e-05 -6.35812562139725e-05 -2.70086164118087e-05 7.52640149575073e-05 -6.58038267711318e-05 -2.18087007685236e-05 2.88489764777625e-05 -0.000170149262906238 2.83691130413343e-05 4.60115581978272e-05 6.45845972229334e-05 -8.86760740648225e-05 -3.35468637731355e-05 -5.93953679669614e-08 -2.47411871268332e-05 1.26010205312898e-05 1.78486491 [...]
+id8143 7.19798462061088e-05 -1.30099320832142e-05 -1.74560488944890e-05 -3.59586869805578e-05 -1.95338484446044e-05 8.65943417838461e-05 -5.2153708544421e-05 5.90085501499134e-05 3.33844510122340e-05 2.76701342461092e-05 7.21083043522221e-05 -7.82964329928888e-05 -1.36400745144706e-05 -3.71878807179467e-05 1.24670916583705e-05 -4.48663055694889e-05 4.21383936975315e-05 7.9758398974824e-06 3.21645045865647e-05 2.64043882104118e-05 -0.000124499927480418 4.42298911382744e-06 -6.345241233228 [...]
+id8208 -1.74121940163408e-06 7.29492469131523e-05 4.46634377317317e-05 -1.97834544772253e-06 6.78711728040909e-05 -2.72831472103349e-05 2.02540025916533e-05 -0.000110737530847574 1.46554665403649e-05 -1.30892456748357e-05 -3.39686392878485e-05 4.45540597508764e-05 8.6819377869516e-05 5.68439147794856e-05 -8.21623955984316e-05 -1.82590675945758e-05 -8.05802161013689e-05 0.000123148587024945 3.25392242647008e-05 7.17762893532076e-07 -8.7924659587383e-06 6.06479590208773e-05 -8.597528478740 [...]
+id8213 4.28520788268714e-05 -2.88200826558689e-05 9.70891538764539e-07 -0.000102228954647308 1.90277862726952e-05 7.85830701128215e-05 1.45631446935375e-05 4.57399465374298e-05 6.12554182803459e-06 8.03163734330916e-05 8.95593697833702e-05 -3.86333124160611e-05 -4.87441037427544e-06 3.86896309126622e-05 9.85290417297703e-05 6.29363785153268e-05 -3.84391255783495e-05 -3.82901785369769e-06 -6.32523408811589e-05 4.9549522298568e-05 -3.91797744708259e-05 -4.31584518186895e-05 4.1594658168219 [...]
+id8268 -3.56945215111395e-05 6.55733416277694e-05 -1.42205103032392e-05 6.93673271178484e-05 4.24487386270099e-05 -5.47869045609413e-05 2.27959558981368e-05 5.75019993506594e-05 2.35546566040240e-05 4.72796449930438e-05 2.39351250180995e-06 4.38352007813022e-05 1.20587822266610e-05 4.14837808584604e-05 -0.000327015698820867 5.89016333914676e-05 -7.3583299206394e-05 -9.43536048013453e-05 -6.43316227878531e-05 2.07505328789018e-06 -2.15319095170295e-05 9.03329888218772e-05 -1.3805769795009 [...]
+id8281 4.79137098515165e-05 7.76696894520732e-05 3.52513534315502e-05 9.63189880913299e-06 7.60570691919457e-05 3.80336047233742e-05 -5.73783502077607e-05 8.67987982702052e-05 -7.28227079021838e-05 -8.26821276794069e-05 7.72882531400612e-05 1.82363816819543e-05 -1.12357991215854e-05 5.59826536773678e-05 -8.19872125318622e-06 2.59573599456242e-05 -8.99867531285916e-05 6.0720678692596e-05 4.54405984461898e-05 -5.81352927825397e-05 3.77783566326512e-06 -1.06026074121691e-05 4.89769088389888 [...]
+id8286 -1.78933702588758e-05 -3.19678887267551e-05 -2.85972138134823e-05 3.83247149873989e-05 -5.99850176844548e-06 -6.5891231188795e-05 5.91683830797876e-05 -4.69304292332107e-09 8.30274153728948e-05 -4.19439804723592e-05 -1.43031597947719e-05 8.87176105576577e-05 1.9792217369504e-05 5.3138105243277e-05 1.47612403973643e-05 5.6061558718718e-05 4.38058590076139e-05 4.69877448086915e-05 -4.90151390804252e-06 2.14223043934016e-05 2.97802123644021e-06 6.32357136577442e-05 2.29952143223560e- [...]
+id8326 -5.15665758546734e-06 9.31660920358286e-05 -4.89173105845558e-05 -5.03500187399599e-05 6.0560284842722e-05 2.92658064434403e-05 4.38841477714172e-05 -4.15198225693327e-05 2.40901782207502e-05 -6.52586510057914e-05 7.38174222635693e-05 7.73937594805703e-05 -2.48228845430046e-05 2.16168035698093e-05 9.5532995754849e-06 -3.49137011757100e-05 -0.000387981059326333 1.00821674061475e-05 4.13161509242096e-05 1.16363820223519e-05 7.35148955653139e-05 -1.95179363767470e-05 -5.1955989034075 [...]
+id8400 5.75686719921401e-05 6.37351803013642e-05 -8.48655930003262e-05 -4.1340946127239e-05 3.38042714270203e-06 5.09321146880835e-05 4.31193967079584e-05 -6.42066632499321e-05 -7.94982009933523e-06 -3.26056744622466e-05 2.68798940422282e-05 2.39662732639443e-05 -5.49908042707468e-06 -1.31847259249965e-05 -8.81905736462032e-06 1.57602328841881e-05 1.16780580503470e-05 3.66283992092884e-05 -1.92004421527071e-05 -1.06547218263529e-05 6.32221203369511e-05 -0.000172195231589205 -1.3297292836 [...]
+id8423 4.44936100519528e-05 5.49632459735885e-05 0.000109527788137410 3.15110121230032e-05 0.000102950033157161 5.36957989742461e-05 1.66401074124183e-05 -9.46626636755758e-06 2.90238222793378e-05 -4.92642856974173e-05 4.57541565205881e-05 -9.94246481790905e-06 1.19384182517518e-05 3.03120651367302e-07 -5.62040122635237e-06 4.13679268064341e-05 -5.26519653498968e-05 1.95635129763304e-05 -1.24333050154132e-05 2.68121679332692e-05 -1.90079693466627e-06 5.5550199626627e-05 -1.48672541776975 [...]
+id8433 -6.46235497251099e-05 6.46867758569858e-05 2.84974035591245e-06 4.62727539983507e-05 3.20586537649939e-05 8.14706094263298e-05 2.63113472045966e-06 3.72639152797639e-05 6.11434692539742e-05 8.78772575265797e-05 5.87589993563397e-05 1.51294839951711e-05 -2.55620263865536e-06 8.76712334366396e-06 -2.83162441104218e-05 7.49304663485496e-05 -5.57103084899872e-05 1.75060705582697e-05 0.000106974659678488 1.21245699664270e-05 -3.07284404269815e-06 -4.18597130641665e-05 2.92040628941983e [...]
+id8517 -2.67180110646163e-06 5.99407082280232e-05 -0.000184044903880095 -5.70370717974643e-06 0.000118485415296601 9.53381283927783e-05 9.88570273089745e-06 -9.45444264941998e-06 -1.92489419670442e-05 -1.39882628709834e-05 4.63364305940693e-05 5.0558170525362e-05 -1.33164500891687e-06 2.47288030120055e-05 -2.00244162919280e-05 2.14134010162998e-05 -3.39620954436370e-06 1.66688808403758e-05 1.10548032157508e-05 -4.10860251431035e-06 -1.01574276991744e-06 9.47145131874512e-06 0.00010105835 [...]
+id8583 2.33679819994886e-05 6.39108663819537e-05 4.51838006216912e-05 2.92693063419087e-05 0.000101584989953955 5.21969428505211e-05 5.72099608257085e-05 8.89126375202394e-06 -0.000124616025634745 -1.00178861911744e-05 -3.89808768490167e-07 -0.000124522874105146 -1.03786964886306e-05 4.1111967288128e-05 8.18087650657455e-05 -4.27425015045698e-06 -8.6935710140625e-06 3.51592141986968e-05 -8.41458382884794e-05 2.26413173726949e-05 -9.20430296849357e-06 2.36415245551163e-05 -0.0001258491962 [...]
+id8604 -0.000140812914088431 0.000115197510841662 -0.000136759621348016 2.26212825370696e-06 5.7310985640359e-05 -2.81913998145690e-05 2.22335497629489e-05 -3.37903189729009e-05 -0.000117277142334872 0.000112792184241265 2.08936519671524e-05 2.92980645818619e-06 4.01447567606633e-05 5.58835892251872e-05 5.75996322771816e-05 -3.83743883207231e-05 9.28635513464078e-05 1.70918178258417e-05 4.80303881930927e-05 -3.20088513881673e-05 4.47613014764187e-05 6.43040965828004e-05 -4.48836900609185 [...]
+id8614 6.01052756265009e-06 4.66677260448955e-05 1.95609379882249e-05 8.59794010677755e-05 -0.000202695707457046 1.93580311117450e-05 1.72455754107162e-05 -1.33163405962481e-05 -7.10641685220536e-06 -6.03556406407677e-05 0.000147492895864384 6.19112718390785e-06 6.54549723219344e-05 -0.000142487261871412 6.47346515023739e-05 2.03902662983291e-05 7.65546263798807e-05 -2.32657765592091e-05 -4.13169128778667e-05 7.62257942744934e-05 -2.70521754345652e-06 3.60556720680013e-05 -7.459035905064 [...]
+id8690 4.67342592040397e-05 -0.000138859663830304 3.03939132639537e-06 3.5607698781049e-05 -1.93391054840676e-05 5.6340004320433e-05 6.61988815158129e-05 -4.93643574307448e-06 -0.000247406930251064 0.000123152032985086 1.98289165133049e-05 1.30601184779029e-07 -3.47560058746756e-05 1.85378642842004e-05 -2.53465944733886e-05 1.24906838269102e-05 -6.80684190697019e-05 5.57069867646128e-05 4.27184718150273e-05 -2.3908626914272e-06 -4.65226958137025e-05 9.98529413839946e-06 -8.0346360363416e [...]
+id8693 -3.15144973337887e-05 -0.000168435340360918 -2.77273020068009e-05 7.8002827815312e-05 -2.13065240908373e-05 0.000139644099293926 5.76330677889971e-05 -2.24898510410869e-06 -1.72776098310946e-05 -9.63936565226613e-05 8.14041821662983e-05 1.71748901089429e-05 -0.000237031673651273 3.71365269563411e-05 -0.000107840073018613 6.05734303497722e-05 -0.000112338871779186 -7.67809151616336e-06 4.99204640488669e-05 3.59684958854000e-05 -5.2133413572062e-05 4.42164939046661e-05 -1.6470467028 [...]
+id8729 -0.000107643162810728 6.99077539975225e-05 -0.000122395306793631 -0.000147166749327459 3.81843156446381e-05 1.54084716478487e-05 -4.33130749885384e-06 -7.73430531450496e-05 3.02482085004234e-05 -6.22100450186426e-06 7.81848439273413e-05 6.01901896976743e-06 4.48918225093605e-05 -7.67380402627713e-06 5.95368047791403e-05 4.1928981539612e-05 5.25265258128763e-05 0.000141308103205134 -2.17146892515719e-05 -3.21491937085559e-05 7.01206681697765e-05 -6.10915308401222e-05 7.692893293421 [...]
+id8752 1.66740580045953e-06 4.22235956570371e-05 9.03060330659616e-05 -9.34117209103821e-06 -3.00825090186499e-05 1.91564758753971e-05 1.63060902835139e-05 -4.49113251402574e-05 -9.51401915862506e-06 1.93961754965103e-05 4.06940788138888e-05 -7.64700437269073e-05 2.43623496775454e-05 6.35162280848695e-05 -6.15397360480679e-05 -6.38241356961669e-05 3.38093001444059e-05 4.11662285346408e-05 8.91569480945569e-05 -7.43340376886376e-05 -8.49326400013402e-05 -1.89854304175104e-05 -9.4295260090 [...]
+id8753 3.26270367543907e-05 -4.47755007107943e-05 0.000109961642095055 -6.38683185837094e-05 -9.33398714138383e-05 3.51360724852814e-05 -6.8621162500902e-05 6.66070393151303e-05 4.47641371742905e-06 5.64833009903305e-05 -7.06304737444934e-06 6.90063879013023e-05 5.89661798434222e-05 5.3755024993878e-05 4.10298286341072e-05 -1.85658104352320e-06 -5.34182127209832e-05 -2.98103760080136e-05 4.42089793443155e-06 -8.59089141853689e-05 1.71263417808498e-05 -0.000116578345974077 -0.000102465668 [...]
+id8772 8.34292590354997e-05 0.000119918904192823 4.7028603730262e-05 1.06134266213135e-05 3.94277231563156e-06 2.48923172789927e-05 3.38991933933249e-05 2.21869561375867e-05 -5.16084095342402e-05 -1.45902220685320e-05 5.00971124082926e-05 7.21811379395611e-05 -1.94827937557856e-05 6.29714516416829e-05 3.60181840652203e-05 4.25724078980403e-05 1.92682086420578e-05 0.000149647220335906 -6.9094991775615e-05 -3.38252303302340e-05 3.80703989345236e-05 7.90574703874959e-05 2.51869138101923e-05 [...]
+id8801 5.41819017871879e-05 -4.69880066295627e-06 1.39790554406024e-06 -4.78120517494282e-05 -4.42918705431866e-05 -0.000149573207290621 -1.80619010495584e-06 2.12759501181468e-05 4.9710060250317e-05 -1.36886946498838e-05 -2.77099529318285e-06 1.79996234414511e-06 -4.84041801626895e-05 -1.33263339665344e-05 2.66105155902149e-05 -5.04392614022905e-05 -3.34723885138311e-06 -2.98538276629152e-05 4.10359071907846e-05 1.79414249511403e-05 -3.17370548794172e-06 -9.85831544283627e-05 7.93349371 [...]
+id8819 1.60061307691061e-05 5.69410749378995e-05 8.91729849377716e-05 -9.78760993024603e-05 0.000131172361818428 6.5810817553976e-05 4.91002635415126e-05 -3.4236825061009e-05 -2.18856088144039e-06 -1.89075936825911e-05 -1.82730821128278e-05 2.19329791708360e-05 -5.11720749760101e-05 -8.96113364268371e-07 3.11652263790417e-05 4.35780019590105e-06 1.55381898225037e-05 2.35413289870454e-05 -8.60758813886728e-05 -3.86846040249271e-05 -1.17520526355809e-05 7.64072438993513e-05 -5.222072184745 [...]
+id8842 1.57932849042834e-05 -2.2359380802394e-05 -0.000157281776299325 -4.67965185184166e-06 -0.000146255196764668 -4.12187395644361e-06 3.38003234469883e-05 -1.33325494134667e-06 6.014324249925e-05 -0.000113683311241586 -2.44119825831752e-05 3.72967843581046e-05 2.26572704323621e-05 -2.94376025046324e-05 8.54645041675932e-07 2.76785699990143e-05 5.05521637562263e-05 5.26489413990815e-05 9.981658607186e-06 3.55269565956673e-05 -0.000123981535727389 -9.55905079894392e-06 4.24468551049331e [...]
+id8859 -0.000114274008852571 3.00474208129841e-05 2.29328808081274e-05 5.65580070761602e-06 7.12095430675182e-05 4.10722102407040e-05 -1.73477891655735e-05 2.77344152466473e-05 -6.0800287282597e-05 -3.57916329560318e-05 -1.03520133587262e-05 -0.000112288894532366 -3.15601855744404e-06 -3.19907422113093e-05 -3.1887381436529e-05 3.0889154940959e-05 3.87499891849898e-05 6.1094842364353e-06 3.79032642661885e-05 1.58397242324435e-05 -2.50516842463741e-05 1.30327366783932e-05 8.75737857859964e [...]
+id8865 -9.47625870957498e-05 2.20418424867677e-05 3.83447538560876e-05 -0.000125280010139645 -3.89210627374242e-05 1.44407383490840e-05 -6.0336585042728e-06 5.72836712304723e-05 6.93333859592327e-05 -2.70889947530952e-05 -4.04274470957347e-05 -7.42715235119894e-06 -5.46599379342958e-05 1.60775194090232e-05 -2.73631440582359e-05 2.74235405328313e-06 7.07270817405451e-05 -0.000110551874851972 -9.89191138626394e-05 1.9965187252893e-05 1.01997378666523e-05 1.82940803468149e-07 2.910414484006 [...]
+id8880 -8.50916120791159e-05 -8.65258097316308e-05 -3.82965347861041e-05 5.97538737125248e-05 4.07404452399814e-05 7.72178677240232e-05 -1.26096219170992e-05 -0.000122882221622646 3.73886535008763e-06 -0.000102831849110799 6.87944391386295e-05 4.10686311846627e-05 -8.29602399345628e-05 6.80984049486579e-06 2.48401086969391e-05 -1.32622565245111e-05 -3.26433628502393e-05 -2.94629566684716e-05 5.31959404976966e-06 -1.42632685939310e-05 7.47773164213394e-05 6.18573238993851e-06 7.9926723050 [...]
+id8890 8.1141930013353e-05 5.33015559411986e-05 -6.84858202714952e-05 -5.20202805923652e-05 3.09949176701298e-05 2.76855715278601e-06 4.65269244782739e-05 2.18316747347496e-05 4.10982999811056e-05 5.9782777027866e-05 5.40358460016438e-05 9.03267375957273e-05 -0.000100994135795398 -2.4321361350211e-05 -9.12855985763723e-05 -3.2765185807721e-06 -1.46107681469182e-05 3.70807187949754e-06 -6.19070002508206e-05 -3.66828727554837e-05 6.07284520804659e-05 -1.84504327676216e-06 -3.03522978273242 [...]
+id8894 -9.24800504618967e-05 -3.28364894912215e-05 -5.38814680806753e-05 1.29957872369408e-05 -0.000193072783460236 8.18445714162251e-05 -8.62387154192671e-05 9.48760742034631e-05 -2.58351133354281e-05 -5.27345260610761e-05 2.44474180441864e-05 5.22313513171324e-05 -4.3423287311736e-05 -2.08103174744535e-05 -4.54132194470127e-05 7.07775871690175e-05 5.13021907790185e-05 1.52337467175246e-05 5.87480587807338e-05 -0.000119612986375393 2.83630130672477e-05 7.6781459966319e-05 1.138481796695 [...]
+id8917 -9.83526182511095e-06 -6.98353727446069e-06 -1.79884589402403e-06 -4.73222864346627e-07 9.27354170012685e-06 7.55915451993557e-07 -1.55254662636764e-05 -0.000154679416726297 -9.03600778852316e-06 -1.91093241264875e-06 5.52407861764544e-05 -0.000146929676951530 -0.000170641545458182 1.01937484751699e-05 8.04598918033677e-05 0.000112588133113185 -7.80862165608363e-05 1.21488887408757e-05 6.93383181755561e-05 6.31039092291277e-05 -9.2913497231402e-06 6.07448247807238e-05 1.5867305011 [...]
+id8930 5.25181593724522e-05 -0.000181430539693219 7.06777021157737e-05 3.06644074472407e-06 -8.75860454126746e-05 3.89509214720064e-05 1.87228279553188e-05 6.64055255963179e-05 -2.50419748061138e-05 2.87774553760511e-06 1.42821390170450e-05 1.36480879862192e-05 -1.93341811470243e-05 -5.26019595120235e-05 1.33081572279190e-05 -4.6152299925242e-05 -5.94241437784489e-06 -8.6465584406831e-06 4.41853766943891e-05 -1.72451671455255e-05 3.91139074976921e-06 3.31401256627795e-05 1.08324943425069 [...]
+id8935 -6.53869489217815e-05 2.61916395056976e-05 1.16875414103253e-05 4.85410620595001e-05 7.11825939748533e-05 6.60073637748126e-05 -7.11535681565342e-05 3.83906074213407e-05 -7.5242050370571e-05 1.7639852473731e-05 1.23167244543763e-05 -8.9385286235168e-05 -0.000100675805667895 6.06704887346417e-05 2.54926817821252e-05 -5.44981535230459e-05 -4.12150095925406e-05 4.68632702030846e-05 3.48997773644899e-05 1.50253959686591e-05 -1.02465942464272e-05 0.000133445053137959 -0.000122926745409 [...]
+id8957 -9.11146014030672e-06 1.56328988783731e-05 -1.22461576386616e-05 -8.51414131428678e-05 3.05938281412528e-05 -2.14759157077131e-05 -5.15881821612879e-05 -1.64526362936012e-05 1.68251037906921e-05 -6.09701809328819e-05 2.19884530877527e-05 1.95452321929775e-05 -5.62132683583984e-06 5.56325628667728e-05 0.000112370921970518 0.000108024441989691 6.40715306620504e-05 2.72695857662814e-05 -0.000134510613981425 7.2886669840164e-05 3.33844065696622e-05 -5.56853416056994e-05 2.004527983049 [...]
+id8996 5.6829504471745e-05 -2.45838675844505e-05 -3.16485339184261e-05 3.68506514393552e-05 1.99627711423438e-06 1.7429174138902e-05 -5.06143694699136e-05 -4.96812466873877e-05 -5.78592170729153e-05 2.95121294868320e-05 9.74985749268618e-05 9.1754835954549e-05 -5.46869976488156e-05 -7.9540458018044e-05 -2.43929522390053e-05 6.27053710228277e-05 2.90712781129736e-05 1.69942977561444e-05 -1.48652585090938e-05 -6.03006657235942e-05 -1.50578253340212e-05 7.71702972179508e-05 -1.2781056854638 [...]
+id9020 -4.29192446438327e-05 4.3227904883049e-05 6.1626969340158e-05 -4.9246448188585e-05 3.96028410894416e-06 4.14492818297501e-05 2.87878975978818e-05 1.92902941368153e-05 7.74327935601182e-05 3.68250864549542e-05 -3.31657063369789e-05 -3.42972903982617e-05 6.21532335100325e-05 6.02760231615468e-05 4.28025228160295e-05 4.1018506007432e-05 -7.42013387976348e-05 -3.50581112978001e-05 3.49296693739128e-05 7.15648497484171e-05 4.41554134693297e-05 7.88306694873257e-06 3.87547110456618e-05 [...]
+id9026 -0.000163775630216965 -2.03387012645713e-05 3.46450680538368e-05 -0.000195767256095357 -7.57392235478212e-05 7.14529301821574e-05 -3.87026270329252e-05 -6.5015105152667e-07 -8.60626626720296e-05 -2.13310934974931e-05 9.26673977471277e-05 2.45886804712125e-06 1.37780344576092e-05 4.08545554179674e-05 3.25755790299374e-05 7.15426860845668e-05 1.30859140558160e-05 4.66677018765667e-06 -0.000137543397878329 0.000111872643342669 2.64599546581578e-05 8.65960639827127e-05 1.9618733602802 [...]
+id9033 7.27421453200218e-05 -0.000105037618458648 7.83151431569038e-05 1.08085301932679e-05 -3.61456130115633e-05 3.14716994053250e-05 5.53003098508662e-05 -9.16655174057527e-05 -1.77037328418837e-05 2.39744767548309e-06 4.936881441751e-05 3.40472748908936e-05 -5.63341771052141e-05 5.69401659465855e-05 -4.0411118907264e-05 1.13642403869346e-05 3.74219651151120e-05 2.22639222617783e-05 1.11198193574859e-05 1.04663428875812e-05 2.89412851078992e-05 2.33084253479534e-05 3.6667742129551e-05 [...]
+id9058 -3.9318648008536e-05 -1.29409954729533e-05 3.06312961076278e-05 4.08244708551789e-07 -9.1936733043442e-05 6.16432841070382e-05 4.50512088075465e-05 -2.93151891681629e-06 3.67610176999989e-05 -0.000126892205770323 7.02863979835631e-05 2.67044166241444e-05 2.74336037405981e-05 8.49537388003637e-05 -2.77442162309112e-05 5.45403579447574e-05 -5.1406736592081e-05 -0.000133017420410465 3.62045765299088e-06 3.96401982823729e-05 -2.87978669648948e-05 -8.85932046869834e-05 7.47441632111316 [...]
+id9061 -1.57704563562788e-05 1.08875441987827e-05 2.64680233363604e-05 3.55939473207458e-05 -8.51619533940723e-06 -0.000182670193587516 -3.00748177235004e-05 3.42831579033414e-06 2.62549660781154e-05 8.12480180390852e-05 -4.38704712292664e-05 0.000107612920413389 4.32882461244050e-05 2.57849589376039e-05 8.136444840818e-06 3.36946375479598e-05 -9.19276273421233e-05 -4.05771593237157e-06 -0.000397133630426532 2.31674302478645e-05 1.49973129886404e-06 4.7590386873281e-05 8.83283034751407e- [...]
+id9082 -4.19495074783056e-06 4.30851435504195e-05 -2.94762472728930e-05 3.61369111351553e-05 1.63216446332866e-05 -6.72162274700991e-05 7.9321464455335e-06 1.54523872015426e-05 1.36823311704766e-05 2.34329870574798e-05 -3.85075611796783e-05 2.82685094718626e-05 1.23577459670686e-05 9.19980435110944e-05 -5.89565852912649e-05 -0.000286484865431019 0.000100383938572277 2.63584973336431e-05 2.86656638719103e-05 8.92627737645205e-05 -2.82534863885863e-05 3.67366145862202e-06 3.99604599447931e [...]
+id9132 6.09256639281592e-05 3.41023903373798e-06 4.46696280537439e-05 -2.11933687651754e-05 5.46021736494933e-05 -9.13574089595403e-05 -2.27513880557298e-07 -2.04546687021961e-05 2.31475604505137e-05 -8.20653596170516e-05 -2.39431757648663e-06 8.5546383291402e-05 6.41444032520055e-05 -0.000187595220714613 -2.12254217906990e-05 3.00960015124972e-05 4.44532484080714e-05 1.41506904324029e-05 -0.000108947823227506 8.75204441357038e-06 3.88929990746401e-05 -5.24723593525274e-05 0.000116080750 [...]
+id9166 -8.02853661171895e-05 -0.000277519373124283 -9.70958186569744e-06 -7.96745409079744e-05 8.34121984590908e-05 -0.000129321462183395 1.83494701291080e-05 7.21827718054327e-05 0.000125090884175065 -8.7563498163834e-05 1.22160751680750e-05 -9.18336902687788e-05 -1.19457680561233e-05 0.000107220647963201 7.30368971074946e-05 4.17302675244218e-05 -0.000115818147168931 -0.000172548503896113 5.00115914771072e-05 0.000137668199824639 1.04350432635711e-05 2.09391630175504e-05 3.189961747954 [...]
+id9178 1.59881318823181e-05 0.000113719108298262 0.00010620314403027 3.11099029263451e-06 6.87152487835425e-05 -5.53809604786764e-05 6.50761534229088e-05 7.87737559290753e-05 -1.7178101798934e-06 7.16631947870743e-05 7.32244432042444e-05 3.50024042035192e-05 5.3380076191363e-05 -3.10968825879101e-05 3.79419708433169e-05 6.12413793715862e-05 -9.09314727549079e-06 9.20352347484566e-06 2.90431462497985e-05 8.67053374269434e-05 -5.82650182024705e-05 4.6272884795664e-06 4.2264685126519e-05 -0 [...]
+id9234 -3.73045386092065e-05 5.89730199848292e-05 -0.000120072789983699 6.81041009235093e-05 1.53172964663212e-05 -4.38874477692476e-05 -1.09222349140728e-06 -0.000109550447697171 0.000134513988218166 2.30029073246264e-05 -1.63401454949773e-05 -8.79335574605861e-05 5.31386373153925e-05 8.0975181612612e-05 -7.08586821599618e-05 6.70795207959262e-05 1.91196208430457e-05 -3.5033141791834e-05 -6.07964966254439e-05 5.01077074870913e-05 -8.19311713645733e-05 0.000121086754622301 5.576649024407 [...]
+id9238 -1.61911867428673e-05 5.03728370232792e-05 3.80981469616905e-05 1.30998207496746e-05 2.41617653516963e-05 6.94538951810473e-05 -1.02114710497802e-05 6.6092519334454e-06 3.0433560651071e-05 2.26710678508888e-07 1.91731210899273e-05 5.35962567123869e-05 3.52440171355571e-05 5.38639551447534e-06 -1.90483622156239e-05 -1.87844414271136e-05 -7.36676134858877e-06 0.000110890438259531 3.75524952951607e-05 -3.86455219049406e-06 7.13721757260506e-05 -1.25496977864303e-05 9.5369839157521e-0 [...]
+id9242 6.17620672834314e-05 6.23428651851687e-05 6.15746669725206e-05 -0.000103973177575012 1.47243201274676e-05 -3.21976276257828e-06 5.14379358760559e-05 -4.49899416886354e-05 3.31993293447665e-05 2.97051985922768e-05 -6.07371820868439e-05 7.34621330188945e-05 4.93352640180686e-05 -7.47653919550726e-05 2.15409556703138e-05 -2.04182451576431e-05 9.68700874333908e-05 9.29381014314844e-05 5.46301943913797e-05 3.9809606918303e-05 6.38583926953013e-05 1.93879908372527e-05 1.3381795257887e-0 [...]
+id9259 0.000104570147596396 2.52803184630288e-05 -5.92122453775554e-05 3.16129833074445e-05 -3.51841894198003e-05 1.56589285623324e-05 8.82169376196099e-05 -4.09219277309503e-05 9.92689993283916e-05 7.94198068117088e-05 -0.000115223004255187 7.26209008876189e-05 0.000107103860391429 6.47482715060062e-05 4.86561305190524e-05 -8.62165727211076e-05 -2.31334232406905e-05 5.73134569433135e-05 1.97152943984404e-06 0.000101301259061597 4.18519361741884e-05 -0.000102007687219006 6.62884871919379 [...]
+id9266 7.74723585556936e-06 -2.08324685762573e-06 4.03447462382841e-05 -2.11241184555173e-06 5.96618540484894e-05 -1.87123142628009e-06 9.74689615690869e-05 0.000104610399029488 -6.80337130353697e-05 6.97921709469226e-05 1.8904455852211e-05 2.72362923957779e-05 -6.19992460015252e-06 4.17435826431804e-05 -1.9757726941192e-05 3.85363003704938e-05 -6.3703543215061e-05 8.06549005699101e-05 -2.06605842941663e-05 4.73955554632742e-05 5.72577833861186e-05 6.74053328396136e-05 7.41645498117334e- [...]
+id9321 -4.65686142713639e-05 6.00358688096087e-05 1.28769425457809e-05 3.31810665855988e-05 6.56893054393265e-05 -2.3928481542227e-05 6.06532561468646e-05 3.36070674609726e-05 -4.38900876508238e-05 -2.29117468390249e-05 4.3332905141985e-05 6.53306778595931e-05 2.33506509432473e-06 3.98408169263784e-05 7.65241839566768e-07 9.1123258076515e-05 2.94533422799327e-05 1.15496291465344e-05 -4.86622512685895e-05 6.85763283201607e-06 2.52927167162796e-05 -4.87021625522593e-05 -2.43798433022971e-0 [...]
+id9340 2.27651671874662e-05 6.58066794650058e-07 6.9920592584714e-05 4.401921917198e-05 -0.000259128127850171 5.09728320046389e-05 -1.85928295114198e-05 0.000120484977189809 -2.87932411368448e-05 0.000103161115525670 2.35006404901731e-05 4.81207061209852e-05 3.10279952862695e-05 -7.9878092904187e-05 1.95146068316476e-05 3.83732823446273e-05 3.34662553792727e-05 0.000112304847319456 6.00648285766794e-05 5.61079565252819e-06 -1.01928422704942e-05 2.78656693242582e-05 4.39204957241931e-05 3 [...]
+id9408 1.68265576159664e-05 -6.17197766159736e-05 -2.72946211763964e-05 -7.73277565978465e-05 -4.71307238921925e-05 3.73188404478368e-05 7.7772794131606e-05 5.28319034622695e-05 1.49007231490564e-05 4.05015576874758e-05 2.66390635001666e-06 3.66812480428517e-05 -3.18302784605186e-05 -2.44069496813254e-05 4.02277960124414e-05 6.53890185616374e-05 6.59198956536933e-05 -1.40569652367106e-05 1.47103588374623e-05 -2.18090786483333e-05 4.17447436106576e-05 -1.75090846679174e-05 2.6021878388810 [...]
+id9410 7.8411413162424e-06 -0.000109656696212644 -8.59376219859114e-06 9.862366443621e-05 2.52686309486840e-05 -1.84164090745621e-05 2.22563050700981e-05 0.000110788423190136 2.4567388440438e-05 6.89058688401652e-07 -2.4164859010972e-05 4.41866936237272e-05 -1.09922877115206e-05 0.000101611289351456 1.59149929779252e-05 2.46847587948385e-05 -8.4031200318852e-05 -5.9855555884749e-05 3.89120210341836e-05 4.57727856685747e-06 -7.7249489800116e-05 -5.08732251017136e-05 6.79631802203696e-05 - [...]
+id9411 5.71662175473118e-05 8.55174095098158e-06 5.17620959027298e-05 7.90444606597616e-06 7.3426847485635e-05 -1.70736132917026e-05 -6.90537703244226e-05 6.49795220603472e-05 -3.1702795505094e-05 5.69031075265243e-05 2.81300310578594e-05 1.54881820739418e-05 2.98847242738937e-05 -1.17422719369207e-05 5.25235282552664e-06 -3.05378987649767e-05 8.22949334696387e-05 6.18609351258865e-05 8.71113841052166e-06 3.10870802587249e-05 -2.56718045322403e-05 5.0717474370116e-06 0.000122526376608015 [...]
+id9449 -5.50454837268143e-06 -3.59152404861392e-05 4.29749630456495e-05 -4.05443069658092e-05 2.71751425752562e-05 -0.000157793737059924 -2.21300908451834e-05 -1.39842988492239e-05 6.00789166150487e-05 -6.8581690435573e-06 -6.51990741677016e-05 7.67851386351099e-05 -2.74107250870169e-05 1.09638980334333e-05 -4.62130855857488e-05 -0.000153884876358335 0.000100869296149571 6.98269991926078e-05 -0.000112620266157417 -2.62099535209886e-06 6.10680545451748e-05 3.15928520831758e-05 -8.25561051 [...]
+id9487 -6.57902321964457e-05 3.05306347687885e-05 5.20222863795832e-05 -8.1619683192424e-06 1.43573007702784e-05 -0.000176577653160005 -3.44740085906614e-05 -8.41906383721922e-06 8.23400423001933e-05 0.000105407751978001 1.72445640918142e-06 3.68014891776561e-05 4.29080978329894e-06 -8.4844465570139e-06 5.27438754505525e-05 -3.47689371194836e-05 4.81093358079596e-05 -7.2907056286206e-05 0.000109974714930174 -0.000146398299525314 2.53780043916671e-05 4.59944121986889e-05 -4.99595779913582 [...]
+id9511 2.79802434743996e-05 9.32386933563783e-05 -3.49310383029884e-05 0.000105496182386528 3.20072921017590e-05 3.37728656807066e-05 -1.35054836533843e-06 2.49978398990420e-05 -0.000218783193912074 6.50252280418037e-05 -3.14093826627809e-05 7.70415259511273e-06 4.90211407555005e-05 5.87933034719933e-06 -0.000331820421943984 2.67186324801598e-05 -2.81175162254347e-05 -0.000138707659434933 3.66410498458336e-05 0.000102584643355793 3.23798972038781e-05 2.2271950250805e-05 8.08257924781794e [...]
+id9570 -0.000123754824766651 -7.12047012094976e-05 -6.2025346563986e-06 -1.46356985832456e-05 9.20516682807301e-05 8.45384961225389e-05 4.36649382409831e-05 -6.90235152589784e-06 1.71957279105385e-05 5.52584016457754e-06 -7.02499258759058e-05 -5.97907897293047e-05 -6.57836203480903e-05 6.2322259724065e-05 2.87389656662800e-05 -5.55712696297031e-05 -0.000102517690069880 3.58356198014787e-05 -5.30630674016171e-05 3.02938552388157e-05 -8.52514168581516e-06 5.40530436304192e-05 2.28405948396 [...]
+id9588 9.30046922266389e-05 3.40040418996812e-06 -6.5906177638639e-05 5.7055733601957e-05 -2.78900719473351e-06 6.3335085840203e-05 1.19472408881829e-05 9.089060337173e-05 -0.000249260535874909 1.24128286219114e-05 9.01804620114696e-05 1.54625870264549e-05 -0.000130890346581463 2.41569999856375e-05 -2.88517323483173e-05 0.000108714564702418 -0.000195809818508246 5.08446527907094e-05 8.28642364651186e-05 -3.41254783030552e-05 2.58912896289756e-05 -1.55142935911286e-05 -5.76657560416009e-0 [...]
+id9614 -3.23178075280444e-05 4.50290899543865e-05 8.92668758544593e-05 3.03552585679198e-06 4.29644184214882e-05 1.30769415962138e-05 -2.88219547000962e-05 -9.75622444109584e-07 1.68518393920295e-05 -2.57974492606159e-05 1.66231983932343e-05 -7.73856423021508e-05 -2.46627889795809e-05 1.06685729776547e-05 8.91750789377756e-05 4.1599962738205e-05 3.43027823875157e-05 9.79366699321105e-05 6.86992896525157e-05 -4.83080288268605e-06 -0.000139036879189183 -2.54824149487948e-05 3.6724228992290 [...]
+id9643 2.24554106402744e-05 -5.17970744107033e-05 4.90338974503654e-06 -3.64552586516653e-05 -0.000103936480911452 -0.000133590205265253 -0.000152574097305178 -1.33778085318221e-05 1.25863136195789e-05 -1.98316747433459e-05 3.00710630344435e-06 6.17434652036401e-05 6.70209011609054e-05 3.58856766731066e-05 -7.18832977556414e-05 5.98190671176397e-05 -0.000128620198961459 -1.83477193220220e-05 -5.19709481730906e-05 8.00800474348498e-05 -6.1784103254533e-05 -5.42241950839996e-05 4.843577753 [...]
+id9658 9.06843266176982e-05 -5.3371033856265e-05 -2.8394192223629e-05 4.64451527681432e-05 -2.36680420963836e-05 0.000103278271119565 5.44773378320861e-05 -6.88974732942081e-05 -2.81278657396925e-05 -6.18480896919984e-05 -7.1302026413872e-05 -3.44968761059442e-05 9.53153238120138e-05 -2.78436611792177e-05 4.42860956247194e-05 -3.75202288267768e-05 0.000154436490261289 7.39873484391372e-05 3.81002866254468e-05 5.31978501165781e-05 -7.73820359873297e-05 -4.30803014651954e-05 1.482308284726 [...]
+id9760 -3.26327750761308e-07 -7.53312380104399e-05 3.35187806134217e-05 2.74289365926754e-06 1.46256707635970e-05 4.34027480418606e-05 -1.94579260580566e-06 -7.82420255039777e-05 0.000103925373330120 -1.42278837952123e-05 1.65792963365123e-05 -2.58278439103782e-05 7.44988314684116e-05 -5.87229986079469e-06 4.03619725534711e-05 -2.26598459301297e-05 -0.000115318655671770 4.17830366649695e-05 1.79057995256194e-05 -0.000163610468224032 5.72282525830127e-05 -5.5203111157904e-05 -0.0001013537 [...]
+id9800 0.000125105427876908 8.3904946233958e-05 9.4729083960278e-05 -8.48640707368072e-05 -7.9657208152325e-05 1.49328936611453e-06 5.15146669881857e-05 1.00667692457169e-05 3.76223301978455e-05 -6.91576272630497e-05 5.79306932252971e-05 -8.80567574637928e-07 5.49976509395454e-06 -1.30882585373428e-05 4.07476390900508e-05 2.25043728061727e-05 -2.51361823678927e-05 -0.000106963577652183 -0.000140556750691829 4.18623906199363e-06 2.95257603329051e-05 4.96505297427543e-05 6.38044582803446e- [...]
+id9851 5.45764037982913e-05 6.0784686089948e-05 7.14843523082346e-05 -9.69069879209548e-06 -7.02193700206018e-05 4.55025715738228e-05 -1.46003872893902e-05 0.000133853230167583 8.17180086192434e-05 8.9150791174728e-05 2.48449865324036e-05 5.50344882694369e-05 3.1610200431966e-05 4.46059913065142e-05 9.3419004097625e-06 -7.87100356212847e-05 -3.20618968723888e-05 3.00275968359644e-05 -0.000165790164566632 1.62936512044267e-05 9.03635112284701e-05 -3.11392527610752e-05 -9.10457088650506e-0 [...]
+id9852 0.000112965713253788 8.30921395114331e-06 4.43740249886939e-05 -4.62266778756654e-06 5.14610970692915e-05 0.000101522401914030 0.000100297807799582 4.61483070166309e-05 -1.36151870121368e-06 8.18153562508418e-05 9.4708332863882e-05 -5.04372177949429e-06 4.99844859540889e-05 2.58045468617365e-05 3.84214479788131e-05 -6.40099608631359e-05 -3.77787043797452e-05 0.000114348743078364 0.000115108100741121 -5.1649524254486e-05 3.53282928377388e-05 6.32420500131461e-06 2.38982640242339e-0 [...]
+id9859 3.6966749125974e-05 -6.65414562493825e-07 -6.35400471013426e-06 2.89621542689413e-05 9.82167579178284e-05 -6.2604673240304e-05 2.30213794481313e-05 0.000124991589782529 6.60202381781485e-05 -2.2983637181223e-05 6.08103667068519e-05 -0.000105473245125867 6.88124460201849e-05 5.0754109901867e-05 7.3440898973854e-05 4.04860777384172e-05 5.56832119305467e-05 -1.04114567762833e-05 -2.47139703216140e-05 -0.000145835438535016 -4.80159611405719e-05 -6.7439639146238e-05 -2.06378313943378e- [...]
+id9862 -0.000169132541379231 -2.70072100345572e-05 2.41031114776105e-06 -7.42153355386477e-05 0.000162079319333615 -0.000124507958395353 -0.000328165528552309 2.58854508824324e-06 9.30687333910378e-05 -2.02121144157421e-06 3.5688759481724e-05 5.69042465894985e-06 0.000111551730837299 8.461109158229e-06 7.26788435758227e-05 9.57475191174184e-06 3.93250615249639e-05 3.52003608556185e-05 3.54776614889084e-05 -1.57505812641888e-05 8.3753752482398e-05 -0.000106605582610120 5.04863262089357e-0 [...]
+id9877 -4.55339051935134e-06 6.67827365695096e-05 -9.19484418844313e-06 3.16405893768125e-05 2.86854681419627e-05 3.47387335819865e-05 6.25741762526884e-05 -8.9806801624066e-06 9.86026753942364e-05 -4.56633763161892e-05 -0.000108789739714039 2.58997675037450e-05 4.59736215625912e-05 3.90322021778704e-05 3.385856285913e-05 -0.000212973813245438 -0.000163733524142770 -9.58244143909816e-05 1.0745007897136e-05 1.7527068008768e-05 5.78121030657364e-05 4.83595705013261e-05 7.08246291395889e-05 [...]
+id9883 4.83118403126861e-05 2.31051709084324e-05 7.94369806747786e-05 3.17285843324875e-05 5.92498872690785e-05 -2.69297733384447e-05 -0.000133963139811301 -1.79687296012238e-05 2.65012921574157e-05 5.42266489946443e-05 3.88132093241820e-05 7.58307130061997e-05 0.000148335085281181 5.93267872608553e-05 -7.44896681156336e-06 -0.000238043817556831 -6.95992612110756e-05 3.85183556791761e-05 3.70746663120698e-06 8.8202989114999e-06 -1.83224994523662e-05 -2.64392044099456e-05 2.66698768324508 [...]
+id9893 2.41271153520360e-05 -7.38313659325881e-05 -2.17563045187723e-06 0.000105874161080722 -3.90763654473684e-06 5.57448154325888e-05 -4.92016135061526e-05 5.75971369627134e-05 7.86662469143732e-05 3.21992373930889e-06 -1.86148460106094e-05 -3.05381128901058e-05 -6.07985762442518e-05 4.19066585628775e-05 1.64458881875722e-05 -3.34450487134882e-06 8.0818411948402e-05 -5.18891753546939e-05 -1.02931825388344e-05 -4.31877572320816e-05 -0.000147235877255144 1.93773619608560e-05 3.6228022290 [...]
+id9901 -1.67919484594335e-05 -3.65153300526412e-05 -1.38861833646215e-06 -4.12267069972591e-05 1.57416993390549e-05 -0.000134928178509329 1.74448362885115e-05 -6.77140023743102e-05 8.63038489420452e-05 -9.65698644075015e-06 -6.27351540374825e-05 5.00490375699152e-05 9.9034467724398e-05 3.02412271914876e-05 5.1137453990922e-05 -3.62230218329025e-06 -6.97515114988766e-06 -4.40079834534101e-05 -8.58399988729455e-05 8.91394000107432e-05 -3.26257258613086e-05 7.88558693288669e-05 1.6957520148 [...]
+id9906 -8.93674794339556e-06 0.000105615615407335 1.68749188784100e-05 3.52209453439417e-06 3.44193678561569e-05 -3.43660793264582e-05 7.32142790173834e-05 8.32913461524963e-06 8.70951289846616e-06 4.58286377775177e-05 -3.93253591454353e-05 -4.85147189812362e-06 0.000101698981190937 1.23562651914934e-05 -3.87524984697189e-05 -2.22231090617157e-05 9.54239198356802e-05 -3.54523193483234e-05 -7.60825034134502e-05 9.3949951032181e-05 7.82615952531469e-05 7.09569986045891e-05 -3.4701834154039 [...]
+id9918 0.000127060526677462 8.58149415968687e-05 5.68493520895932e-05 -2.28789505492267e-05 -2.9651390497364e-05 -1.89256771803786e-05 -2.71776566029079e-05 3.81931099856367e-05 3.70952297324828e-05 3.77742489632352e-05 6.02153273766122e-05 -2.30160697387566e-05 6.53134573732845e-05 2.6812094285968e-05 4.82961917104007e-05 4.9131747786532e-05 -6.32999370001766e-05 2.87039939403918e-05 -2.83831825957842e-05 3.93736895926582e-05 1.75544657535084e-05 8.16072521900535e-05 1.56428243267419e-0 [...]
+id9930 -5.45417831530839e-05 3.05888026599062e-05 6.07084488251583e-05 1.36001497341788e-05 1.16708798695767e-06 4.23555182866631e-05 -6.10592909672631e-05 2.21423782592575e-05 -4.58317653057733e-05 5.34523888611017e-05 2.09755779539405e-05 -3.30880095338751e-05 7.67595895148968e-05 7.06764527876599e-06 9.80638021059498e-06 -0.000134602107813385 4.55601670624629e-05 3.69410724809106e-05 5.99073722372351e-05 4.40876068568658e-05 9.93092341104382e-06 1.14121352097513e-05 9.99173607751577e- [...]
+id9956 5.17768263050024e-05 -2.75170152466788e-05 2.77050041760647e-05 3.21266545928531e-05 7.7602716832434e-05 -6.13279521641372e-05 0.000126582651033453 -6.43093303869323e-06 4.07393723268953e-05 -7.44889940546227e-05 -2.89384517268836e-05 6.35858427612451e-07 -0.000140691632926642 2.16995080336172e-05 2.19073232023318e-05 2.01911770149181e-05 -0.00010918431994627 -8.40702165738991e-05 4.40480357686284e-05 9.32023453937047e-05 1.32319949839206e-05 4.90031982748925e-05 9.63107159738819e [...]
+id9990 7.82351953802326e-06 5.67954292123789e-05 3.75383325752719e-05 -5.51755853269674e-05 -8.45193378077701e-05 5.54925747987005e-05 -3.03777005672282e-05 -5.04325602601306e-06 -4.99388603057682e-05 3.11524241137777e-05 -6.98720904970592e-05 -2.78497144279001e-05 -2.46098741179354e-07 2.47458297728612e-05 2.6329301174018e-05 1.41269294915842e-05 -1.71562820876876e-05 5.11859038976117e-05 -1.06084788707452e-05 -0.000106425895675542 -6.62594973700565e-05 3.87817709034239e-05 -3.366744334 [...]
+id9997 2.27933828066323e-05 7.9396102384489e-05 6.12460426444154e-05 6.83507178187196e-06 6.42174091903328e-05 -7.02553011586793e-05 2.03740343926282e-05 -3.73396076150979e-05 -1.13146395878803e-05 9.46294470335665e-05 3.29170652784482e-05 -4.15000722811822e-05 4.74072322195552e-05 -1.70674615560508e-05 8.03109693596198e-05 7.40488287242413e-05 2.09738950393064e-05 -2.89991121557524e-05 2.17077576888598e-05 -2.16562884232870e-05 3.85759745750687e-05 3.59357333899957e-05 -4.5443190664951e [...]
+id5465 -2.93992685730226e-05 -3.04571265677464e-05 -1.22395410911086e-05 -0.000115366382856313 1.06050550793147e-05 -6.17158185816739e-05 -6.45955271508759e-05 3.15536185963130e-05 2.49979838462060e-05 3.3560250572158e-05 -3.38321703929827e-06 9.33776378420774e-05 -3.48154972969711e-05 -2.06170559337056e-05 4.3989969171451e-05 -0.000214810811378088 1.77688089510188e-06 -3.93386656267043e-06 -4.96303200223585e-07 9.94583122390409e-05 -3.09536849047995e-05 5.1841814319674e-05 7.23842004556 [...]
+id4625 1.86719091842716e-06 -5.42618468952761e-05 8.58190359192737e-05 -2.54456361333081e-05 3.90872525747673e-05 3.12418659695272e-05 2.31148898637204e-05 0.000109163418535399 0.000145774925496974 7.73189987509624e-05 -0.000101777940243633 -3.68511052378383e-05 2.81337067527454e-05 -2.98052500847902e-05 -5.03204457383824e-05 2.18992624550478e-05 4.23999693229525e-06 -0.000118415733239528 -0.000143826965121789 7.81300424098385e-05 -3.80459978061292e-05 -4.70745372865003e-05 -1.5992291485 [...]
+id7159 5.91434697661212e-05 7.10633989530663e-05 2.50818482182321e-05 -3.12137173052208e-05 -5.13149007711496e-06 -1.10486115027428e-06 6.05061186902853e-05 -8.18785846902738e-05 2.80338425143742e-05 -5.21038479311152e-05 7.6356686506949e-05 9.7272902724847e-05 8.5324102271208e-05 -1.47716320501952e-05 1.38893806386051e-05 8.92325941898596e-06 7.08040773646209e-06 0.000166669745256243 -3.24419158394795e-05 3.60681149296252e-05 3.70905212129706e-05 -1.97194906724568e-05 -5.55717488960894e [...]
+id8416 6.38870157125575e-05 5.40665649098401e-05 4.96245139595507e-05 -6.96368396087204e-05 -0.000124422884847682 2.42245653844846e-06 -3.10908405897317e-05 -3.21053319516072e-07 -3.77265951905062e-05 4.39669407874433e-05 -4.66305014520267e-06 4.87434527942063e-05 -1.40616150480254e-05 -8.83168675992014e-06 -2.44480081739431e-05 -9.5812362465968e-06 -3.19724373708812e-05 -4.47880358586163e-05 5.31584971192488e-05 5.21394719755864e-05 -2.84424587555762e-05 1.95321310291797e-06 7.690444692 [...]
+id9444 6.19308251378699e-05 1.55663860145864e-05 -2.00560592781605e-05 -1.03661251955448e-05 3.90457377419022e-05 7.07032363364751e-05 -0.000101571516224634 -1.97462639308137e-05 6.62903005617522e-05 5.80134010988542e-05 2.93909563127367e-05 3.48987292036119e-06 0.000113815071960076 -8.37296837030994e-07 -6.95396694954485e-05 -0.000109500202271326 -1.06823982596524e-05 1.36910579962282e-05 4.34154259737184e-05 3.22209098861596e-05 -1.41034062320269e-05 2.71606208378243e-05 -0.00017947819 [...]
+id2622 8.76657935701731e-05 8.03365399924283e-05 -0.000459267996393524 -1.24494762862236e-05 1.09721068472747e-05 -4.84041837035218e-06 3.35494102056119e-05 -8.23480695533762e-06 -4.77166608274346e-05 -7.02641556167012e-06 -1.80905199625722e-05 1.61630447902269e-05 1.99323294772427e-05 -5.08274411333473e-05 7.3823083427458e-05 5.97125343121705e-06 -8.99013038503459e-05 -2.73430457078555e-05 7.99548627116993e-05 5.04457974772647e-05 5.76867677101626e-05 -0.000201163445746824 2.90553607789 [...]
+id7493 3.03761394824331e-05 5.37278446910667e-05 -5.43015905315867e-07 -1.04031318363838e-05 -1.84514212549130e-05 7.37700297179635e-05 7.48925669470632e-05 -0.000106894414785684 3.39264842892205e-05 7.02580543175944e-05 3.24997098088731e-05 5.43526941617081e-05 -3.28933714743068e-06 -3.04749896166613e-05 5.86747281902337e-05 -7.28729954156108e-05 1.95238948018322e-05 5.50674324242206e-05 5.96814107946014e-05 7.53316236895731e-05 -3.75701766419036e-05 -5.31572247606121e-05 6.020115636957 [...]
+id1102 2.99636535399517e-05 -8.91369341257345e-05 3.39037126512354e-05 2.15269049976627e-05 -3.12460813829607e-05 2.94510921737830e-05 -4.66060253930877e-05 2.45950459385125e-05 3.36058400421919e-05 -0.000138835271411519 -8.35991504042987e-06 1.28509500254299e-05 -1.26393300472072e-05 -3.22394419594382e-05 8.77881887497506e-06 6.90652133457812e-05 7.98314199194088e-05 6.77899476798285e-05 -5.79535577267317e-06 4.71353613817084e-05 -1.87378151948894e-06 4.99453316212244e-06 4.643248560505 [...]
+id3210 -0.000101468101352952 4.30427049417731e-05 1.88832751063492e-05 3.66202161056443e-05 7.14388060279035e-05 2.27272489513672e-05 0.000128895437545756 5.64878674213455e-05 8.05720478272987e-05 -7.35139284105737e-05 8.60547252604675e-05 -0.000148843908984014 4.57619205986282e-05 6.7483109280159e-05 -4.48781695807553e-06 -0.000120143610665249 6.22820884791492e-07 -7.71988117725507e-05 8.25049021871012e-05 5.68651064811878e-05 -1.57863664864499e-05 -2.16727219031585e-06 4.25416155687141 [...]
+id541 3.17563511016965e-05 -4.41953958567779e-05 -2.53266528158243e-05 4.40571751217321e-05 -1.58690531117674e-05 -8.51986322904467e-05 1.34463966684344e-06 -6.47708409606478e-05 5.54804462216656e-05 -2.11163703617241e-05 -1.63260464045427e-05 9.40762295674871e-05 7.95126274511648e-07 -4.16663355309313e-07 -0.000349043490895853 -1.69197435156983e-05 -2.15167675132283e-05 -5.91536583523405e-05 6.56702081209573e-06 2.95606839096621e-05 1.77195707185052e-05 1.25159983993793e-05 4.0443006138 [...]
+id6471 2.28715317852867e-05 3.83421034909891e-05 6.45244680154626e-05 1.41513986618943e-05 -0.000268280374552217 -5.36050507029325e-06 -4.77530613849278e-05 -6.11090155480209e-06 2.02995218440958e-05 2.57169933482116e-05 3.72955993955540e-05 2.67992835994825e-05 -7.66172459997837e-05 -6.1381149267265e-05 -0.000130883208226851 5.33536250728988e-05 -2.19145265826434e-05 7.44736791521934e-05 7.86715697956773e-05 3.612639130962e-06 3.32538526345998e-05 -2.44905731889235e-05 4.37929620961469e [...]
+id697 -9.52370606796597e-05 8.10208145751173e-05 2.19185706073402e-05 4.89982727942146e-05 2.39812194003373e-05 6.07213245040221e-05 -8.47163090345618e-05 -1.98750142592246e-05 -5.98797326923352e-05 -8.50784622351724e-06 9.30208645866397e-05 -4.06714124883538e-05 4.17278224815618e-05 3.90034975097658e-05 2.70391515169198e-05 8.2071670903729e-05 5.24956602329215e-06 -6.20045208594283e-05 8.48903881945674e-05 1.98518699343710e-05 2.76242408955291e-05 -2.38856075113212e-05 6.03775584839981e [...]
+id6924 -6.68277465287703e-05 5.01421067339082e-05 9.8919367678174e-05 -3.26994153643401e-05 -1.49378898283520e-05 1.41705962236903e-05 -3.30955466107879e-05 8.34616820429973e-05 6.23010486846488e-05 4.50236729784706e-05 5.65810902181284e-05 1.46029143509725e-05 7.84834800856286e-05 -5.43001067507182e-05 2.04432898893434e-05 2.87292190312714e-05 -9.9907810604469e-06 -1.20175917745498e-06 -0.000157339935811494 -3.51398671361066e-05 -4.73181555286129e-05 -1.72318975580661e-05 -3.29592727721 [...]
+id8060 5.43428901570232e-05 -4.61669462869592e-05 -1.20577567312314e-05 -1.15356287684950e-05 2.95269901688897e-05 4.40795369389963e-05 5.29199668229396e-06 -1.97120331684297e-06 4.90941647744497e-07 -2.05572856569603e-05 2.21049254901314e-05 -4.6431746970975e-06 0.000125659797312676 6.12998178574907e-05 9.53196535975875e-06 -0.000165797604282166 0.000101754831371135 -6.65220869316729e-05 -2.68764141930964e-05 4.60363854865468e-05 -3.7111036996526e-05 -2.58201140057819e-05 -5.35614664697 [...]
+id2004 5.22054268850324e-05 -6.69743736514584e-05 -7.14890233428014e-06 9.96630057484369e-05 -3.56539566651964e-05 9.91832016704727e-05 2.38675067724501e-05 8.43681836906879e-05 5.08086659434749e-05 6.61502433508111e-05 5.20947710360444e-05 3.80421574013651e-06 3.34519748500398e-05 -0.000112450910405404 -6.06792199383091e-05 0.000114552859093601 2.37849312288399e-05 3.07683777454409e-05 1.70012165982580e-05 -4.65249880441720e-05 -0.000143589192734073 -5.53712583746521e-05 -0.000103747858 [...]
+id7534 -7.80346439301999e-05 0.000120218915597336 2.43932071444200e-06 -1.13397012427084e-06 5.71793915087306e-05 2.74837629372545e-05 6.06539394981384e-05 2.02896688461971e-05 6.89382402031814e-05 5.86104964658063e-05 1.60914150697348e-05 3.21292624866624e-05 1.85226318576525e-05 6.72888767757031e-05 7.21958374715309e-05 -1.32094038539012e-05 -0.00022796059717144 2.61891890965189e-05 -3.48936712918738e-05 5.3899402586343e-05 4.51176744142907e-05 5.90841663758241e-05 7.09878405840906e-05 [...]
+id9836 -2.52867370205134e-05 -6.09686466120366e-05 5.95189609647395e-05 1.96358382528025e-05 4.3865887315635e-05 -0.000207162421607562 -7.9973126013271e-05 -4.47225584048688e-05 -9.01310545265232e-05 -2.65720107489206e-05 -8.11082489269603e-05 0.000122800719756551 0.000101818987753825 7.74966808181511e-05 9.25460572697186e-05 3.29727732136708e-05 -3.08733816674943e-05 -0.000135598456443633 5.56601736071126e-05 1.24603362118806e-06 4.42209196979099e-05 -8.10023106702946e-05 9.748406195674 [...]
+id1389 -8.28250158946127e-06 6.91874258391746e-05 -3.68107754128625e-05 2.35531173525301e-05 -9.90322253290123e-06 4.26260186213444e-05 4.29971674313864e-05 -1.81897965366572e-05 -1.12141484394936e-05 -7.92902535615025e-05 -4.88751090714507e-05 6.09130232527254e-06 9.37542957122302e-05 9.7906915713883e-08 -6.75816149052877e-05 3.90035792486901e-05 -7.49685374561014e-05 -5.14418251919797e-06 3.61863389065388e-05 -6.36230317542543e-05 4.51127371110438e-05 -1.78365508434756e-05 -9.606504340 [...]
+id6062 -6.97973461327523e-06 8.58623144755021e-06 6.07226429993288e-06 1.35397958620213e-05 -2.44723117099676e-05 -8.23433277805999e-05 -2.66969422668201e-05 -9.2489792736228e-05 -7.3907015120458e-06 1.70278000821828e-05 6.9707248911582e-05 8.1563558268196e-05 -0.000155041098926697 1.74983246553539e-06 -4.54706532265328e-05 5.77489280498651e-05 6.96320517440095e-06 5.47169670125357e-05 4.92287450491117e-05 7.20693318158552e-05 3.01632495630636e-05 -4.96652377670293e-06 -5.07117356653493e [...]
+id5546 -1.55465586513427e-05 8.8999012713096e-05 -4.28511102369778e-06 -2.91906378562311e-05 1.02806322458397e-05 -7.15985168937938e-05 -5.16498512542946e-05 4.93240160898681e-05 -2.41943387481648e-05 0.000115997778434187 -6.86627312830376e-05 -2.68777125128903e-06 -1.96173179909404e-05 -2.24570703265078e-05 3.30309031115815e-05 -0.000135894311952872 -0.000129413676583353 -1.03757858327357e-05 3.65549311988619e-05 -9.56305243934061e-05 4.44607979126884e-05 8.30470838130368e-05 5.97161219 [...]
+id4096 1.92325402734789e-05 -2.43743176251644e-05 5.36897895556466e-05 -7.58707073614473e-06 -4.86269374424023e-05 -0.00039147249076651 7.6448611293036e-05 -8.6294013326784e-05 -0.000167896215854575 -4.06600229731633e-05 -7.58969521769413e-05 3.86259676784168e-05 -0.000113738572980075 4.36726464358112e-05 -5.72529757877852e-05 -9.51592880385934e-05 6.07050030377624e-05 5.75712827377195e-05 8.5018038774341e-05 0.000111666506062371 0.000110550425570629 -3.15232826258261e-05 7.2261157484066 [...]
+id9185 1.32412006269783e-05 8.10149568294108e-05 -4.38941004772523e-05 5.87087943163968e-05 0.000117883091572367 -0.000103212807512304 5.08728779775603e-05 -0.000201488459638512 2.73360892142377e-05 5.00384324756928e-05 3.84193572841231e-05 5.65568327692218e-05 -3.65522636230918e-05 5.80406875668289e-05 -1.02837981938549e-05 1.69856762664318e-06 3.22908228477954e-05 7.41861198682124e-05 1.81123560983373e-06 -5.52299794928714e-06 9.56050073190219e-07 -5.9762621844626e-05 4.88347883198786e [...]
+id3917 7.05422765764138e-05 -4.97787475370391e-05 -8.03040143680441e-05 5.90579139392239e-05 -1.34114603799344e-05 1.68989695945479e-05 -8.88922826269349e-05 3.22851400042016e-05 5.0502200976815e-05 0.000103345955812694 6.18200384633435e-05 -2.22302856510445e-05 -0.000190430912469694 8.5582393732556e-05 -4.25287266210714e-05 -0.000138882068662095 1.35974757925677e-05 -3.12688222967025e-05 5.6887428124931e-05 -3.43923943536989e-05 -5.45418863521656e-05 0.000120847334648284 -1.507906222499 [...]
+id5941 -6.69451311092816e-05 -1.86670849281840e-05 -0.000157328624843462 2.29622879422620e-05 1.97184069324843e-05 -6.21394148877474e-05 -1.58793156304462e-05 6.68292937021965e-06 6.94067636391597e-05 -3.47994722200176e-05 -0.000109031673174342 4.13828133181152e-05 0.000159010721814835 3.73965667816877e-05 6.63597141170144e-05 -0.000122360900660637 -2.9262543131303e-05 7.5361869083301e-05 -3.63056394336630e-05 -4.9102407016044e-05 2.55982500014266e-05 -1.78998226275994e-05 -5.59743149004 [...]
+id5701 4.70645906915533e-05 4.12960372707646e-06 -0.000115274569265959 5.46794868381311e-05 9.91234349394237e-05 5.10174712099569e-06 4.74383643315855e-05 -5.8950422290268e-06 -3.72905488234471e-05 -1.10088726359748e-05 8.04119219580073e-05 5.81907276288705e-05 4.68681627739929e-05 0.000100475961399946 5.1553678716526e-05 5.1335729551899e-05 8.39040822143778e-05 -4.29989409487214e-05 -0.000112696883027994 7.03222272394369e-05 -4.65572408302415e-05 -1.48964115444262e-05 1.94843467481148e- [...]
+id4711 -4.87122683310602e-05 -3.56481178035034e-05 2.24059962453674e-06 -3.87642045383544e-05 1.43494104237747e-05 1.77819821411789e-05 6.50584768928214e-05 0.000117722890560329 8.91205312455166e-05 -0.000104347788484877 -4.17108645610693e-06 5.32542997664943e-05 7.7023322847462e-05 -7.22911701924334e-06 2.71003988819104e-05 0.00010557089683504 5.79308052227729e-05 5.5395003272437e-05 -5.21741413155639e-05 -4.94039478457056e-05 -3.66139105773326e-05 3.82734679484361e-05 -2.79046565333557 [...]
+id5689 5.93437389046716e-06 -2.99405154052245e-05 4.62818675692216e-05 -0.000124043047562124 -5.87694909082906e-05 1.47374093175702e-05 5.36178428130713e-05 4.03722606271959e-05 4.8453741528897e-06 3.48773353523587e-05 5.06631568932348e-05 -2.48055716772369e-05 -3.62991595088080e-05 -7.31140514651233e-05 -1.98106732983391e-05 -2.90244523521493e-05 4.31169697313018e-05 1.96438929279521e-05 -4.04394060935516e-05 -6.72910587997178e-05 6.54995371971447e-06 -3.87144790615573e-05 -1.0404790205 [...]
+id7947 3.31443960871201e-05 1.21026067452723e-05 2.05447826751124e-05 6.64823555865967e-05 7.02727132702603e-05 -1.91204462188476e-05 7.51760489047272e-05 -0.000457748330767292 -0.000109772478479065 -0.000188452245585613 -2.15160341449007e-05 -4.73355266968956e-06 -6.64528496761998e-07 9.05555726983211e-05 3.2241380193171e-05 -7.19779525716339e-05 4.55047518841003e-05 1.2254517813126e-06 7.42265733489261e-05 2.51393964386700e-05 0.000119973655678159 8.85669587291265e-05 -3.38894159694426 [...]
+id5556 1.53171569965703e-05 -9.61303816377236e-06 6.660207770112e-05 3.34091452326242e-05 3.26517688609542e-05 -2.01849640814424e-05 1.13551382643817e-05 5.45592959167721e-05 -2.91904748487845e-05 4.05961092705693e-05 -7.60910685731212e-05 -1.53846735582086e-05 6.82357333429622e-05 9.81644409932962e-05 -1.86249013756949e-05 -2.96733229856375e-05 0.000117413850544913 2.82805798699505e-05 4.45240056427179e-05 -8.51443040024037e-05 -0.00018382259410783 6.9585171316535e-05 2.41048968235161e- [...]
+id5472 0.00010762110553926 9.7779970426832e-05 1.05071391516063e-05 1.99721701726398e-05 2.88092854560232e-05 1.48604535514515e-05 -7.77483454736385e-05 -9.41782706881476e-05 -3.39317811283343e-05 -3.91039738685194e-05 -2.51427761306858e-05 -7.39759549255308e-06 3.46826820696154e-05 6.07927062780238e-05 3.73053961136603e-05 4.10096061719014e-06 -6.58503419435568e-05 3.91635044897755e-05 4.1696202913334e-05 -4.02740888457533e-05 2.93426725687290e-05 2.54733391075171e-05 8.8775977579587e-0 [...]
+id1482 -6.67734327964744e-05 -1.51129803797125e-05 -3.85144572555437e-05 -3.9424524632002e-05 -7.05809134988219e-05 4.20288916341129e-05 -3.90689749731304e-05 -7.25603456586672e-05 -0.000135413170843638 -4.72425905632929e-05 2.48567684613662e-05 -0.000179520183845663 -3.12719693559035e-06 -7.49649974902242e-05 6.54921642444657e-05 -9.35316167681496e-05 3.73881846782938e-05 3.81246747712161e-05 2.66523181247255e-05 -3.44495541358856e-05 -4.92548031186997e-06 -3.67015023359271e-06 -7.83644 [...]
+id8034 5.98616888603184e-05 -0.0001613657601406 -8.15364086917764e-05 -6.89548546017911e-05 -8.69953733700195e-05 8.91435359264056e-07 4.5716183105809e-05 -6.22900942942036e-05 1.17257076964012e-06 3.55280561108538e-05 4.89309782736426e-05 4.02927536308618e-05 -4.72859322156737e-05 -2.51333736447251e-05 4.60895089053244e-05 1.46238561557159e-05 1.33219642278067e-05 3.29920772562721e-05 -1.78072810731207e-05 2.49901174610886e-05 9.82763036643389e-06 -7.89136757738954e-05 -7.23685829040304 [...]
+id6609 0.000103753143158175 -9.28410990815277e-06 -5.53519103017856e-05 -0.000366135688887508 -2.72502235337242e-05 4.42002197598664e-05 -1.59650146919162e-06 -1.93996140648313e-05 4.7647901015468e-05 -2.93339999072047e-05 -7.6380281941501e-05 -3.38630782257343e-05 3.29528151746382e-05 -7.66756507095091e-05 9.42256479750457e-05 -0.000103391866272212 1.77856711331433e-05 -5.1385495054862e-05 -0.000257550731100388 9.51858533311366e-06 5.56603007346611e-05 -0.000101410175749098 2.8127423568 [...]
+id2181 -3.11097376642035e-05 -1.40887796238519e-05 3.15620379257055e-05 -3.5910532658734e-05 1.47171963451056e-05 6.90764657582349e-06 2.00368802862485e-05 -8.93959024273212e-05 1.17336746515902e-05 -1.85199251741823e-05 -6.96753030286842e-05 -4.20420089155074e-06 0.000102733330021503 1.85575097239893e-06 5.76614302178617e-05 3.02444384857455e-05 4.15893947951553e-05 0.000144501609758405 1.74824093780813e-05 0.000146764492575566 -3.75447357919643e-05 4.54996305704797e-05 3.58534829638357 [...]
+id226 -2.07593655730172e-05 7.49509922558686e-05 -0.000112346222073865 3.33800432560544e-05 7.94848905541257e-05 0.000100603484025677 -2.64494037174580e-05 -3.8445369141013e-05 -3.55906006522828e-05 6.64340530606701e-05 4.58164690377453e-05 -5.78634315281973e-05 -6.29176551424975e-06 -7.18066101930498e-06 7.70985747142567e-05 -1.83990160313368e-05 7.39454709390811e-06 -1.48862999139880e-06 7.44209089031336e-06 2.89410069686893e-05 -4.93865938540667e-05 0.000109892129988860 -0.00018002735 [...]
+id4947 1.78027196017354e-07 5.1157458748388e-05 -2.15391438344707e-05 -4.23564801379052e-05 -3.52320319401384e-05 1.52311285768982e-05 -4.87889495411838e-05 9.72276300692977e-05 -1.68718748614787e-05 3.84014701315335e-07 1.91463168773492e-05 -0.000153968789840244 -0.000211683995165135 -0.000101063916944576 3.37932233311434e-05 7.15356944921727e-05 7.65004007708184e-06 -0.000175092665045109 -6.07367448349252e-05 1.61059797516334e-05 -0.000172572258134223 -3.91388826306541e-05 -3.191034590 [...]
+id9626 -1.03931394965053e-05 6.04084441122961e-07 1.55271805796317e-05 -7.00362122668664e-05 -2.05175761494311e-05 3.97571157530085e-05 -2.80763489695115e-05 3.72384367356789e-05 0.000117974484375112 -2.18347438205141e-06 -1.97849888110554e-05 -3.41108703344479e-05 1.25750085643895e-05 3.70308458953858e-05 -7.01554337317011e-05 9.51414287310144e-07 1.92198525729151e-06 -0.000115724769411531 -0.000177978451213673 -3.64501076218419e-05 -1.28831293095694e-06 1.20210927746472e-05 5.397604706 [...]
+id3825 -5.42823731194103e-05 5.13375521871165e-05 0.000102702073041476 -7.04476220895586e-05 -0.00014390333766403 2.418407777146e-05 1.33365225289592e-05 -6.9566658386384e-05 5.19382716619494e-05 2.13097409180519e-05 3.34858504541665e-05 6.94665416994477e-06 8.11309075452592e-05 8.80819727694083e-05 4.59637991157607e-05 7.47220353852069e-05 -5.80032861681962e-05 6.81610125977402e-05 2.39152373486965e-05 6.58550175368946e-05 -3.56902794001922e-05 7.26409524012459e-05 -1.17269239402696e-05 [...]
+id5114 8.0066114419724e-05 7.35698377725997e-05 -1.89113778404008e-05 8.8756632191247e-05 1.72196136407512e-05 0.000102170081123415 5.31394769022203e-05 4.74694118367558e-05 -1.98983988599244e-05 -1.94444022833474e-05 -2.65989147167514e-06 -2.21200456127145e-05 -0.000117859062520652 -6.90004862498089e-05 2.78068813728517e-05 -0.000333334651329721 1.44750380719531e-05 1.71642049020276e-05 0.000130689403454466 8.8317171943169e-05 4.52235315404956e-05 -0.000109560519478428 -8.03396554353354 [...]
+id3059 -6.33719526943525e-05 6.38506753367046e-05 5.98275567500786e-05 2.13796698049052e-05 1.29880139824545e-05 5.00854495603471e-05 3.89388299634449e-05 -0.000237257258596915 -0.000300060733753486 -0.000200864612257809 -5.6277639630903e-05 -1.18071108899293e-05 2.20554740403627e-05 -1.41741284159402e-05 -1.38725541709181e-05 3.23674905162309e-05 2.64388112726945e-05 -5.43474783277177e-05 4.00555441132632e-06 -2.1573143370025e-05 3.91934125197418e-05 2.68951965584091e-05 1.4044988960156 [...]
+id967 -3.16096267224493e-05 1.94164824876007e-05 3.33916430209655e-06 4.36855185404436e-05 3.33601971630223e-05 -0.000101034537450814 -3.09393333473484e-05 5.70747937623104e-05 8.90282430847942e-05 -0.000108189363811966 -4.95657339857162e-05 -2.62140261383549e-05 -2.76609522698563e-05 3.96053254925618e-05 9.55539664440006e-05 6.83095811139263e-06 -2.81573926887869e-05 -3.52463496546764e-05 2.54906478602985e-05 6.09457544281094e-05 -1.28405050212382e-05 3.14792266074606e-05 6.093113301348 [...]
+id4505 3.45628137693546e-05 6.74807361597093e-05 7.73819016928684e-06 8.03906167298972e-05 7.21664193952652e-06 -1.80825990930390e-05 4.90343723346426e-05 9.81187560261865e-05 -7.23045124290348e-05 -1.64612936921552e-05 2.41079949991378e-05 -1.92363261301474e-05 5.6987186613327e-05 -6.12985692167028e-06 3.1822421303379e-06 5.23479603089351e-05 -8.1468065792779e-05 1.48728207117629e-05 -1.07559795934361e-05 2.84994244455853e-05 0.000112499901900247 7.10972142112434e-05 -0.0001283950216750 [...]
+id455 3.74118067682800e-05 4.62655087062856e-05 -0.000124884509880700 4.24796853053794e-05 -8.58740873926981e-05 -0.000147178057668780 5.04106258322688e-05 6.88947257412144e-05 -2.00023865852003e-05 1.92348170239269e-05 -1.65139903734448e-05 4.46197398453048e-05 0.000102209686635465 7.43245847988743e-05 -2.6292033187076e-05 1.92839471245730e-05 3.04274288011215e-05 -0.000175044919282153 -0.000123462992480644 -1.87288370811746e-05 -2.63684594217769e-06 -9.29428841885124e-05 0.000109799014 [...]
+id6934 -3.21857689946456e-05 3.83194646373186e-05 -6.35950952453283e-05 1.73495721897263e-05 -8.95087430070685e-06 8.95800514669037e-06 -3.21475686006730e-05 2.55686804358617e-05 4.93159814621435e-06 5.41416349674516e-05 -2.85894811667143e-05 1.34158379005019e-05 7.4578956183562e-05 1.15465109224529e-05 -0.000402605216624568 -1.71315609313839e-07 -3.28496654658969e-05 5.32838829830952e-05 5.88600648797585e-05 1.30595085226783e-05 6.14314604284348e-05 9.72674101426568e-05 -1.0976151912648 [...]
+id8474 -1.41792946322405e-05 2.35390709846597e-05 8.47820741722553e-06 1.26330342967590e-05 1.89858285986015e-05 2.2741180610502e-05 7.1879806598775e-05 3.3016142097298e-05 1.4345743487231e-05 6.63581455732656e-05 1.19274132145165e-05 -0.00011848076779081 7.59713120021131e-05 -7.18372253591449e-05 -2.13477455543598e-05 2.18320875158099e-05 -0.000118267350294269 -1.83653948743314e-05 -0.000105859331468805 7.20920382525196e-06 -1.24608249074410e-05 2.65617521163306e-05 -3.29557646666604e-0 [...]
+id5971 9.51817948745304e-06 -3.06218870102257e-06 2.4866076244097e-05 -0.000116731870375672 -9.4425028855742e-06 2.66629902588236e-05 -1.09658864978364e-05 -2.42505336992503e-05 -3.65850093877284e-08 8.86210600160387e-06 1.73357992434753e-05 -0.000119249596195892 -0.000272817166395585 -9.00725535102954e-05 2.09479998429479e-05 3.31256194761773e-05 -7.93341545744927e-05 -0.000122724929163032 5.85623538546968e-05 6.25709589214687e-05 3.17623349573927e-05 -1.80454785966819e-05 0.00012307856 [...]
+id283 -0.000276353310974104 4.82490303764847e-05 1.38716134422850e-06 8.58227995197954e-05 5.23427189914126e-05 1.96171159661167e-05 4.18234357599847e-05 -1.19765132572121e-05 -1.41520756735288e-05 5.05873581947764e-05 1.9512321510525e-05 -4.92615638559199e-05 1.93584307158675e-05 3.28582691291572e-06 -0.000158228190326886 -6.2015945693254e-05 -3.75139582017312e-05 -6.23281041697888e-05 1.91905777386903e-05 1.22468274646015e-05 1.51661512799921e-05 9.81880184528144e-05 -4.38734842951107e [...]
+id2338 -7.28456777667776e-06 5.82641107754408e-05 5.50292436362137e-06 -2.33588170996617e-05 -6.64424340362538e-05 5.70524005652166e-05 -0.000130224975094739 -1.62791604676485e-05 3.61013315900467e-05 1.93983904983775e-05 -2.4305328153151e-05 2.81520501411644e-05 -9.8598070162741e-05 -2.16116841303784e-05 -9.25561846611404e-05 -1.44203031338299e-05 -4.4927027523683e-05 -8.51848148837103e-05 -5.61546628291201e-05 3.18678277425788e-05 -2.83040143486554e-05 -6.93094821312048e-06 3.648115767 [...]
+id4484 -8.4002814418529e-05 -3.44334058058817e-05 -9.01211225993325e-05 4.14062131437389e-05 -1.77762154966399e-05 -1.23442675136048e-05 1.56574916561529e-05 2.00744583407020e-05 -8.03346662164827e-05 -1.94619690804907e-05 -2.069784615179e-05 6.24929012974582e-05 1.68004052254869e-05 1.28641664327205e-08 4.87390472895074e-05 -3.85833119048383e-05 -0.000172471091011833 7.07701059602436e-06 -2.55679076670211e-05 6.22241620496455e-05 7.1168409304564e-05 7.57209613756704e-05 8.78969637877717 [...]
+id1515 -2.92487328926008e-05 3.98298509462997e-05 9.24673545898695e-05 2.31312974808584e-05 -2.58108503098029e-05 -0.000107067188931929 1.31947376882010e-05 4.46472030370892e-05 6.6234872817017e-05 5.76724501650764e-06 5.42409958069267e-06 -0.000181912170272492 -1.30083979892391e-05 7.40223877149217e-05 6.85513959818906e-05 6.53260914029384e-05 -3.13467560137110e-05 6.13742655616004e-05 9.76118105460274e-06 1.49906533497233e-05 -0.000184603272239671 -2.04954048269023e-05 0.00010144868903 [...]
+id9678 7.98946712978303e-05 7.36665006150313e-05 4.7123336512559e-05 -1.65719634282228e-05 0.000125316946977545 3.02032358268772e-05 6.5901154407813e-05 3.89447025762921e-05 -4.04239970130367e-07 2.88088351809928e-05 5.79417510007436e-05 6.52620781028085e-05 -6.2760548816512e-05 6.94417511618722e-05 -4.74282958804926e-06 1.40236420087775e-05 -5.37472297531236e-06 -5.3887455039282e-06 -0.000111086619425118 1.25460568366721e-05 4.52523976707538e-05 8.59140810685512e-05 -5.91720712659918e-0 [...]
+id2837 4.255133034346e-05 -1.95970458877650e-05 0.000102391166966904 -2.77253088642221e-05 -3.36388510684002e-05 0.000113842433977208 5.78953318282763e-05 -1.01774121553053e-05 1.57570129884046e-05 -6.75824946259143e-05 6.7262516548161e-06 -2.10810204837117e-05 0.000107562391549528 2.09678852264373e-05 7.62745799143999e-05 4.49283700043928e-05 2.17887396165040e-05 -4.50698025504888e-05 -9.46003838539927e-05 -1.97748078159062e-05 -1.95435812153367e-05 -2.65301556363108e-05 3.7979423400813 [...]
+id8545 9.78232414680944e-05 6.04446232231702e-05 1.15340309663174e-05 7.77160375034031e-05 -2.82284976875496e-06 -1.33327059990198e-05 9.93805601327719e-06 -4.37637608774956e-05 -0.000131798484967130 0.000123953704416767 -0.000127967949227841 -1.18166770087056e-05 5.20230325104193e-05 7.05221696573483e-05 3.70136684743613e-05 -5.42204900845045e-05 -4.91502480524945e-05 -5.90765619800393e-06 1.35844534716257e-05 3.82592820174472e-05 -9.32912643523558e-05 -0.000100605368528964 -2.052159661 [...]
+id4474 6.97743942541248e-05 1.67316181126842e-05 -4.57900161438225e-06 -5.80557932492399e-05 -1.09236011515468e-05 3.68316565289828e-06 -2.85538649989033e-06 4.06864022447092e-06 7.68322067241475e-06 6.22531559182891e-05 4.27354115770897e-06 2.50852530634684e-06 3.36674973727677e-05 -2.99613193524126e-05 4.88519013657279e-05 -1.34892601948949e-05 2.26331077236609e-05 4.84735802387169e-05 4.21270111798656e-05 -1.69402619421770e-05 5.21655340524103e-05 5.47010772910306e-06 -5.7713479115932 [...]
+id2606 5.27178402668706e-05 3.23559571194838e-05 3.88883463919182e-05 3.01668403371485e-05 5.85168361022909e-05 -2.26624447543966e-05 3.91530071436089e-05 8.25805564456613e-06 5.33229891263141e-05 -1.51200395715223e-05 -0.000144123358852056 2.70956782547538e-05 -2.66333886362666e-05 8.39726476262136e-05 -2.2100583158387e-05 -0.000184857818576068 1.47911248857864e-05 -8.05581659756694e-05 -0.000196219545298535 -2.11615245692118e-05 2.59781057683215e-05 -4.42454627689963e-05 1.547181388234 [...]
+id4211 5.25916530054618e-05 9.9968047892562e-05 7.33607634410051e-06 8.20935241574139e-05 -4.33630160816653e-05 -3.7906254195924e-05 -2.15424550512435e-05 4.45424991998009e-05 2.06525275044845e-05 9.53749935933472e-05 -7.3700714392825e-05 3.67283273343417e-05 7.09833380719139e-06 -9.9751885615463e-06 -6.11960822550235e-06 5.22894468947849e-05 -0.000149168007636625 1.76463436791603e-05 3.07251335102883e-05 2.70601897434766e-05 4.63557283759191e-05 0.000104809333332203 -0.00013099461990267 [...]
+id992 2.74969849148881e-05 4.5894514463401e-05 -9.46519946958447e-06 -4.55449920824711e-05 -1.13793926748135e-05 5.8163595106549e-05 -4.04984268264927e-06 -2.39564487103592e-05 -2.98114902842980e-05 1.48498368864662e-05 2.27101594117205e-05 -2.11139111809198e-05 6.16224736700768e-05 7.52830173670987e-05 7.12473706238787e-06 -1.53041380225159e-05 1.83874171870096e-05 5.41698357617471e-05 3.54199408758022e-06 7.97114665026349e-05 2.63188725668074e-05 0.000132590721680657 8.55974636662636e- [...]
+id5334 -4.92928378187512e-05 -0.000187076510215007 -0.000103820903613495 -0.000131614390313811 1.82174978507456e-05 7.28084808251428e-05 -2.84255010184377e-05 -9.08721988083578e-06 8.27690731053167e-05 8.51821044439283e-05 7.65454060528539e-05 4.76341417973911e-05 2.63977407742006e-05 -3.05286249551274e-05 -3.13044111698315e-05 9.35258178882172e-05 -7.58474781589778e-05 3.61496937863635e-05 9.9802016315245e-05 -2.06471417820589e-06 1.66375361904764e-05 -2.68524977526671e-05 0.00010098719 [...]
+id2605 -1.34434731430247e-05 3.68181361635636e-05 2.08554687674099e-06 2.13547311736541e-05 -0.000203436185281274 -6.24132752934339e-06 -1.67036565660817e-05 -3.28222282221785e-05 6.83631973760743e-05 7.659273126849e-05 5.11766224101356e-05 -1.75290434917888e-05 3.31711209863933e-05 6.07973087816752e-05 1.74574662008477e-05 2.78126746027422e-05 -3.89012407866972e-05 5.24128850815645e-05 -5.37280576635937e-06 1.64488537941485e-05 -1.29689593579898e-05 -4.44615962269485e-05 0.0001181285456 [...]
+id8351 -3.27444954046579e-05 9.31577035576592e-06 6.5965333856441e-05 8.39889764227686e-05 6.7015943009636e-05 6.76052189733738e-05 8.24254342699499e-05 -5.47718921205152e-05 -2.74122697353979e-05 -2.07133726998282e-05 -8.18004942860187e-05 1.54025680009e-05 -9.09271346239353e-05 9.07548724741657e-05 1.99083407742515e-05 -1.26211917932864e-05 -2.16269919447224e-05 5.59133809956646e-05 2.56556328457130e-05 -2.10908260425891e-05 6.1735456858013e-05 1.43468472983962e-05 -4.0463186240534e-05 [...]
+id4425 2.29394625879933e-06 3.77513916318862e-05 -1.11110506333017e-05 -6.35795047727545e-05 8.28872452667189e-05 4.69678891231792e-05 -0.00016833512492788 -0.000119657813556684 -5.23713335473429e-05 3.41836973837429e-05 -0.000100271803892796 2.37214676472979e-05 -0.000109074384273687 -5.37160373249988e-05 -2.64009917246003e-06 5.547462560974e-05 -6.42903968466129e-06 0.000102045019217658 5.70792004877388e-06 1.16914125590538e-05 -1.18125616410133e-05 7.76093543688444e-05 1.1745324086582 [...]
+id6808 7.25859662836997e-05 -5.73824933161366e-06 -1.89350990396259e-05 7.44421685146465e-05 -5.50607803368103e-05 6.10438391245683e-05 0.000123897542310893 -5.85944805107174e-05 3.70274929516662e-05 -6.88361886038826e-05 8.99561768723519e-05 8.00286822604046e-05 -4.31039911767541e-05 9.64258773197787e-06 3.21833672839281e-05 7.87585258195472e-05 -9.06756063792346e-06 -6.08383280885182e-06 7.23833619227682e-05 -4.12556166658029e-05 7.70006573490591e-05 6.60195868205997e-05 -2.43835728143 [...]
+id9406 4.87699857056073e-05 -2.70975110093443e-05 -1.38279779781349e-05 6.29672434913387e-05 3.87966589633098e-05 8.37105836696651e-05 8.74022174868219e-05 5.25168977166048e-05 6.37589859829674e-05 2.2970547421623e-05 3.19564836183494e-05 -7.79144689348322e-05 -4.61136519286540e-05 3.71846739741398e-05 9.79316883941336e-05 -5.76477626890782e-05 9.65872474404337e-05 8.60697608896966e-05 -7.23204758652499e-06 2.18995289143642e-05 1.94847882465276e-05 -7.60800231008174e-05 2.84052428117138e [...]
+id5419 1.45502349625049e-05 -4.87320671468647e-05 6.61958958037039e-05 9.91006878031501e-05 -8.35537327119831e-05 6.14550499848489e-05 6.08758325899284e-05 8.10237931227423e-05 -4.66473969442907e-05 -9.28235638918439e-06 -2.03674694875141e-05 -0.000151969333690825 -2.00106134952440e-05 8.82290956031681e-05 -3.6330110267256e-05 -1.41804096577657e-05 -2.95294040951302e-05 3.9513326565247e-05 2.4968450386708e-05 1.5380321355359e-05 -9.54413689001443e-05 -0.000124178546545949 -6.716764724039 [...]
+id620 -3.64699813873321e-05 -3.12667497457492e-06 -9.1612523089629e-05 4.98062890259527e-05 -0.000103281458973591 -1.79389228489012e-05 5.82788722723501e-05 1.48905376999271e-05 -0.000211203457663495 -3.39702644785636e-05 7.9031843240652e-05 5.47505981396808e-05 -5.30731137195048e-05 -1.06584399815947e-06 -2.84629632126269e-07 -6.44265065658005e-05 -4.94718551026410e-05 -2.11324401668744e-05 -1.37067880967065e-05 1.55092880782057e-05 4.69795865301788e-05 8.07659534502165e-06 -8.926856871 [...]
+id6359 2.92297211243033e-05 -5.242166752635e-05 -3.35862578256847e-05 3.67658317742584e-05 -3.46411827747403e-05 9.04553506255255e-05 3.90785409468053e-05 3.24694882954104e-05 -3.74998941993703e-05 5.30135297311278e-05 -3.43867202281668e-05 -3.11342195414458e-05 3.79197649507509e-05 6.5056954284937e-05 -0.000403864801671088 1.47463247235614e-05 7.21885994643988e-05 -5.8679552442212e-06 -2.93158788960265e-05 2.75012058081205e-05 -2.74161730861275e-05 -0.000100945946792098 5.06752278653654 [...]
+id2418 3.60376462242249e-05 4.92708888543426e-05 2.673486866052e-05 -2.13547137495849e-05 6.46896781021729e-05 -2.22799020439876e-05 6.26848304996805e-05 -2.36344655111860e-06 -2.15587867196227e-05 7.75962149097829e-05 1.31989385461503e-05 6.43426699874726e-05 -5.06890365496309e-05 4.59074141089080e-05 -2.17232886046837e-05 -7.14517222455906e-05 9.97700648854922e-05 1.30870207600337e-05 -6.71534250856701e-06 8.06455994353034e-05 -6.01501141184053e-05 -0.000109613261794101 -6.708844249505 [...]
+id7928 -2.81994145120838e-05 -9.56689178086222e-05 2.89444838641305e-05 0.000150490491180050 0.000122290689336579 -3.62540376264508e-05 -2.58448289034854e-05 2.54334888154592e-05 4.97523932591468e-05 -7.69183675215692e-05 -1.32023872919743e-05 -9.42829668532815e-07 7.41331112284399e-05 4.70435136465164e-05 -1.60821260410441e-05 0.000100366955266991 -2.32363118607478e-05 -2.28716966955134e-05 -3.72016266956246e-05 4.59512364778242e-05 -5.99029372286963e-05 4.10578752243139e-05 5.653956604 [...]
+id4935 6.47651067035164e-06 3.79271237113946e-05 6.91065313238279e-05 7.18028450987167e-05 8.56273012017665e-05 3.82302635669868e-06 -1.07800187155449e-05 0.000144973625029566 6.57876571531705e-05 -1.53026781380726e-05 -0.000103960263764051 4.48046700154078e-05 4.7487327786089e-06 2.70059701582958e-05 9.91080285505394e-06 4.09711785218594e-05 -0.000142055862495247 7.68258235108915e-05 -5.00248939528721e-05 2.27853288762828e-05 -7.82961192261091e-06 6.52658149631596e-05 6.62429488903258e- [...]
+id1791 -3.33218512723775e-05 3.27353019987104e-05 -5.14134800808847e-05 4.51569493077279e-05 -5.63422993485185e-05 7.33368543278005e-06 6.4018960040354e-05 -0.000200856693272234 -0.000216952347263659 -8.87338861450386e-05 -4.95946545540685e-05 2.45880290231393e-05 -6.26642271264623e-05 7.09360482734821e-05 -3.51724573649691e-05 5.80000399799164e-05 4.01840923863906e-06 -5.77394870259266e-05 -7.96491067533696e-05 -1.45536939473064e-06 1.78524788167070e-05 -5.83524571645994e-05 0.000154056 [...]
+id6424 -0.000100942027502452 3.28183004996938e-05 8.57353071248542e-05 0.000107091815532118 6.0950925586994e-05 -0.000105627317531915 -2.34632841136530e-06 6.97247231111199e-05 1.38778718154044e-05 4.2921340217773e-05 -7.79021674772534e-05 -2.14685175495319e-06 -3.06150493304286e-05 9.5403041562564e-05 -3.33545707999536e-05 -4.26505884622514e-06 8.94667311251892e-05 1.30192247719236e-05 3.5553954600821e-05 6.9384360827769e-05 3.24764710807777e-06 3.82906074566005e-06 4.44824563502605e-05 [...]
+id8618 -4.85364473501149e-05 5.55689501404148e-05 -0.000128342581027056 -2.70421189914351e-05 2.53465763065506e-05 1.78710136777885e-05 2.39130863824291e-05 -6.24937536732965e-05 7.94828459760296e-05 4.53247483109039e-05 -1.04177318031911e-05 4.79650338133578e-05 2.73355355966535e-05 -1.26972969735385e-05 -3.75680283127684e-05 3.89600444521618e-05 -1.35379309979888e-05 4.35458305339839e-05 8.29474147092315e-05 -3.33591701441285e-05 -5.6396364377805e-05 -2.32474350735366e-05 -1.0568339755 [...]
+id1449 7.9978116295496e-05 4.09179240548189e-05 3.25355955759647e-06 -7.51177813086778e-05 2.36697081906614e-05 6.27271499707207e-05 -1.14854476066161e-05 -7.78201954075415e-05 6.61568542238323e-05 -2.72163738270461e-06 6.74716548967726e-06 -2.80582337817768e-05 -2.29753468561788e-05 3.78552045815655e-05 -2.64092301388625e-05 -1.98118804175635e-05 -5.71977505519616e-05 -1.48568268561488e-05 -3.40788606565304e-05 3.31026511577829e-05 5.07099210788071e-05 -1.21644579491120e-05 4.6367398224 [...]
+id8737 -0.000103674099135421 4.50805255260823e-05 1.01653521521767e-05 -0.000112292271826314 9.8097186754727e-05 4.28563458818114e-05 4.71057935351472e-05 1.06729443912582e-05 5.26803072861643e-05 0.000113144536136039 3.90374432410458e-05 4.01332590182603e-05 7.92585203314123e-05 -4.28035464015282e-06 1.43360256508443e-05 4.56532662619029e-05 3.62280330323862e-05 -8.01992844689913e-06 7.3469666476919e-05 1.11136733595847e-05 -3.65214315164148e-05 2.5188939734321e-05 2.99112996548427e-05 [...]
+id517 -7.78596913675664e-05 4.40188703795877e-05 -0.000117812629834292 0.000112355186520858 2.06941444099521e-05 -2.66528573086508e-05 4.21636966356656e-05 9.38859751348047e-07 6.64273935892611e-05 -8.81000708181744e-05 5.94836019415408e-05 -0.000340117666062762 -0.000215326229179257 2.97590926184366e-05 -1.26844424421088e-05 9.90228869193711e-05 -0.000130002841809959 -6.36398687784493e-05 -4.15343253013605e-05 7.81442800007989e-05 -5.78124163558028e-05 2.60993953927840e-05 7.63454482733 [...]
+id1960 4.65242869891432e-05 3.77572833827726e-05 0.000112164267209046 -7.74452274572044e-05 -6.14201430473864e-05 -2.3915941424579e-05 -8.12833828077306e-05 -6.76889815202224e-06 5.71684155421143e-06 4.17537444573566e-05 7.73108282624855e-06 3.94231288093339e-05 7.53005614738706e-06 -0.000175068183207395 9.60434905721762e-05 5.07894037331129e-05 4.58204100635254e-05 1.3943924210799e-05 -2.45675276416166e-05 3.09619138525671e-05 1.24813721982249e-05 -1.25367045414925e-05 -9.3607755813379e [...]
diff --git a/checks/inputfiles/mmscore_gen.dose.fvd b/checks/inputfiles/mmscore_gen.dose.fvd
new file mode 100644
index 0000000..c16de62
Binary files /dev/null and b/checks/inputfiles/mmscore_gen.dose.fvd differ
diff --git a/checks/inputfiles/mmscore_gen.dose.fvi b/checks/inputfiles/mmscore_gen.dose.fvi
new file mode 100644
index 0000000..1dee4bb
Binary files /dev/null and b/checks/inputfiles/mmscore_gen.dose.fvi differ
diff --git a/checks/inputfiles/mmscore_gen.mldose b/checks/inputfiles/mmscore_gen.mldose
new file mode 100644
index 0000000..712a01c
--- /dev/null
+++ b/checks/inputfiles/mmscore_gen.mldose
@@ -0,0 +1,500 @@
+1->id4 MLDOSE 1 0 2 0 1
+1->id10 MLDOSE 2 2 1 2 0
+1->id25 MLDOSE 1 2 0 2 0
+1->id33 MLDOSE 1 0 2 0 0
+1->id35 MLDOSE 1 0 0 0 0
+1->id58 MLDOSE 2 1 1 0 0
+1->id68 MLDOSE 0 1 1 0 1
+1->id74 MLDOSE 1 0 0 0 0
+1->id107 MLDOSE 1 0 0 1 0
+1->id119 MLDOSE 2 1 0 0 0
+1->id145 MLDOSE 1 0 1 1 1
+1->id188 MLDOSE 0 0 1 1 0
+1->id199 MLDOSE 0 2 1 0 1
+1->id266 MLDOSE 0 0 1 0 1
+1->id300 MLDOSE 2 0 0 0 0
+1->id327 MLDOSE 2 1 0 1 0
+1->id345 MLDOSE 1 0 0 0 0
+1->id386 MLDOSE 1 0 1 0 1
+1->id392 MLDOSE 0 1 1 0 1
+1->id403 MLDOSE 0 1 2 2 2
+1->id415 MLDOSE 1 1 1 0 0
+1->id496 MLDOSE 2 0 1 1 0
+1->id497 MLDOSE 1 0 2 1 1
+1->id504 MLDOSE 0 2 1 0 NaN
+1->id542 MLDOSE 0 1 2 1 1
+1->id575 MLDOSE 2 1 1 NaN 0
+1->id586 MLDOSE 1 1 0 0 0
+1->id608 MLDOSE 0 1 2 0 1
+1->id617 MLDOSE 2 1 0 0 0
+1->id666 MLDOSE 1 0 1 2 0
+1->id689 MLDOSE 2 0 0 1 0
+1->id722 MLDOSE 1 1 0 2 0
+1->id765 MLDOSE 2 0 1 0 0
+1->id780 MLDOSE 0 0 0 0 0
+1->id796 MLDOSE 2 0 NaN 1 0
+1->id802 MLDOSE 2 1 1 0 0
+1->id812 MLDOSE 1 1 2 0 1
+1->id830 MLDOSE 2 1 0 1 0
+1->id835 MLDOSE 1 1 1 1 0
+1->id892 MLDOSE 2 1 0 0 0
+1->id908 MLDOSE 1 NaN 0 0 0
+1->id938 MLDOSE 1 0 0 0 0
+1->id980 MLDOSE 0 0 0 0 0
+1->id994 MLDOSE 1 1 0 0 0
+1->id1047 MLDOSE 1 2 0 1 0
+1->id1052 MLDOSE 1 0 2 0 0
+1->id1055 MLDOSE 1 2 1 0 0
+1->id1068 MLDOSE 1 0 0 0 0
+1->id1076 MLDOSE 0 1 2 1 0
+1->id1109 MLDOSE 1 1 1 0 0
+1->id1156 MLDOSE 1 0 0 0 0
+1->id1176 MLDOSE 0 2 1 1 0
+1->id1186 MLDOSE 2 0 1 0 0
+1->id1193 MLDOSE 1 0 1 0 1
+1->id1251 MLDOSE 1 0 1 0 0
+1->id1265 MLDOSE 2 0 0 1 0
+1->id1382 MLDOSE 2 0 0 0 0
+1->id1394 MLDOSE 0 0 1 1 0
+1->id1408 MLDOSE NaN 0 1 0 0
+1->id1423 MLDOSE 1 1 0 0 0
+1->id1457 MLDOSE 0 0 0 0 0
+1->id1469 MLDOSE 0 1 1 0 0
+1->id1477 MLDOSE 1 0 1 1 0
+1->id1505 MLDOSE 1 2 2 0 0
+1->id1509 MLDOSE 1 1 1 0 1
+1->id1514 MLDOSE 1 2 0 0 0
+1->id1591 MLDOSE 1 2 0 0 0
+1->id1593 MLDOSE 2 0 0 0 0
+1->id1653 MLDOSE 1 1 1 0 1
+1->id1656 MLDOSE 1 1 1 NaN 0
+1->id1737 MLDOSE 2 2 0 1 0
+1->id1760 MLDOSE 2 1 1 1 0
+1->id1784 MLDOSE 2 0 0 1 0
+1->id1827 MLDOSE 2 1 1 0 0
+1->id1841 MLDOSE 0 1 0 0 0
+1->id1895 MLDOSE 1 0 1 1 1
+1->id1897 MLDOSE 2 0 0 0 0
+1->id1910 MLDOSE 0 1 1 1 0
+1->id1918 MLDOSE 1 1 0 1 0
+1->id1950 MLDOSE 1 2 2 1 0
+1->id1983 MLDOSE 0 1 1 0 1
+1->id1995 MLDOSE 1 1 0 0 0
+1->id2012 MLDOSE 1 2 0 1 0
+1->id2049 MLDOSE 1 0 2 0 1
+1->id2054 MLDOSE 1 0 0 1 0
+1->id2056 MLDOSE 1 1 NaN 0 0
+1->id2068 MLDOSE 1 1 0 0 0
+1->id2089 MLDOSE 0 1 1 1 1
+1->id2094 MLDOSE 1 0 0 1 0
+1->id2151 MLDOSE 1 0 1 0 0
+1->id2173 MLDOSE 1 0 0 1 0
+1->id2242 MLDOSE 1 1 0 0 0
+1->id2245 MLDOSE 2 2 1 1 0
+1->id2317 MLDOSE 0 1 2 0 0
+1->id2328 MLDOSE 1 1 1 0 1
+1->id2348 MLDOSE 1 2 2 0 1
+1->id2351 MLDOSE 1 2 0 1 1
+1->id2428 MLDOSE 1 1 0 0 0
+1->id2444 MLDOSE 0 1 0 0 0
+1->id2476 MLDOSE 2 0 1 0 0
+1->id2514 MLDOSE 2 2 0 0 0
+1->id2520 MLDOSE 2 1 0 0 0
+1->id2524 MLDOSE 1 1 1 0 0
+1->id2531 MLDOSE 1 1 0 0 0
+1->id2558 MLDOSE 1 0 0 0 0
+1->id2589 MLDOSE 0 1 1 0 0
+1->id2618 MLDOSE 1 0 NaN 1 0
+1->id2653 MLDOSE 1 1 1 0 0
+1->id2654 MLDOSE 1 0 0 0 0
+1->id2681 MLDOSE 2 1 0 1 0
+1->id2689 MLDOSE 2 2 1 0 0
+1->id2693 MLDOSE 2 1 0 0 0
+1->id2708 MLDOSE 0 1 1 0 1
+1->id2741 MLDOSE 2 2 1 1 0
+1->id2842 MLDOSE 2 1 0 1 NaN
+1->id2862 MLDOSE 2 1 0 0 0
+1->id2894 MLDOSE 0 2 NaN 0 0
+1->id2901 MLDOSE 2 0 1 0 0
+1->id2925 MLDOSE 1 2 1 0 0
+1->id2932 MLDOSE 1 0 0 0 0
+1->id2973 MLDOSE 2 1 0 0 0
+1->id2985 MLDOSE 1 1 1 0 1
+1->id3056 MLDOSE 2 1 0 0 0
+1->id3111 MLDOSE 1 2 1 0 0
+1->id3129 MLDOSE 0 1 1 0 1
+1->id3139 MLDOSE 1 2 0 0 0
+1->id3189 MLDOSE 2 1 0 2 0
+1->id3219 MLDOSE 1 1 1 0 0
+1->id3263 MLDOSE 1 0 1 0 0
+1->id3267 MLDOSE 1 1 2 1 1
+1->id3305 MLDOSE 1 1 0 0 0
+1->id3323 MLDOSE 2 1 0 0 0
+1->id3330 MLDOSE 0 1 0 1 0
+1->id3354 MLDOSE NaN 1 0 0 NaN
+1->id3371 MLDOSE 1 1 1 0 0
+1->id3398 MLDOSE 1 1 2 1 NaN
+1->id3400 MLDOSE 1 2 0 1 0
+1->id3417 MLDOSE 1 1 0 1 0
+1->id3465 MLDOSE 1 1 0 1 0
+1->id3521 MLDOSE 2 0 0 0 0
+1->id3573 MLDOSE 1 1 1 0 0
+1->id3593 MLDOSE 2 1 1 0 0
+1->id3630 MLDOSE 2 2 0 0 0
+1->id3635 MLDOSE 1 1 0 1 0
+1->id3641 MLDOSE 2 0 0 1 0
+1->id3657 MLDOSE 1 1 2 0 1
+1->id3692 MLDOSE 2 1 0 0 0
+1->id3701 MLDOSE 1 2 2 1 1
+1->id3709 MLDOSE 2 1 0 0 0
+1->id3735 MLDOSE 1 1 1 0 0
+1->id3809 MLDOSE 0 1 2 0 0
+1->id3820 MLDOSE 2 0 1 0 0
+1->id3823 MLDOSE 0 1 2 1 2
+1->id3828 MLDOSE 0 0 0 0 0
+1->id3831 MLDOSE 0 1 1 0 1
+1->id3847 MLDOSE 1 0 0 0 0
+1->id3857 MLDOSE 1 2 0 1 0
+1->id3933 MLDOSE 0 2 0 0 0
+1->id3934 MLDOSE 1 1 1 0 1
+1->id3942 MLDOSE 2 1 1 0 0
+1->id3957 MLDOSE 1 1 1 0 1
+1->id3970 MLDOSE 0 1 2 0 2
+1->id3983 MLDOSE 1 1 0 1 0
+1->id4008 MLDOSE 0 1 1 1 0
+1->id4024 MLDOSE 1 1 1 0 0
+1->id4031 MLDOSE 1 0 2 0 1
+1->id4067 MLDOSE 2 1 1 0 0
+1->id4097 MLDOSE 1 2 1 1 0
+1->id4225 MLDOSE 2 2 0 0 0
+1->id4229 MLDOSE 2 1 0 0 0
+1->id4233 MLDOSE 0 1 0 0 0
+1->id4254 MLDOSE 1 1 0 0 0
+1->id4259 MLDOSE 1 0 0 0 0
+1->id4261 MLDOSE 2 1 1 0 0
+1->id4284 MLDOSE 1 0 2 1 0
+1->id4287 MLDOSE 1 1 1 0 1
+1->id4288 MLDOSE 0 0 1 0 1
+1->id4309 MLDOSE 2 1 1 0 0
+1->id4328 MLDOSE 0 2 0 1 0
+1->id4337 MLDOSE 1 0 1 0 0
+1->id4363 MLDOSE 0 1 2 1 1
+1->id4380 MLDOSE 0 1 1 0 1
+1->id4395 MLDOSE 0 1 0 0 0
+1->id4416 MLDOSE 0 2 1 0 0
+1->id4446 MLDOSE 1 1 0 0 0
+1->id4449 MLDOSE 1 2 1 0 1
+1->id4512 MLDOSE 1 1 1 0 0
+1->id4552 MLDOSE 1 1 1 1 0
+1->id4561 MLDOSE 2 1 0 0 0
+1->id4606 MLDOSE 1 1 1 1 1
+1->id4629 MLDOSE 2 1 1 0 0
+1->id4645 MLDOSE 2 1 1 1 0
+1->id4652 MLDOSE 0 2 1 1 1
+1->id4673 MLDOSE 0 0 2 1 1
+1->id4675 MLDOSE 1 0 0 0 0
+1->id4689 MLDOSE 2 NaN 1 0 0
+1->id4705 MLDOSE 1 0 1 1 0
+1->id4710 MLDOSE 2 2 0 0 0
+1->id4717 MLDOSE 2 0 0 0 0
+1->id4734 MLDOSE 0 0 0 0 0
+1->id4751 MLDOSE 1 2 1 0 1
+1->id4781 MLDOSE 2 1 0 0 0
+1->id4798 MLDOSE 2 0 0 0 0
+1->id4806 MLDOSE 0 1 1 2 0
+1->id4807 MLDOSE 1 0 1 0 1
+1->id4812 MLDOSE 1 1 1 0 1
+1->id4834 MLDOSE 2 0 1 0 0
+1->id4842 MLDOSE NaN 1 1 1 1
+1->id4883 MLDOSE 1 0 0 0 0
+1->id4904 MLDOSE 2 0 1 1 0
+1->id4934 MLDOSE 2 2 1 0 0
+1->id4959 MLDOSE 1 1 0 0 0
+1->id4961 MLDOSE 2 0 0 0 0
+1->id5014 MLDOSE 0 1 0 0 0
+1->id5055 MLDOSE 0 1 1 0 0
+1->id5078 MLDOSE 1 1 1 1 0
+1->id5150 MLDOSE 0 1 0 0 0
+1->id5263 MLDOSE 1 1 1 0 0
+1->id5274 MLDOSE 2 1 1 0 0
+1->id5275 MLDOSE 1 1 1 1 1
+1->id5324 MLDOSE 2 0 0 0 0
+1->id5385 MLDOSE 2 0 0 0 0
+1->id5398 MLDOSE 0 1 1 0 1
+1->id5407 MLDOSE 1 2 2 0 0
+1->id5444 MLDOSE 0 2 1 0 1
+1->id5454 MLDOSE 1 2 0 0 0
+1->id5495 MLDOSE 1 0 0 0 0
+1->id5496 MLDOSE 0 1 1 0 0
+1->id5517 MLDOSE 2 2 0 0 0
+1->id5522 MLDOSE 0 1 2 0 1
+1->id5598 MLDOSE 2 0 NaN 0 0
+1->id5627 MLDOSE 0 1 1 0 0
+1->id5672 MLDOSE 1 1 1 0 0
+1->id5736 MLDOSE 1 0 2 0 0
+1->id5739 MLDOSE 1 2 1 2 1
+1->id5764 MLDOSE 0 1 0 1 0
+1->id5770 MLDOSE 1 0 1 0 0
+1->id5844 MLDOSE 1 1 1 0 0
+1->id5853 MLDOSE 0 2 0 0 0
+1->id5890 MLDOSE 1 0 0 1 0
+1->id5912 MLDOSE 2 2 1 0 0
+1->id5926 MLDOSE 1 0 1 1 0
+1->id5966 MLDOSE 1 1 1 0 1
+1->id5969 MLDOSE 0 2 1 2 0
+1->id5989 MLDOSE 1 0 0 0 0
+1->id5991 MLDOSE 1 2 1 2 0
+1->id6002 MLDOSE 2 1 2 1 0
+1->id6009 MLDOSE NaN 2 1 0 1
+1->id6011 MLDOSE 1 1 1 0 0
+1->id6020 MLDOSE 1 0 2 0 1
+1->id6043 MLDOSE 2 1 1 1 0
+1->id6051 MLDOSE 1 1 0 0 0
+1->id6139 MLDOSE 2 1 1 0 0
+1->id6141 MLDOSE 1 2 0 NaN 0
+1->id6208 MLDOSE 1 2 0 1 0
+1->id6221 MLDOSE 1 1 0 0 0
+1->id6222 MLDOSE 0 2 1 0 1
+1->id6237 MLDOSE 1 0 0 0 0
+1->id6243 MLDOSE 0 NaN 1 0 0
+1->id6244 MLDOSE 1 2 2 0 1
+1->id6255 MLDOSE 1 1 1 0 1
+1->id6270 MLDOSE 2 1 1 0 0
+1->id6278 MLDOSE 2 2 1 0 0
+1->id6290 MLDOSE 1 0 1 0 0
+1->id6306 MLDOSE 2 1 0 0 0
+1->id6333 MLDOSE 0 1 1 1 1
+1->id6352 MLDOSE 2 0 0 0 0
+1->id6386 MLDOSE 1 0 1 0 0
+1->id6443 MLDOSE 0 1 0 2 0
+1->id6488 MLDOSE 2 1 0 0 0
+1->id6499 MLDOSE 1 0 1 0 0
+1->id6501 MLDOSE 2 0 1 0 0
+1->id6506 MLDOSE 2 0 1 0 0
+1->id6544 MLDOSE 0 2 1 1 0
+1->id6554 MLDOSE 0 0 0 1 0
+1->id6588 MLDOSE 0 1 1 0 1
+1->id6603 MLDOSE 2 1 1 0 0
+1->id6641 MLDOSE 1 2 2 0 1
+1->id6645 MLDOSE 1 1 0 0 0
+1->id6651 MLDOSE 1 2 0 0 0
+1->id6661 MLDOSE 1 2 0 0 0
+1->id6663 MLDOSE 0 0 0 0 0
+1->id6709 MLDOSE 2 1 2 0 NaN
+1->id6723 MLDOSE 0 2 0 0 0
+1->id6740 MLDOSE 1 1 1 0 0
+1->id6773 MLDOSE 1 1 1 1 0
+1->id6802 MLDOSE 0 1 0 0 0
+1->id6820 MLDOSE 0 2 0 0 0
+1->id6829 MLDOSE 2 1 0 0 0
+1->id6840 MLDOSE 0 0 0 0 0
+1->id6847 MLDOSE 2 1 1 0 0
+1->id6857 MLDOSE 1 1 1 0 0
+1->id6866 MLDOSE 2 0 NaN 0 0
+1->id6950 MLDOSE 2 1 1 1 0
+1->id6998 MLDOSE 2 1 0 1 0
+1->id7036 MLDOSE 0 2 2 1 2
+1->id7038 MLDOSE 1 1 1 1 0
+1->id7063 MLDOSE 1 0 0 0 0
+1->id7072 MLDOSE 1 1 1 0 0
+1->id7094 MLDOSE 1 1 1 0 0
+1->id7100 MLDOSE 1 1 0 1 0
+1->id7139 MLDOSE 2 1 0 0 0
+1->id7147 MLDOSE 2 1 0 0 0
+1->id7157 MLDOSE 1 1 1 0 1
+1->id7173 MLDOSE 1 2 1 0 0
+1->id7202 MLDOSE 1 2 0 0 0
+1->id7212 MLDOSE 2 1 0 0 0
+1->id7249 MLDOSE 1 1 0 1 0
+1->id7255 MLDOSE 1 1 1 0 1
+1->id7257 MLDOSE 0 2 2 1 1
+1->id7333 MLDOSE 1 1 0 1 0
+1->id7355 MLDOSE 1 1 1 0 0
+1->id7369 MLDOSE 1 0 1 0 0
+1->id7415 MLDOSE 2 0 0 0 0
+1->id7451 MLDOSE 1 2 1 1 1
+1->id7499 MLDOSE 0 0 0 0 0
+1->id7507 MLDOSE 1 2 0 0 0
+1->id7514 MLDOSE 2 2 0 0 0
+1->id7528 MLDOSE 1 0 0 0 0
+1->id7541 MLDOSE 0 2 0 0 0
+1->id7546 MLDOSE 0 0 2 1 2
+1->id7563 MLDOSE 0 1 1 0 0
+1->id7570 MLDOSE 2 1 1 0 0
+1->id7589 MLDOSE 1 1 0 0 0
+1->id7598 MLDOSE 2 1 0 0 0
+1->id7607 MLDOSE 1 0 2 0 0
+1->id7623 MLDOSE 1 1 0 1 0
+1->id7652 MLDOSE 0 2 1 1 1
+1->id7733 MLDOSE 2 1 1 0 0
+1->id7737 MLDOSE 0 1 1 0 1
+1->id7738 MLDOSE 1 0 0 0 0
+1->id7771 MLDOSE 0 2 1 0 1
+1->id7772 MLDOSE 1 0 0 0 0
+1->id7801 MLDOSE 1 1 1 0 0
+1->id7814 MLDOSE 0 0 1 0 1
+1->id7835 MLDOSE 1 0 0 2 0
+1->id7850 MLDOSE 0 1 0 0 0
+1->id7868 MLDOSE 1 0 1 0 1
+1->id7909 MLDOSE 1 1 0 0 0
+1->id7939 MLDOSE 2 0 0 0 0
+1->id7949 MLDOSE 1 0 0 0 0
+1->id7952 MLDOSE 1 1 1 1 1
+1->id8059 MLDOSE 1 0 1 1 1
+1->id8109 MLDOSE 1 1 0 0 0
+1->id8115 MLDOSE 1 1 1 1 0
+1->id8128 MLDOSE 1 0 0 0 0
+1->id8136 MLDOSE 2 1 0 0 0
+1->id8138 MLDOSE 2 0 1 1 0
+1->id8143 MLDOSE 1 1 1 0 0
+1->id8208 MLDOSE 2 0 0 1 0
+1->id8213 MLDOSE 1 0 1 0 0
+1->id8268 MLDOSE 2 0 0 0 0
+1->id8281 MLDOSE 1 1 0 0 0
+1->id8286 MLDOSE 1 1 0 0 0
+1->id8326 MLDOSE 2 1 1 0 0
+1->id8400 MLDOSE 2 0 0 2 0
+1->id8423 MLDOSE 0 1 0 0 0
+1->id8433 MLDOSE 1 0 0 0 0
+1->id8517 MLDOSE 0 1 1 1 0
+1->id8583 MLDOSE 1 0 0 1 0
+1->id8604 MLDOSE 1 1 1 0 0
+1->id8614 MLDOSE 1 1 1 0 0
+1->id8690 MLDOSE 0 1 1 0 0
+1->id8693 MLDOSE 2 1 0 0 0
+1->id8729 MLDOSE 0 2 1 0 1
+1->id8752 MLDOSE 1 0 2 0 0
+1->id8753 MLDOSE 1 0 0 1 0
+1->id8772 MLDOSE 1 2 1 0 1
+1->id8801 MLDOSE 0 0 0 1 0
+1->id8819 MLDOSE 1 0 1 1 0
+1->id8842 MLDOSE 2 1 0 0 0
+1->id8859 MLDOSE NaN 0 1 1 0
+1->id8865 MLDOSE 1 1 2 0 0
+1->id8880 MLDOSE 1 1 0 0 0
+1->id8890 MLDOSE 1 1 1 0 0
+1->id8894 MLDOSE 1 0 0 1 0
+1->id8917 MLDOSE 1 2 1 0 0
+1->id8930 MLDOSE 1 1 0 0 0
+1->id8935 MLDOSE 1 1 0 1 0
+1->id8957 MLDOSE 2 1 1 0 0
+1->id8996 MLDOSE 1 2 0 0 0
+1->id9020 MLDOSE 1 0 0 0 0
+1->id9026 MLDOSE 2 1 0 0 0
+1->id9033 MLDOSE 2 1 0 0 0
+1->id9058 MLDOSE 2 0 1 0 0
+1->id9061 MLDOSE 1 1 1 0 1
+1->id9082 MLDOSE 1 1 0 0 0
+1->id9132 MLDOSE 2 1 0 0 0
+1->id9166 MLDOSE 2 1 1 0 0
+1->id9178 MLDOSE 1 0 0 0 0
+1->id9234 MLDOSE 1 0 1 0 0
+1->id9238 MLDOSE 0 2 1 0 0
+1->id9242 MLDOSE 1 1 0 0 0
+1->id9259 MLDOSE 1 1 0 0 0
+1->id9266 MLDOSE 2 1 1 0 0
+1->id9321 MLDOSE 2 2 0 0 0
+1->id9340 MLDOSE 1 1 1 0 0
+1->id9408 MLDOSE 1 1 1 0 0
+1->id9410 MLDOSE 1 1 0 0 0
+1->id9411 MLDOSE 1 1 0 1 0
+1->id9449 MLDOSE 1 0 NaN 0 0
+1->id9487 MLDOSE 1 1 2 1 NaN
+1->id9511 MLDOSE 1 1 0 0 0
+1->id9570 MLDOSE 1 2 0 1 0
+1->id9588 MLDOSE 2 1 1 0 0
+1->id9614 MLDOSE 1 1 1 0 0
+1->id9643 MLDOSE 2 1 1 0 0
+1->id9658 MLDOSE 2 1 1 1 NaN
+1->id9760 MLDOSE 1 0 0 1 0
+1->id9800 MLDOSE 0 2 0 0 0
+1->id9851 MLDOSE 1 0 1 0 1
+1->id9852 MLDOSE 1 0 1 1 0
+1->id9859 MLDOSE 2 1 1 1 0
+1->id9862 MLDOSE 0 1 1 0 1
+1->id9877 MLDOSE 1 1 1 1 0
+1->id9883 MLDOSE 2 0 0 0 0
+1->id9893 MLDOSE 2 0 1 1 0
+1->id9901 MLDOSE 1 1 0 0 0
+1->id9906 MLDOSE 1 0 1 0 0
+1->id9918 MLDOSE 0 1 1 0 1
+1->id9930 MLDOSE 1 1 0 0 0
+1->id9956 MLDOSE 0 0 0 0 0
+1->id9990 MLDOSE 1 1 1 0 1
+1->id9997 MLDOSE 1 0 1 0 1
+1->id5465 MLDOSE 0 2 1 0 0
+1->id4625 MLDOSE 0 0 1 0 1
+1->id7159 MLDOSE 0 0 1 0 0
+1->id8416 MLDOSE NaN 0 1 0 0
+1->id9444 MLDOSE 1 1 0 0 0
+1->id2622 MLDOSE 1 1 0 1 0
+1->id7493 MLDOSE 1 1 0 0 0
+1->id1102 MLDOSE 0 2 0 0 0
+1->id3210 MLDOSE 2 1 1 0 0
+1->id541 MLDOSE 1 1 0 0 0
+1->id6471 MLDOSE 1 0 0 0 0
+1->id697 MLDOSE 1 2 1 0 0
+1->id6924 MLDOSE 0 0 2 0 0
+1->id8060 MLDOSE 2 1 1 0 0
+1->id2004 MLDOSE 2 1 0 1 0
+1->id7534 MLDOSE 1 1 0 0 0
+1->id9836 MLDOSE 0 2 1 0 1
+1->id1389 MLDOSE 1 1 0 1 0
+1->id6062 MLDOSE 1 2 1 0 0
+1->id5546 MLDOSE 0 1 NaN 0 0
+1->id4096 MLDOSE 1 0 0 0 0
+1->id9185 MLDOSE 1 2 0 0 0
+1->id3917 MLDOSE 1 1 1 1 0
+1->id5941 MLDOSE 2 0 0 0 0
+1->id5701 MLDOSE 1 2 1 0 0
+1->id4711 MLDOSE 1 1 1 1 1
+1->id5689 MLDOSE 2 1 0 1 0
+1->id7947 MLDOSE 1 1 0 0 0
+1->id5556 MLDOSE 0 2 1 1 0
+1->id5472 MLDOSE 2 1 0 0 0
+1->id1482 MLDOSE 2 0 1 1 0
+1->id8034 MLDOSE NaN 2 0 0 0
+1->id6609 MLDOSE 1 0 0 NaN 0
+1->id2181 MLDOSE 1 1 0 0 0
+1->id226 MLDOSE 1 0 0 1 0
+1->id4947 MLDOSE 2 2 0 0 0
+1->id9626 MLDOSE 0 1 1 0 1
+1->id3825 MLDOSE 0 0 0 0 0
+1->id5114 MLDOSE 1 0 0 1 0
+1->id3059 MLDOSE 2 0 1 0 0
+1->id967 MLDOSE 1 2 1 0 0
+1->id4505 MLDOSE 1 1 1 0 0
+1->id455 MLDOSE 2 0 0 0 0
+1->id6934 MLDOSE 1 1 2 0 0
+1->id8474 MLDOSE 1 0 1 0 0
+1->id5971 MLDOSE 2 1 1 0 0
+1->id283 MLDOSE 1 0 1 0 0
+1->id2338 MLDOSE 1 1 1 0 1
+1->id4484 MLDOSE 2 2 0 0 0
+1->id1515 MLDOSE 1 1 1 0 0
+1->id9678 MLDOSE 1 1 0 0 0
+1->id2837 MLDOSE 2 0 0 0 0
+1->id8545 MLDOSE 1 0 1 1 0
+1->id4474 MLDOSE 0 1 1 1 0
+1->id2606 MLDOSE 0 1 1 1 0
+1->id4211 MLDOSE 2 1 0 0 0
+1->id992 MLDOSE 2 1 1 0 0
+1->id5334 MLDOSE 0 0 0 0 0
+1->id2605 MLDOSE 0 0 0 0 0
+1->id8351 MLDOSE 2 1 1 1 0
+1->id4425 MLDOSE 1 2 0 0 0
+1->id6808 MLDOSE 1 1 0 0 0
+1->id9406 MLDOSE 2 1 0 1 0
+1->id5419 MLDOSE 2 1 0 0 0
+1->id620 MLDOSE 1 1 0 1 0
+1->id6359 MLDOSE 2 1 1 1 0
+1->id2418 MLDOSE 0 1 1 0 0
+1->id7928 MLDOSE 2 1 0 0 0
+1->id4935 MLDOSE 2 1 0 0 0
+1->id1791 MLDOSE 1 0 0 0 0
+1->id6424 MLDOSE NaN 0 0 0 0
+1->id8618 MLDOSE 2 2 2 0 0
+1->id1449 MLDOSE 0 1 1 0 0
+1->id8737 MLDOSE 2 1 0 0 0
+1->id517 MLDOSE 0 0 1 0 0
+1->id1960 MLDOSE NaN 2 0 0 0
diff --git a/checks/inputfiles/mmscore_gen.mlinfo b/checks/inputfiles/mmscore_gen.mlinfo
new file mode 100644
index 0000000..8d2eeb1
--- /dev/null
+++ b/checks/inputfiles/mmscore_gen.mlinfo
@@ -0,0 +1,6 @@
+SNP Al1 Al2 Freq1 MAF Quality Rsq
+rs735579 AC B 0.5847 0.5847 0.5847 0.5847
+rs9088604 A CTG 0.5847 0.5847 0.5847 0.5847
+rs1413801 A B 0.5847 0.5847 0.5847 0.5847
+rs4911638 A B 0.5847 0.5847 0.5847 0.5847
+rs70099 A B 0.5847 0.5847 0.5847 1.2e-17
diff --git a/checks/inputfiles/mmscore_gen.mlprob b/checks/inputfiles/mmscore_gen.mlprob
new file mode 100644
index 0000000..06fa6fb
--- /dev/null
+++ b/checks/inputfiles/mmscore_gen.mlprob
@@ -0,0 +1,500 @@
+1->id4 MLPROB 0 1 0 0 1 0 0 0 0 1
+1->id10 MLPROB 1 0 1 0 0 1 1 0 0 0
+1->id25 MLPROB 0 1 1 0 0 0 1 0 0 0
+1->id33 MLPROB 0 1 0 0 1 0 0 0 0 0
+1->id35 MLPROB 0 1 0 0 0 0 0 0 0 0
+1->id58 MLPROB 1 0 0 1 0 1 0 0 0 0
+1->id68 MLPROB 0 0 0 1 0 1 0 0 0 1
+1->id74 MLPROB 0 1 0 0 0 0 0 0 0 0
+1->id107 MLPROB 0 1 0 0 0 0 0 1 0 0
+1->id119 MLPROB 1 0 0 1 0 0 0 0 0 0
+1->id145 MLPROB 0 1 0 0 0 1 0 1 0 1
+1->id188 MLPROB 0 0 0 0 0 1 0 1 0 0
+1->id199 MLPROB 0 0 1 0 0 1 0 0 0 1
+1->id266 MLPROB 0 0 0 0 0 1 0 0 0 1
+1->id300 MLPROB 1 0 0 0 0 0 0 0 0 0
+1->id327 MLPROB 1 0 0 1 0 0 0 1 0 0
+1->id345 MLPROB 0 1 0 0 0 0 0 0 0 0
+1->id386 MLPROB 0 1 0 0 0 1 0 0 0 1
+1->id392 MLPROB 0 0 0 1 0 1 0 0 0 1
+1->id403 MLPROB 0 0 0 1 1 0 1 0 1 0
+1->id415 MLPROB 0 1 0 1 0 1 0 0 0 0
+1->id496 MLPROB 1 0 0 0 0 1 0 1 0 0
+1->id497 MLPROB 0 1 0 0 1 0 0 1 0 1
+1->id504 MLPROB 0 0 1 0 0 1 0 0 NaN NaN
+1->id542 MLPROB 0 0 0 1 1 0 0 1 0 1
+1->id575 MLPROB 1 0 0 1 0 1 NaN NaN 0 0
+1->id586 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id608 MLPROB 0 0 0 1 1 0 0 0 0 1
+1->id617 MLPROB 1 0 0 1 0 0 0 0 0 0
+1->id666 MLPROB 0 1 0 0 0 1 1 0 0 0
+1->id689 MLPROB 1 0 0 0 0 0 0 1 0 0
+1->id722 MLPROB 0 1 0 1 0 0 1 0 0 0
+1->id765 MLPROB 1 0 0 0 0 1 0 0 0 0
+1->id780 MLPROB 0 0 0 0 0 0 0 0 0 0
+1->id796 MLPROB 1 0 0 0 NaN NaN 0 1 0 0
+1->id802 MLPROB 1 0 0 1 0 1 0 0 0 0
+1->id812 MLPROB 0 1 0 1 1 0 0 0 0 1
+1->id830 MLPROB 1 0 0 1 0 0 0 1 0 0
+1->id835 MLPROB 0 1 0 1 0 1 0 1 0 0
+1->id892 MLPROB 1 0 0 1 0 0 0 0 0 0
+1->id908 MLPROB 0 1 NaN NaN 0 0 0 0 0 0
+1->id938 MLPROB 0 1 0 0 0 0 0 0 0 0
+1->id980 MLPROB 0 0 0 0 0 0 0 0 0 0
+1->id994 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id1047 MLPROB 0 1 1 0 0 0 0 1 0 0
+1->id1052 MLPROB 0 1 0 0 1 0 0 0 0 0
+1->id1055 MLPROB 0 1 1 0 0 1 0 0 0 0
+1->id1068 MLPROB 0 1 0 0 0 0 0 0 0 0
+1->id1076 MLPROB 0 0 0 1 1 0 0 1 0 0
+1->id1109 MLPROB 0 1 0 1 0 1 0 0 0 0
+1->id1156 MLPROB 0 1 0 0 0 0 0 0 0 0
+1->id1176 MLPROB 0 0 1 0 0 1 0 1 0 0
+1->id1186 MLPROB 1 0 0 0 0 1 0 0 0 0
+1->id1193 MLPROB 0 1 0 0 0 1 0 0 0 1
+1->id1251 MLPROB 0 1 0 0 0 1 0 0 0 0
+1->id1265 MLPROB 1 0 0 0 0 0 0 1 0 0
+1->id1382 MLPROB 1 0 0 0 0 0 0 0 0 0
+1->id1394 MLPROB 0 0 0 0 0 1 0 1 0 0
+1->id1408 MLPROB NaN NaN 0 0 0 1 0 0 0 0
+1->id1423 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id1457 MLPROB 0 0 0 0 0 0 0 0 0 0
+1->id1469 MLPROB 0 0 0 1 0 1 0 0 0 0
+1->id1477 MLPROB 0 1 0 0 0 1 0 1 0 0
+1->id1505 MLPROB 0 1 1 0 1 0 0 0 0 0
+1->id1509 MLPROB 0 1 0 1 0 1 0 0 0 1
+1->id1514 MLPROB 0 1 1 0 0 0 0 0 0 0
+1->id1591 MLPROB 0 1 1 0 0 0 0 0 0 0
+1->id1593 MLPROB 1 0 0 0 0 0 0 0 0 0
+1->id1653 MLPROB 0 1 0 1 0 1 0 0 0 1
+1->id1656 MLPROB 0 1 0 1 0 1 NaN NaN 0 0
+1->id1737 MLPROB 1 0 1 0 0 0 0 1 0 0
+1->id1760 MLPROB 1 0 0 1 0 1 0 1 0 0
+1->id1784 MLPROB 1 0 0 0 0 0 0 1 0 0
+1->id1827 MLPROB 1 0 0 1 0 1 0 0 0 0
+1->id1841 MLPROB 0 0 0 1 0 0 0 0 0 0
+1->id1895 MLPROB 0 1 0 0 0 1 0 1 0 1
+1->id1897 MLPROB 1 0 0 0 0 0 0 0 0 0
+1->id1910 MLPROB 0 0 0 1 0 1 0 1 0 0
+1->id1918 MLPROB 0 1 0 1 0 0 0 1 0 0
+1->id1950 MLPROB 0 1 1 0 1 0 0 1 0 0
+1->id1983 MLPROB 0 0 0 1 0 1 0 0 0 1
+1->id1995 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id2012 MLPROB 0 1 1 0 0 0 0 1 0 0
+1->id2049 MLPROB 0 1 0 0 1 0 0 0 0 1
+1->id2054 MLPROB 0 1 0 0 0 0 0 1 0 0
+1->id2056 MLPROB 0 1 0 1 NaN NaN 0 0 0 0
+1->id2068 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id2089 MLPROB 0 0 0 1 0 1 0 1 0 1
+1->id2094 MLPROB 0 1 0 0 0 0 0 1 0 0
+1->id2151 MLPROB 0 1 0 0 0 1 0 0 0 0
+1->id2173 MLPROB 0 1 0 0 0 0 0 1 0 0
+1->id2242 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id2245 MLPROB 1 0 1 0 0 1 0 1 0 0
+1->id2317 MLPROB 0 0 0 1 1 0 0 0 0 0
+1->id2328 MLPROB 0 1 0 1 0 1 0 0 0 1
+1->id2348 MLPROB 0 1 1 0 1 0 0 0 0 1
+1->id2351 MLPROB 0 1 1 0 0 0 0 1 0 1
+1->id2428 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id2444 MLPROB 0 0 0 1 0 0 0 0 0 0
+1->id2476 MLPROB 1 0 0 0 0 1 0 0 0 0
+1->id2514 MLPROB 1 0 1 0 0 0 0 0 0 0
+1->id2520 MLPROB 1 0 0 1 0 0 0 0 0 0
+1->id2524 MLPROB 0 1 0 1 0 1 0 0 0 0
+1->id2531 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id2558 MLPROB 0 1 0 0 0 0 0 0 0 0
+1->id2589 MLPROB 0 0 0 1 0 1 0 0 0 0
+1->id2618 MLPROB 0 1 0 0 NaN NaN 0 1 0 0
+1->id2653 MLPROB 0 1 0 1 0 1 0 0 0 0
+1->id2654 MLPROB 0 1 0 0 0 0 0 0 0 0
+1->id2681 MLPROB 1 0 0 1 0 0 0 1 0 0
+1->id2689 MLPROB 1 0 1 0 0 1 0 0 0 0
+1->id2693 MLPROB 1 0 0 1 0 0 0 0 0 0
+1->id2708 MLPROB 0 0 0 1 0 1 0 0 0 1
+1->id2741 MLPROB 1 0 1 0 0 1 0 1 0 0
+1->id2842 MLPROB 1 0 0 1 0 0 0 1 NaN NaN
+1->id2862 MLPROB 1 0 0 1 0 0 0 0 0 0
+1->id2894 MLPROB 0 0 1 0 NaN NaN 0 0 0 0
+1->id2901 MLPROB 1 0 0 0 0 1 0 0 0 0
+1->id2925 MLPROB 0 1 1 0 0 1 0 0 0 0
+1->id2932 MLPROB 0 1 0 0 0 0 0 0 0 0
+1->id2973 MLPROB 1 0 0 1 0 0 0 0 0 0
+1->id2985 MLPROB 0 1 0 1 0 1 0 0 0 1
+1->id3056 MLPROB 1 0 0 1 0 0 0 0 0 0
+1->id3111 MLPROB 0 1 1 0 0 1 0 0 0 0
+1->id3129 MLPROB 0 0 0 1 0 1 0 0 0 1
+1->id3139 MLPROB 0 1 1 0 0 0 0 0 0 0
+1->id3189 MLPROB 1 0 0 1 0 0 1 0 0 0
+1->id3219 MLPROB 0 1 0 1 0 1 0 0 0 0
+1->id3263 MLPROB 0 1 0 0 0 1 0 0 0 0
+1->id3267 MLPROB 0 1 0 1 1 0 0 1 0 1
+1->id3305 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id3323 MLPROB 1 0 0 1 0 0 0 0 0 0
+1->id3330 MLPROB 0 0 0 1 0 0 0 1 0 0
+1->id3354 MLPROB NaN NaN 0 1 0 0 0 0 NaN NaN
+1->id3371 MLPROB 0 1 0 1 0 1 0 0 0 0
+1->id3398 MLPROB 0 1 0 1 1 0 0 1 NaN NaN
+1->id3400 MLPROB 0 1 1 0 0 0 0 1 0 0
+1->id3417 MLPROB 0 1 0 1 0 0 0 1 0 0
+1->id3465 MLPROB 0 1 0 1 0 0 0 1 0 0
+1->id3521 MLPROB 1 0 0 0 0 0 0 0 0 0
+1->id3573 MLPROB 0 1 0 1 0 1 0 0 0 0
+1->id3593 MLPROB 1 0 0 1 0 1 0 0 0 0
+1->id3630 MLPROB 1 0 1 0 0 0 0 0 0 0
+1->id3635 MLPROB 0 1 0 1 0 0 0 1 0 0
+1->id3641 MLPROB 1 0 0 0 0 0 0 1 0 0
+1->id3657 MLPROB 0 1 0 1 1 0 0 0 0 1
+1->id3692 MLPROB 1 0 0 1 0 0 0 0 0 0
+1->id3701 MLPROB 0 1 1 0 1 0 0 1 0 1
+1->id3709 MLPROB 1 0 0 1 0 0 0 0 0 0
+1->id3735 MLPROB 0 1 0 1 0 1 0 0 0 0
+1->id3809 MLPROB 0 0 0 1 1 0 0 0 0 0
+1->id3820 MLPROB 1 0 0 0 0 1 0 0 0 0
+1->id3823 MLPROB 0 0 0 1 1 0 0 1 1 0
+1->id3828 MLPROB 0 0 0 0 0 0 0 0 0 0
+1->id3831 MLPROB 0 0 0 1 0 1 0 0 0 1
+1->id3847 MLPROB 0 1 0 0 0 0 0 0 0 0
+1->id3857 MLPROB 0 1 1 0 0 0 0 1 0 0
+1->id3933 MLPROB 0 0 1 0 0 0 0 0 0 0
+1->id3934 MLPROB 0 1 0 1 0 1 0 0 0 1
+1->id3942 MLPROB 1 0 0 1 0 1 0 0 0 0
+1->id3957 MLPROB 0 1 0 1 0 1 0 0 0 1
+1->id3970 MLPROB 0 0 0 1 1 0 0 0 1 0
+1->id3983 MLPROB 0 1 0 1 0 0 0 1 0 0
+1->id4008 MLPROB 0 0 0 1 0 1 0 1 0 0
+1->id4024 MLPROB 0 1 0 1 0 1 0 0 0 0
+1->id4031 MLPROB 0 1 0 0 1 0 0 0 0 1
+1->id4067 MLPROB 1 0 0 1 0 1 0 0 0 0
+1->id4097 MLPROB 0 1 1 0 0 1 0 1 0 0
+1->id4225 MLPROB 1 0 1 0 0 0 0 0 0 0
+1->id4229 MLPROB 1 0 0 1 0 0 0 0 0 0
+1->id4233 MLPROB 0 0 0 1 0 0 0 0 0 0
+1->id4254 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id4259 MLPROB 0 1 0 0 0 0 0 0 0 0
+1->id4261 MLPROB 1 0 0 1 0 1 0 0 0 0
+1->id4284 MLPROB 0 1 0 0 1 0 0 1 0 0
+1->id4287 MLPROB 0 1 0 1 0 1 0 0 0 1
+1->id4288 MLPROB 0 0 0 0 0 1 0 0 0 1
+1->id4309 MLPROB 1 0 0 1 0 1 0 0 0 0
+1->id4328 MLPROB 0 0 1 0 0 0 0 1 0 0
+1->id4337 MLPROB 0 1 0 0 0 1 0 0 0 0
+1->id4363 MLPROB 0 0 0 1 1 0 0 1 0 1
+1->id4380 MLPROB 0 0 0 1 0 1 0 0 0 1
+1->id4395 MLPROB 0 0 0 1 0 0 0 0 0 0
+1->id4416 MLPROB 0 0 1 0 0 1 0 0 0 0
+1->id4446 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id4449 MLPROB 0 1 1 0 0 1 0 0 0 1
+1->id4512 MLPROB 0 1 0 1 0 1 0 0 0 0
+1->id4552 MLPROB 0 1 0 1 0 1 0 1 0 0
+1->id4561 MLPROB 1 0 0 1 0 0 0 0 0 0
+1->id4606 MLPROB 0 1 0 1 0 1 0 1 0 1
+1->id4629 MLPROB 1 0 0 1 0 1 0 0 0 0
+1->id4645 MLPROB 1 0 0 1 0 1 0 1 0 0
+1->id4652 MLPROB 0 0 1 0 0 1 0 1 0 1
+1->id4673 MLPROB 0 0 0 0 1 0 0 1 0 1
+1->id4675 MLPROB 0 1 0 0 0 0 0 0 0 0
+1->id4689 MLPROB 1 0 NaN NaN 0 1 0 0 0 0
+1->id4705 MLPROB 0 1 0 0 0 1 0 1 0 0
+1->id4710 MLPROB 1 0 1 0 0 0 0 0 0 0
+1->id4717 MLPROB 1 0 0 0 0 0 0 0 0 0
+1->id4734 MLPROB 0 0 0 0 0 0 0 0 0 0
+1->id4751 MLPROB 0 1 1 0 0 1 0 0 0 1
+1->id4781 MLPROB 1 0 0 1 0 0 0 0 0 0
+1->id4798 MLPROB 1 0 0 0 0 0 0 0 0 0
+1->id4806 MLPROB 0 0 0 1 0 1 1 0 0 0
+1->id4807 MLPROB 0 1 0 0 0 1 0 0 0 1
+1->id4812 MLPROB 0 1 0 1 0 1 0 0 0 1
+1->id4834 MLPROB 1 0 0 0 0 1 0 0 0 0
+1->id4842 MLPROB NaN NaN 0 1 0 1 0 1 0 1
+1->id4883 MLPROB 0 1 0 0 0 0 0 0 0 0
+1->id4904 MLPROB 1 0 0 0 0 1 0 1 0 0
+1->id4934 MLPROB 1 0 1 0 0 1 0 0 0 0
+1->id4959 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id4961 MLPROB 1 0 0 0 0 0 0 0 0 0
+1->id5014 MLPROB 0 0 0 1 0 0 0 0 0 0
+1->id5055 MLPROB 0 0 0 1 0 1 0 0 0 0
+1->id5078 MLPROB 0 1 0 1 0 1 0 1 0 0
+1->id5150 MLPROB 0 0 0 1 0 0 0 0 0 0
+1->id5263 MLPROB 0 1 0 1 0 1 0 0 0 0
+1->id5274 MLPROB 1 0 0 1 0 1 0 0 0 0
+1->id5275 MLPROB 0 1 0 1 0 1 0 1 0 1
+1->id5324 MLPROB 1 0 0 0 0 0 0 0 0 0
+1->id5385 MLPROB 1 0 0 0 0 0 0 0 0 0
+1->id5398 MLPROB 0 0 0 1 0 1 0 0 0 1
+1->id5407 MLPROB 0 1 1 0 1 0 0 0 0 0
+1->id5444 MLPROB 0 0 1 0 0 1 0 0 0 1
+1->id5454 MLPROB 0 1 1 0 0 0 0 0 0 0
+1->id5495 MLPROB 0 1 0 0 0 0 0 0 0 0
+1->id5496 MLPROB 0 0 0 1 0 1 0 0 0 0
+1->id5517 MLPROB 1 0 1 0 0 0 0 0 0 0
+1->id5522 MLPROB 0 0 0 1 1 0 0 0 0 1
+1->id5598 MLPROB 1 0 0 0 NaN NaN 0 0 0 0
+1->id5627 MLPROB 0 0 0 1 0 1 0 0 0 0
+1->id5672 MLPROB 0 1 0 1 0 1 0 0 0 0
+1->id5736 MLPROB 0 1 0 0 1 0 0 0 0 0
+1->id5739 MLPROB 0 1 1 0 0 1 1 0 0 1
+1->id5764 MLPROB 0 0 0 1 0 0 0 1 0 0
+1->id5770 MLPROB 0 1 0 0 0 1 0 0 0 0
+1->id5844 MLPROB 0 1 0 1 0 1 0 0 0 0
+1->id5853 MLPROB 0 0 1 0 0 0 0 0 0 0
+1->id5890 MLPROB 0 1 0 0 0 0 0 1 0 0
+1->id5912 MLPROB 1 0 1 0 0 1 0 0 0 0
+1->id5926 MLPROB 0 1 0 0 0 1 0 1 0 0
+1->id5966 MLPROB 0 1 0 1 0 1 0 0 0 1
+1->id5969 MLPROB 0 0 1 0 0 1 1 0 0 0
+1->id5989 MLPROB 0 1 0 0 0 0 0 0 0 0
+1->id5991 MLPROB 0 1 1 0 0 1 1 0 0 0
+1->id6002 MLPROB 1 0 0 1 1 0 0 1 0 0
+1->id6009 MLPROB NaN NaN 1 0 0 1 0 0 0 1
+1->id6011 MLPROB 0 1 0 1 0 1 0 0 0 0
+1->id6020 MLPROB 0 1 0 0 1 0 0 0 0 1
+1->id6043 MLPROB 1 0 0 1 0 1 0 1 0 0
+1->id6051 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id6139 MLPROB 1 0 0 1 0 1 0 0 0 0
+1->id6141 MLPROB 0 1 1 0 0 0 NaN NaN 0 0
+1->id6208 MLPROB 0 1 1 0 0 0 0 1 0 0
+1->id6221 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id6222 MLPROB 0 0 1 0 0 1 0 0 0 1
+1->id6237 MLPROB 0 1 0 0 0 0 0 0 0 0
+1->id6243 MLPROB 0 0 NaN NaN 0 1 0 0 0 0
+1->id6244 MLPROB 0 1 1 0 1 0 0 0 0 1
+1->id6255 MLPROB 0 1 0 1 0 1 0 0 0 1
+1->id6270 MLPROB 1 0 0 1 0 1 0 0 0 0
+1->id6278 MLPROB 1 0 1 0 0 1 0 0 0 0
+1->id6290 MLPROB 0 1 0 0 0 1 0 0 0 0
+1->id6306 MLPROB 1 0 0 1 0 0 0 0 0 0
+1->id6333 MLPROB 0 0 0 1 0 1 0 1 0 1
+1->id6352 MLPROB 1 0 0 0 0 0 0 0 0 0
+1->id6386 MLPROB 0 1 0 0 0 1 0 0 0 0
+1->id6443 MLPROB 0 0 0 1 0 0 1 0 0 0
+1->id6488 MLPROB 1 0 0 1 0 0 0 0 0 0
+1->id6499 MLPROB 0 1 0 0 0 1 0 0 0 0
+1->id6501 MLPROB 1 0 0 0 0 1 0 0 0 0
+1->id6506 MLPROB 1 0 0 0 0 1 0 0 0 0
+1->id6544 MLPROB 0 0 1 0 0 1 0 1 0 0
+1->id6554 MLPROB 0 0 0 0 0 0 0 1 0 0
+1->id6588 MLPROB 0 0 0 1 0 1 0 0 0 1
+1->id6603 MLPROB 1 0 0 1 0 1 0 0 0 0
+1->id6641 MLPROB 0 1 1 0 1 0 0 0 0 1
+1->id6645 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id6651 MLPROB 0 1 1 0 0 0 0 0 0 0
+1->id6661 MLPROB 0 1 1 0 0 0 0 0 0 0
+1->id6663 MLPROB 0 0 0 0 0 0 0 0 0 0
+1->id6709 MLPROB 1 0 0 1 1 0 0 0 NaN NaN
+1->id6723 MLPROB 0 0 1 0 0 0 0 0 0 0
+1->id6740 MLPROB 0 1 0 1 0 1 0 0 0 0
+1->id6773 MLPROB 0 1 0 1 0 1 0 1 0 0
+1->id6802 MLPROB 0 0 0 1 0 0 0 0 0 0
+1->id6820 MLPROB 0 0 1 0 0 0 0 0 0 0
+1->id6829 MLPROB 1 0 0 1 0 0 0 0 0 0
+1->id6840 MLPROB 0 0 0 0 0 0 0 0 0 0
+1->id6847 MLPROB 1 0 0 1 0 1 0 0 0 0
+1->id6857 MLPROB 0 1 0 1 0 1 0 0 0 0
+1->id6866 MLPROB 1 0 0 0 NaN NaN 0 0 0 0
+1->id6950 MLPROB 1 0 0 1 0 1 0 1 0 0
+1->id6998 MLPROB 1 0 0 1 0 0 0 1 0 0
+1->id7036 MLPROB 0 0 1 0 1 0 0 1 1 0
+1->id7038 MLPROB 0 1 0 1 0 1 0 1 0 0
+1->id7063 MLPROB 0 1 0 0 0 0 0 0 0 0
+1->id7072 MLPROB 0 1 0 1 0 1 0 0 0 0
+1->id7094 MLPROB 0 1 0 1 0 1 0 0 0 0
+1->id7100 MLPROB 0 1 0 1 0 0 0 1 0 0
+1->id7139 MLPROB 1 0 0 1 0 0 0 0 0 0
+1->id7147 MLPROB 1 0 0 1 0 0 0 0 0 0
+1->id7157 MLPROB 0 1 0 1 0 1 0 0 0 1
+1->id7173 MLPROB 0 1 1 0 0 1 0 0 0 0
+1->id7202 MLPROB 0 1 1 0 0 0 0 0 0 0
+1->id7212 MLPROB 1 0 0 1 0 0 0 0 0 0
+1->id7249 MLPROB 0 1 0 1 0 0 0 1 0 0
+1->id7255 MLPROB 0 1 0 1 0 1 0 0 0 1
+1->id7257 MLPROB 0 0 1 0 1 0 0 1 0 1
+1->id7333 MLPROB 0 1 0 1 0 0 0 1 0 0
+1->id7355 MLPROB 0 1 0 1 0 1 0 0 0 0
+1->id7369 MLPROB 0 1 0 0 0 1 0 0 0 0
+1->id7415 MLPROB 1 0 0 0 0 0 0 0 0 0
+1->id7451 MLPROB 0 1 1 0 0 1 0 1 0 1
+1->id7499 MLPROB 0 0 0 0 0 0 0 0 0 0
+1->id7507 MLPROB 0 1 1 0 0 0 0 0 0 0
+1->id7514 MLPROB 1 0 1 0 0 0 0 0 0 0
+1->id7528 MLPROB 0 1 0 0 0 0 0 0 0 0
+1->id7541 MLPROB 0 0 1 0 0 0 0 0 0 0
+1->id7546 MLPROB 0 0 0 0 1 0 0 1 1 0
+1->id7563 MLPROB 0 0 0 1 0 1 0 0 0 0
+1->id7570 MLPROB 1 0 0 1 0 1 0 0 0 0
+1->id7589 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id7598 MLPROB 1 0 0 1 0 0 0 0 0 0
+1->id7607 MLPROB 0 1 0 0 1 0 0 0 0 0
+1->id7623 MLPROB 0 1 0 1 0 0 0 1 0 0
+1->id7652 MLPROB 0 0 1 0 0 1 0 1 0 1
+1->id7733 MLPROB 1 0 0 1 0 1 0 0 0 0
+1->id7737 MLPROB 0 0 0 1 0 1 0 0 0 1
+1->id7738 MLPROB 0 1 0 0 0 0 0 0 0 0
+1->id7771 MLPROB 0 0 1 0 0 1 0 0 0 1
+1->id7772 MLPROB 0 1 0 0 0 0 0 0 0 0
+1->id7801 MLPROB 0 1 0 1 0 1 0 0 0 0
+1->id7814 MLPROB 0 0 0 0 0 1 0 0 0 1
+1->id7835 MLPROB 0 1 0 0 0 0 1 0 0 0
+1->id7850 MLPROB 0 0 0 1 0 0 0 0 0 0
+1->id7868 MLPROB 0 1 0 0 0 1 0 0 0 1
+1->id7909 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id7939 MLPROB 1 0 0 0 0 0 0 0 0 0
+1->id7949 MLPROB 0 1 0 0 0 0 0 0 0 0
+1->id7952 MLPROB 0 1 0 1 0 1 0 1 0 1
+1->id8059 MLPROB 0 1 0 0 0 1 0 1 0 1
+1->id8109 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id8115 MLPROB 0 1 0 1 0 1 0 1 0 0
+1->id8128 MLPROB 0 1 0 0 0 0 0 0 0 0
+1->id8136 MLPROB 1 0 0 1 0 0 0 0 0 0
+1->id8138 MLPROB 1 0 0 0 0 1 0 1 0 0
+1->id8143 MLPROB 0 1 0 1 0 1 0 0 0 0
+1->id8208 MLPROB 1 0 0 0 0 0 0 1 0 0
+1->id8213 MLPROB 0 1 0 0 0 1 0 0 0 0
+1->id8268 MLPROB 1 0 0 0 0 0 0 0 0 0
+1->id8281 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id8286 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id8326 MLPROB 1 0 0 1 0 1 0 0 0 0
+1->id8400 MLPROB 1 0 0 0 0 0 1 0 0 0
+1->id8423 MLPROB 0 0 0 1 0 0 0 0 0 0
+1->id8433 MLPROB 0 1 0 0 0 0 0 0 0 0
+1->id8517 MLPROB 0 0 0 1 0 1 0 1 0 0
+1->id8583 MLPROB 0 1 0 0 0 0 0 1 0 0
+1->id8604 MLPROB 0 1 0 1 0 1 0 0 0 0
+1->id8614 MLPROB 0 1 0 1 0 1 0 0 0 0
+1->id8690 MLPROB 0 0 0 1 0 1 0 0 0 0
+1->id8693 MLPROB 1 0 0 1 0 0 0 0 0 0
+1->id8729 MLPROB 0 0 1 0 0 1 0 0 0 1
+1->id8752 MLPROB 0 1 0 0 1 0 0 0 0 0
+1->id8753 MLPROB 0 1 0 0 0 0 0 1 0 0
+1->id8772 MLPROB 0 1 1 0 0 1 0 0 0 1
+1->id8801 MLPROB 0 0 0 0 0 0 0 1 0 0
+1->id8819 MLPROB 0 1 0 0 0 1 0 1 0 0
+1->id8842 MLPROB 1 0 0 1 0 0 0 0 0 0
+1->id8859 MLPROB NaN NaN 0 0 0 1 0 1 0 0
+1->id8865 MLPROB 0 1 0 1 1 0 0 0 0 0
+1->id8880 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id8890 MLPROB 0 1 0 1 0 1 0 0 0 0
+1->id8894 MLPROB 0 1 0 0 0 0 0 1 0 0
+1->id8917 MLPROB 0 1 1 0 0 1 0 0 0 0
+1->id8930 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id8935 MLPROB 0 1 0 1 0 0 0 1 0 0
+1->id8957 MLPROB 1 0 0 1 0 1 0 0 0 0
+1->id8996 MLPROB 0 1 1 0 0 0 0 0 0 0
+1->id9020 MLPROB 0 1 0 0 0 0 0 0 0 0
+1->id9026 MLPROB 1 0 0 1 0 0 0 0 0 0
+1->id9033 MLPROB 1 0 0 1 0 0 0 0 0 0
+1->id9058 MLPROB 1 0 0 0 0 1 0 0 0 0
+1->id9061 MLPROB 0 1 0 1 0 1 0 0 0 1
+1->id9082 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id9132 MLPROB 1 0 0 1 0 0 0 0 0 0
+1->id9166 MLPROB 1 0 0 1 0 1 0 0 0 0
+1->id9178 MLPROB 0 1 0 0 0 0 0 0 0 0
+1->id9234 MLPROB 0 1 0 0 0 1 0 0 0 0
+1->id9238 MLPROB 0 0 1 0 0 1 0 0 0 0
+1->id9242 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id9259 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id9266 MLPROB 1 0 0 1 0 1 0 0 0 0
+1->id9321 MLPROB 1 0 1 0 0 0 0 0 0 0
+1->id9340 MLPROB 0 1 0 1 0 1 0 0 0 0
+1->id9408 MLPROB 0 1 0 1 0 1 0 0 0 0
+1->id9410 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id9411 MLPROB 0 1 0 1 0 0 0 1 0 0
+1->id9449 MLPROB 0 1 0 0 NaN NaN 0 0 0 0
+1->id9487 MLPROB 0 1 0 1 1 0 0 1 NaN NaN
+1->id9511 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id9570 MLPROB 0 1 1 0 0 0 0 1 0 0
+1->id9588 MLPROB 1 0 0 1 0 1 0 0 0 0
+1->id9614 MLPROB 0 1 0 1 0 1 0 0 0 0
+1->id9643 MLPROB 1 0 0 1 0 1 0 0 0 0
+1->id9658 MLPROB 1 0 0 1 0 1 0 1 NaN NaN
+1->id9760 MLPROB 0 1 0 0 0 0 0 1 0 0
+1->id9800 MLPROB 0 0 1 0 0 0 0 0 0 0
+1->id9851 MLPROB 0 1 0 0 0 1 0 0 0 1
+1->id9852 MLPROB 0 1 0 0 0 1 0 1 0 0
+1->id9859 MLPROB 1 0 0 1 0 1 0 1 0 0
+1->id9862 MLPROB 0 0 0 1 0 1 0 0 0 1
+1->id9877 MLPROB 0 1 0 1 0 1 0 1 0 0
+1->id9883 MLPROB 1 0 0 0 0 0 0 0 0 0
+1->id9893 MLPROB 1 0 0 0 0 1 0 1 0 0
+1->id9901 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id9906 MLPROB 0 1 0 0 0 1 0 0 0 0
+1->id9918 MLPROB 0 0 0 1 0 1 0 0 0 1
+1->id9930 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id9956 MLPROB 0 0 0 0 0 0 0 0 0 0
+1->id9990 MLPROB 0 1 0 1 0 1 0 0 0 1
+1->id9997 MLPROB 0 1 0 0 0 1 0 0 0 1
+1->id5465 MLPROB 0 0 1 0 0 1 0 0 0 0
+1->id4625 MLPROB 0 0 0 0 0 1 0 0 0 1
+1->id7159 MLPROB 0 0 0 0 0 1 0 0 0 0
+1->id8416 MLPROB NaN NaN 0 0 0 1 0 0 0 0
+1->id9444 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id2622 MLPROB 0 1 0 1 0 0 0 1 0 0
+1->id7493 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id1102 MLPROB 0 0 1 0 0 0 0 0 0 0
+1->id3210 MLPROB 1 0 0 1 0 1 0 0 0 0
+1->id541 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id6471 MLPROB 0 1 0 0 0 0 0 0 0 0
+1->id697 MLPROB 0 1 1 0 0 1 0 0 0 0
+1->id6924 MLPROB 0 0 0 0 1 0 0 0 0 0
+1->id8060 MLPROB 1 0 0 1 0 1 0 0 0 0
+1->id2004 MLPROB 1 0 0 1 0 0 0 1 0 0
+1->id7534 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id9836 MLPROB 0 0 1 0 0 1 0 0 0 1
+1->id1389 MLPROB 0 1 0 1 0 0 0 1 0 0
+1->id6062 MLPROB 0 1 1 0 0 1 0 0 0 0
+1->id5546 MLPROB 0 0 0 1 NaN NaN 0 0 0 0
+1->id4096 MLPROB 0 1 0 0 0 0 0 0 0 0
+1->id9185 MLPROB 0 1 1 0 0 0 0 0 0 0
+1->id3917 MLPROB 0 1 0 1 0 1 0 1 0 0
+1->id5941 MLPROB 1 0 0 0 0 0 0 0 0 0
+1->id5701 MLPROB 0 1 1 0 0 1 0 0 0 0
+1->id4711 MLPROB 0 1 0 1 0 1 0 1 0 1
+1->id5689 MLPROB 1 0 0 1 0 0 0 1 0 0
+1->id7947 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id5556 MLPROB 0 0 1 0 0 1 0 1 0 0
+1->id5472 MLPROB 1 0 0 1 0 0 0 0 0 0
+1->id1482 MLPROB 1 0 0 0 0 1 0 1 0 0
+1->id8034 MLPROB NaN NaN 1 0 0 0 0 0 0 0
+1->id6609 MLPROB 0 1 0 0 0 0 NaN NaN 0 0
+1->id2181 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id226 MLPROB 0 1 0 0 0 0 0 1 0 0
+1->id4947 MLPROB 1 0 1 0 0 0 0 0 0 0
+1->id9626 MLPROB 0 0 0 1 0 1 0 0 0 1
+1->id3825 MLPROB 0 0 0 0 0 0 0 0 0 0
+1->id5114 MLPROB 0 1 0 0 0 0 0 1 0 0
+1->id3059 MLPROB 1 0 0 0 0 1 0 0 0 0
+1->id967 MLPROB 0 1 1 0 0 1 0 0 0 0
+1->id4505 MLPROB 0 1 0 1 0 1 0 0 0 0
+1->id455 MLPROB 1 0 0 0 0 0 0 0 0 0
+1->id6934 MLPROB 0 1 0 1 1 0 0 0 0 0
+1->id8474 MLPROB 0 1 0 0 0 1 0 0 0 0
+1->id5971 MLPROB 1 0 0 1 0 1 0 0 0 0
+1->id283 MLPROB 0 1 0 0 0 1 0 0 0 0
+1->id2338 MLPROB 0 1 0 1 0 1 0 0 0 1
+1->id4484 MLPROB 1 0 1 0 0 0 0 0 0 0
+1->id1515 MLPROB 0 1 0 1 0 1 0 0 0 0
+1->id9678 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id2837 MLPROB 1 0 0 0 0 0 0 0 0 0
+1->id8545 MLPROB 0 1 0 0 0 1 0 1 0 0
+1->id4474 MLPROB 0 0 0 1 0 1 0 1 0 0
+1->id2606 MLPROB 0 0 0 1 0 1 0 1 0 0
+1->id4211 MLPROB 1 0 0 1 0 0 0 0 0 0
+1->id992 MLPROB 1 0 0 1 0 1 0 0 0 0
+1->id5334 MLPROB 0 0 0 0 0 0 0 0 0 0
+1->id2605 MLPROB 0 0 0 0 0 0 0 0 0 0
+1->id8351 MLPROB 1 0 0 1 0 1 0 1 0 0
+1->id4425 MLPROB 0 1 1 0 0 0 0 0 0 0
+1->id6808 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id9406 MLPROB 1 0 0 1 0 0 0 1 0 0
+1->id5419 MLPROB 1 0 0 1 0 0 0 0 0 0
+1->id620 MLPROB 0 1 0 1 0 0 0 1 0 0
+1->id6359 MLPROB 1 0 0 1 0 1 0 1 0 0
+1->id2418 MLPROB 0 0 0 1 0 1 0 0 0 0
+1->id7928 MLPROB 1 0 0 1 0 0 0 0 0 0
+1->id4935 MLPROB 1 0 0 1 0 0 0 0 0 0
+1->id1791 MLPROB 0 1 0 0 0 0 0 0 0 0
+1->id6424 MLPROB NaN NaN 0 0 0 0 0 0 0 0
+1->id8618 MLPROB 1 0 1 0 1 0 0 0 0 0
+1->id1449 MLPROB 0 0 0 1 0 1 0 0 0 0
+1->id8737 MLPROB 1 0 0 1 0 0 0 0 0 0
+1->id517 MLPROB 0 0 0 0 0 1 0 0 0 0
+1->id1960 MLPROB NaN NaN 1 0 0 0 0 0 0 0
diff --git a/checks/inputfiles/mmscore_gen.prob.fvd b/checks/inputfiles/mmscore_gen.prob.fvd
new file mode 100644
index 0000000..bc56e4d
Binary files /dev/null and b/checks/inputfiles/mmscore_gen.prob.fvd differ
diff --git a/checks/inputfiles/mmscore_gen.prob.fvi b/checks/inputfiles/mmscore_gen.prob.fvi
new file mode 100644
index 0000000..1bd4e29
Binary files /dev/null and b/checks/inputfiles/mmscore_gen.prob.fvi differ
diff --git a/checks/inputfiles/mmscore_pheno.PHE b/checks/inputfiles/mmscore_pheno.PHE
new file mode 100644
index 0000000..a277088
--- /dev/null
+++ b/checks/inputfiles/mmscore_pheno.PHE
@@ -0,0 +1,501 @@
+id height_residuals
+id4 -9.8130684563732
+id10 -3.47642823404311
+id25 6.26095765925731
+id33 11.3778459732314
+id35 -4.79095430879806
+id58 0.370774680307449
+id68 -8.65341409945518
+id74 4.95199124661318
+id107 -9.8280719102797
+id119 -2.05732829257249
+id145 -11.0053065203606
+id188 10.5684266561150
+id199 -8.71144640748489
+id266 -10.8128568432748
+id300 1.0195502997056
+id327 -3.7888225605937
+id345 -1.68040743597638
+id386 8.34187263008582
+id392 -10.7763909646547
+id403 -13.3594925810281
+id415 11.8359072103713
+id496 5.10677928638211
+id497 -10.7400082781849
+id504 -8.63655134111576
+id542 -4.01591406453912
+id575 -2.12341534210501
+id586 -16.0447985928816
+id608 -8.9912423243371
+id617 -6.90731288125582
+id666 0.563723455274641
+id689 10.4066232174958
+id722 -2.83795563094370
+id765 -0.125989177421445
+id780 -4.43119585976052
+id796 0.941018457375321
+id802 2.72037466743413
+id812 4.32510152907633
+id830 -13.0483091132892
+id835 18.6892597836088
+id892 0.556771363748197
+id908 1.61754574930427
+id938 6.37385612058515
+id980 13.8899429152807
+id994 -4.44218215757641
+id1047 -7.49298976970613
+id1052 2.43234373992473
+id1055 -0.583915991056585
+id1068 -2.04247224486994
+id1076 3.50761816208049
+id1109 -7.69449401049312
+id1156 -7.67898835525202
+id1176 1.10542823464897
+id1186 -3.9592856566029
+id1193 -8.27698180641326
+id1251 6.53321043068226
+id1265 13.7962430289602
+id1382 5.2380357372179
+id1394 0.452181685059628
+id1408 -3.75355790480694
+id1423 5.89873704601058
+id1457 11.1354832747320
+id1469 9.0606547835391
+id1477 11.3681340715066
+id1505 -6.18932731138415
+id1509 -6.84319168403212
+id1514 -5.96178175303527
+id1591 1.69100048369290
+id1593 -4.03244983210041
+id1653 -17.2580746348943
+id1656 12.5462602712063
+id1737 -2.46090392227131
+id1760 12.3115532434616
+id1784 3.87794638649257
+id1827 -0.518595007278947
+id1841 14.2072014632652
+id1895 -8.2482149369763
+id1897 8.8749603612025
+id1910 -5.97847715653035
+id1918 -1.76181430936728
+id1950 -1.63488005279669
+id1983 -2.14549008150408
+id1995 -5.04268790108853
+id2012 -3.20559043450839
+id2049 -3.13305763940451
+id2054 6.6177950813842
+id2056 -7.72515994844642
+id2068 10.9949723234170
+id2089 -4.89985136875183
+id2094 8.17524434709682
+id2151 6.72214379662239
+id2173 -3.43851781285727
+id2242 4.93109773793748
+id2245 -1.89001998834146
+id2317 6.19878719400907
+id2328 3.19741508196412
+id2348 1.90282004140229
+id2351 -1.54389479372281
+id2428 -1.03040098410276
+id2444 -5.26200945510791
+id2476 8.55206759050233
+id2514 6.48863862644171
+id2520 3.74287783934892
+id2524 -4.72069946857982
+id2531 5.7933146870285
+id2558 -7.63002944866747
+id2589 16.9657170995498
+id2618 6.35112143844248
+id2653 1.11833235934660
+id2654 -17.9253150504631
+id2681 2.79019415415405
+id2689 -1.07371367653616
+id2693 -13.3887678204363
+id2708 -11.3119778636504
+id2741 -7.394987730216
+id2842 -2.26488453432884
+id2862 -3.75796419603515
+id2894 0.922267381560118
+id2901 -2.55627896717709
+id2925 2.79106926754633
+id2932 -5.36359702664322
+id2973 0.643379103735981
+id2985 -9.89973602344017
+id3056 4.18812433519736
+id3111 -11.8773565056154
+id3129 -11.0763144547548
+id3139 -1.48714630106701
+id3189 9.60962074383804
+id3219 4.66790583061299
+id3263 -2.31141217004202
+id3267 -20.1958005366562
+id3305 -0.445348110669642
+id3323 4.84916137937606
+id3330 -4.62286854706736
+id3354 10.2868375628467
+id3371 1.66536551629321
+id3398 9.66677267409943
+id3400 -2.45935625128766
+id3417 8.30667798509873
+id3465 -2.74920926718139
+id3521 -0.455455602876469
+id3573 -2.77209433503862
+id3593 0.490679463433452
+id3630 6.30578504340369
+id3635 2.72215984933186
+id3641 6.85222444776304
+id3657 0.648514832521869
+id3692 -2.77480675805444
+id3701 -1.44173157176252
+id3709 13.0593762753571
+id3735 7.46361406189902
+id3809 -12.9303865594249
+id3820 -2.31456812074236
+id3823 -10.7256444160499
+id3828 13.3376002305737
+id3831 2.45280474361962
+id3847 2.91954273603349
+id3857 -2.48849567520048
+id3933 -5.5598937797115
+id3934 2.77251126475713
+id3942 -2.9730485450782
+id3957 -3.22378594681646
+id3970 -3.8159845914692
+id3983 13.4040029122255
+id4008 -8.84059278203713
+id4024 1.20514777912325
+id4031 9.2602156478988
+id4067 5.02906704192955
+id4097 9.48681901049201
+id4225 -3.70611798608215
+id4229 3.46161164395616
+id4233 13.7165843693059
+id4254 -0.554851658842949
+id4259 9.22248031030895
+id4261 6.99144472980353
+id4284 -2.84725446753006
+id4287 -7.1362992544891
+id4288 -14.5507963533545
+id4309 3.14991112389362
+id4328 -2.32243094010457
+id4337 -7.04827296283764
+id4363 -0.0698465329223552
+id4380 -8.65249763451999
+id4395 0.0983110187692375
+id4416 13.4468237297463
+id4446 4.3222508343961
+id4449 -5.24161983953474
+id4512 1.29418407062701
+id4552 1.65816825541773
+id4561 0.756700903883825
+id4606 -2.08774559558768
+id4629 -2.16599113294816
+id4645 -10.3515097019612
+id4652 4.58504635309785
+id4673 8.27948500228098
+id4675 -1.73992427713699
+id4689 1.48889468103945
+id4705 3.19457119711456
+id4710 6.66200989261543
+id4717 11.1855358629543
+id4734 4.22040966680999
+id4751 -13.7660927768540
+id4781 5.42999106077042
+id4798 -5.56183220832767
+id4806 -6.31898179745696
+id4807 -12.6015674562566
+id4812 -1.83585656283950
+id4834 1.28690641603740
+id4842 -4.70320649610326
+id4883 -3.32973189572022
+id4904 17.811751648638
+id4934 -8.76656160222461
+id4959 11.5390567878313
+id4961 9.48033687242435
+id5014 -2.22860060877608
+id5055 1.41366276608940
+id5078 7.58788949436791
+id5150 0.243516721992222
+id5263 -2.81560333143190
+id5274 0.624028494875603
+id5275 -9.26746590591844
+id5324 1.30910673356234
+id5385 12.5722308928482
+id5398 2.02801932328646
+id5407 -13.5745812497076
+id5444 6.54888728788927
+id5454 -0.96823902515203
+id5495 -14.3039571177545
+id5496 11.0888024325840
+id5517 -5.47515077323865
+id5522 -11.6590765185805
+id5598 -2.06215204747215
+id5627 -2.39591715695238
+id5672 9.54924433171917
+id5736 12.5180526080973
+id5739 1.05582810639763
+id5764 -11.6024578646660
+id5770 -7.83932792381216
+id5844 -1.55857457500829
+id5853 -13.7888455143191
+id5890 4.78609843080784
+id5912 7.775602976615
+id5926 -1.81095004132476
+id5966 -15.6009969578792
+id5969 9.72366966331373
+id5989 -4.09701088958161
+id5991 2.9652833809171
+id6002 10.4855557008254
+id6009 -8.27174185086076
+id6011 3.27360637668770
+id6020 6.03545342139572
+id6043 -2.85036649693646
+id6051 0.982287013348696
+id6139 0.377806155972223
+id6141 -7.90864671555954
+id6208 -2.57569084064119
+id6221 2.46656177959903
+id6222 -7.80973202691865
+id6237 9.9896302475631
+id6243 -10.0359884419365
+id6244 -11.8065916731486
+id6255 -4.50024284656817
+id6270 8.28980551196634
+id6278 0.500569404060286
+id6290 -7.1586482842159
+id6306 -7.37523537289937
+id6333 -1.20429934651497
+id6352 11.0643852424278
+id6386 5.00369075724862
+id6443 9.97205858860599
+id6488 8.85544422821135
+id6499 9.20755205806154
+id6501 -5.44893064482676
+id6506 -4.07810304406422
+id6544 14.5810665170695
+id6554 -9.60088030340611
+id6588 -6.99199996260145
+id6603 -1.62904803674573
+id6641 -13.7886340930404
+id6645 2.37253176023961
+id6651 -5.04331538121389
+id6661 -0.704660340435112
+id6663 -13.4129631299766
+id6709 -5.23963547311016
+id6723 2.88817515381976
+id6740 -1.78348139502958
+id6773 -3.49185176205748
+id6802 5.27710865653376
+id6820 8.2041010281982
+id6829 -2.78518159278889
+id6840 -8.85104209454437
+id6847 10.1079632079496
+id6857 -6.9921445803565
+id6866 -13.4743852930216
+id6950 5.35397306801752
+id6998 -1.52744663773433
+id7036 4.99774754515752
+id7038 2.66121819614244
+id7063 0.914734405550405
+id7072 -9.695395265531
+id7094 1.84562943400567
+id7100 6.78269797241907
+id7139 11.5018526971034
+id7147 12.0397289581248
+id7157 -4.7407352168797
+id7173 6.88190838598365
+id7202 -5.05775991938052
+id7212 9.09307647631337
+id7249 -3.86329968015949
+id7255 0.305682060336096
+id7257 -18.043584701435
+id7333 2.52512896857812
+id7355 -4.76383817198823
+id7369 14.2266953756547
+id7415 4.62890911191184
+id7451 -8.58397344252646
+id7499 -3.63853274805868
+id7507 -15.3307266165870
+id7514 1.88177209136060
+id7528 -2.87564214411515
+id7541 -3.09856510783567
+id7546 -12.2128666335233
+id7563 -12.5120329990722
+id7570 10.9896421558761
+id7589 0.668225901813514
+id7598 1.59353417804979
+id7607 10.8397619118758
+id7623 2.75878163041227
+id7652 -5.71334420600579
+id7733 3.10139830871887
+id7737 -1.21271173112484
+id7738 -3.68859727048559
+id7771 3.21933622708772
+id7772 4.02729122571023
+id7801 -0.542988181172774
+id7814 -10.7423837334054
+id7835 1.96242978349161
+id7850 1.17944607615479
+id7868 -7.50228003871874
+id7909 14.1645934850349
+id7939 8.2409626149015
+id7949 -5.11191728390492
+id7952 0.208635727417203
+id8059 9.53293352064236
+id8109 6.65482628625821
+id8115 -0.169732871924225
+id8128 2.99353281843813
+id8136 8.93122897198711
+id8138 0.226550873908735
+id8143 -1.62754340479034
+id8208 5.85579542297879
+id8213 -13.6904521214715
+id8268 2.28608404062857
+id8281 5.90038777841633
+id8286 -15.8417066428000
+id8326 -1.14386449533453
+id8400 9.01170948129558
+id8423 -7.73926159991657
+id8433 -10.7006907988163
+id8517 8.3647428336422
+id8583 -1.61387464986231
+id8604 -7.0474115827468
+id8614 5.94710244728671
+id8690 1.01357678512568
+id8693 8.27497278010742
+id8729 1.13941153738713
+id8752 2.50510652309325
+id8753 21.3898972216323
+id8772 -8.56088480355734
+id8801 -1.42620785884498
+id8819 8.92435710890854
+id8842 4.21375320064249
+id8859 -1.76964863536890
+id8865 -0.217560311036976
+id8880 -3.74997299647362
+id8890 -6.6345570028351
+id8894 2.9922170676781
+id8917 -1.97459611360495
+id8930 -0.864905650848414
+id8935 7.76222394722697
+id8957 -8.5799998074967
+id8996 -4.84924577458537
+id9020 1.32498654680339
+id9026 -10.8113097752653
+id9033 11.8096870690078
+id9058 8.95805012214262
+id9061 13.0670972855680
+id9082 1.77055560738197
+id9132 3.71531559496754
+id9166 -13.6299923984097
+id9178 11.1539483954152
+id9234 4.07680838807391
+id9238 -11.8278673764981
+id9242 14.8499426767544
+id9259 -0.517264103718645
+id9266 -0.330529378587045
+id9321 6.05236977327473
+id9340 5.69901323056473
+id9408 -4.86068444935017
+id9410 -3.39497281181809
+id9411 5.76244055088708
+id9449 -0.141694213661907
+id9487 -0.424068985671198
+id9511 -2.50056859539191
+id9570 -5.70994021458506
+id9588 -8.93851133485146
+id9614 3.16805492518429
+id9643 2.01399004530327
+id9658 4.31993481279881
+id9760 -6.15971038056583
+id9800 -9.91227356337072
+id9851 5.20314626552536
+id9852 8.91634453797772
+id9859 -7.67261035998001
+id9862 -14.9322410088834
+id9877 5.96441997838309
+id9883 -0.797846067865805
+id9893 8.61196855310797
+id9901 7.05392825387844
+id9906 7.29261281595666
+id9918 -1.46137669770457
+id9930 11.9788824938749
+id9956 -10.2219823662575
+id9990 -4.12763845013933
+id9997 -5.30703431204967
+id5465 -1.33392626968177
+id4625 -5.30865392795351
+id7159 -0.613367375623511
+id8416 13.3668133460982
+id9444 -8.1783788042574
+id2622 -0.428390070835661
+id7493 -0.465038897628659
+id1102 -1.96079080623446
+id3210 -11.3334162493650
+id541 -0.957147938201473
+id6471 -8.07056650221006
+id697 11.0382164138445
+id6924 11.2957847234190
+id8060 -7.46904576640023
+id2004 -5.13957259084708
+id7534 1.6176576536391
+id9836 -14.3832149770321
+id1389 -0.433194087213963
+id6062 -1.46634694249545
+id5546 8.25121769606528
+id4096 10.9591547424284
+id9185 8.64326584844116
+id3917 -7.49974016847997
+id5941 0.602849507413111
+id5701 -3.11760282135481
+id4711 1.86061349964899
+id5689 0.107090908192788
+id7947 -3.32206780568123
+id5556 7.72232993668686
+id5472 1.12038775302278
+id1482 1.04723121047530
+id8034 0.829451724877003
+id6609 4.48472595306544
+id2181 -3.23577105786839
+id226 6.27735536924834
+id4947 -9.80281231655286
+id9626 1.24687736587904
+id3825 -0.321912602203469
+id5114 -6.72482118027102
+id3059 -11.7298414692798
+id967 -5.46511489661177
+id4505 3.88839194748164
+id455 3.29483891492129
+id6934 5.95126406534638
+id8474 -7.93404258564834
+id5971 2.74662036993772
+id283 0.411797519675673
+id2338 -2.92601067952791
+id4484 3.42123541813919
+id1515 -4.62622531209129
+id9678 -3.2232420662462
+id2837 2.43569333385668
+id8545 0.296028158339482
+id4474 2.1812775176183
+id2606 -1.35003584909430
+id4211 13.1712202731341
+id992 7.30788504975453
+id5334 -10.6625920529139
+id2605 1.20881436881101
+id8351 0.73307546605318
+id4425 15.2521845681741
+id6808 1.02846714464368
+id9406 6.98304704183053
+id5419 -11.3170464742224
+id620 2.0486293581188
+id6359 -4.649789125967
+id2418 -3.16606691908274
+id7928 9.52253153722106
+id4935 10.7059866141828
+id1791 4.28075877145483
+id6424 7.08526899267414
+id8618 -0.344672827034543
+id1449 0.0253685057562052
+id8737 13.3570839983232
+id517 -17.7742363069539
+id1960 0.166008984154331
diff --git a/checks/inputfiles/test.dose.fvd b/checks/inputfiles/test.dose.fvd
new file mode 100644
index 0000000..531d0bd
Binary files /dev/null and b/checks/inputfiles/test.dose.fvd differ
diff --git a/checks/inputfiles/test.dose.fvi b/checks/inputfiles/test.dose.fvi
new file mode 100644
index 0000000..1937e3f
Binary files /dev/null and b/checks/inputfiles/test.dose.fvi differ
diff --git a/checks/inputfiles/test.map b/checks/inputfiles/test.map
new file mode 100644
index 0000000..d640156
--- /dev/null
+++ b/checks/inputfiles/test.map
@@ -0,0 +1,6 @@
+rs position 0 1
+rs7247199 204938 A G
+rs8102643 207859 C T
+rs8102615 211970 A T
+rs8105536 212033 A G
+rs2312724 217034 C T
diff --git a/checks/inputfiles/test.mldose b/checks/inputfiles/test.mldose
new file mode 100644
index 0000000..a2f10e4
--- /dev/null
+++ b/checks/inputfiles/test.mldose
@@ -0,0 +1,200 @@
+1->id636728 MLDOSE 0.678 1.622 1.732 1.585 1.867
+2->id890314 MLDOSE 0.66 1.621 1.737 1.59 1.869
+3->id102874 MLDOSE 0.684 1.623 1.731 1.585 1.866
+4->id200949 MLDOSE 0.667 NaN 1.728 1.576 1.866
+5->id336491 MLDOSE 0.66 1.609 1.737 1.577 1.869
+6->id988766 MLDOSE 0.687 1.622 1.738 1.59 1.868
+7->id21999 MLDOSE 0.67 1.62 1.735 1.588 1.867
+8->id433893 MLDOSE 0.663 1.615 1.734 1.572 1.869
+9->id688932 MLDOSE 0.672 1.619 1.729 1.585 1.862
+10->id394203 MLDOSE 0.666 1.619 1.729 1.58 1.863
+11->id995678 MLDOSE 0.672 1.619 1.733 1.583 1.867
+12->id694339 MLDOSE 0.666 1.615 1.733 1.59 1.869
+13->id256455 MLDOSE 0.673 1.617 1.737 1.584 1.869
+14->id14836 MLDOSE 0.672 1.62 1.737 1.582 1.869
+15->id817128 MLDOSE 0.666 1.609 1.735 1.589 1.868
+16->id803325 MLDOSE 0.678 1.62 1.73 1.591 1.868
+17->id521287 MLDOSE 0.661 1.618 1.736 1.585 1.87
+18->id701472 MLDOSE 0.666 1.621 1.731 1.585 1.867
+19->id850010 MLDOSE 0.669 1.615 1.736 1.581 1.868
+20->id268483 MLDOSE 0.669 1.618 1.732 1.582 1.865
+21->id738781 MLDOSE 0.666 1.611 1.73 1.59 1.862
+22->id28411 MLDOSE 0.66 1.62 1.735 1.57 1.869
+23->id541635 MLDOSE 0.669 1.622 1.725 1.558 1.868
+24->id751101 MLDOSE 0.669 1.624 1.738 1.589 1.869
+25->id826300 MLDOSE 0.666 1.605 1.736 1.586 1.869
+26->id884387 MLDOSE 0.661 1.604 1.734 1.587 1.868
+27->id492414 MLDOSE 0.666 1.619 1.733 1.583 1.866
+28->id268871 MLDOSE 0.669 1.621 1.731 1.576 1.869
+29->id627354 MLDOSE 0.666 1.615 1.735 1.59 1.869
+30->id503932 MLDOSE 0.66 1.62 1.735 1.586 1.867
+31->id163442 MLDOSE 0.675 1.621 1.737 1.586 1.869
+32->id317797 MLDOSE 0.654 1.625 1.739 1.57 1.87
+33->id687857 MLDOSE 0.667 1.621 1.734 1.586 1.869
+34->id871570 MLDOSE 0.666 1.61 1.731 1.576 1.864
+35->id724067 MLDOSE 0.666 1.619 1.736 1.583 1.868
+36->id874076 MLDOSE 0.676 1.617 1.738 1.585 1.869
+37->id927863 MLDOSE 0.67 1.62 1.734 1.586 1.865
+38->id369805 MLDOSE 0.663 1.616 1.73 1.583 1.867
+39->id668376 MLDOSE 0.675 1.617 1.736 1.582 1.869
+40->id717362 MLDOSE 0.66 1.62 1.736 1.59 1.869
+41->id665504 MLDOSE 0.669 1.618 1.732 1.578 1.867
+42->id336637 MLDOSE 0.661 1.618 1.734 1.576 1.865
+43->id60633 MLDOSE 0.669 1.619 1.731 1.579 1.866
+44->id848600 MLDOSE 0.664 1.615 1.737 1.576 1.869
+45->id169514 MLDOSE 0.664 1.615 1.737 1.583 1.869
+46->id690732 MLDOSE 0.663 1.619 1.737 1.586 1.868
+47->id684760 MLDOSE 0.667 1.62 1.734 1.578 1.866
+48->id553502 MLDOSE 0.672 1.608 1.732 1.59 1.869
+49->id214917 MLDOSE 0.669 1.618 1.727 1.588 1.865
+50->id849169 MLDOSE 0.664 1.624 1.733 1.588 1.867
+51->id941921 MLDOSE 0.667 1.619 1.731 1.588 1.862
+52->id784646 MLDOSE 0.663 1.603 1.739 1.584 1.87
+53->id520954 MLDOSE 0.664 1.619 1.732 1.581 1.864
+54->id996355 MLDOSE 0.66 1.605 1.736 1.586 1.865
+55->id96730 MLDOSE 0.664 1.619 1.736 1.573 1.868
+56->id673442 MLDOSE 0.666 1.609 1.735 1.575 1.867
+57->id68305 MLDOSE 0.672 1.618 1.735 1.585 1.866
+58->id653025 MLDOSE 0.678 1.617 1.738 1.585 1.868
+59->id208543 MLDOSE 0.664 1.618 1.734 1.58 1.868
+60->id335725 MLDOSE 0.666 1.616 1.714 1.593 1.845
+61->id980400 MLDOSE 0.663 1.607 1.733 1.588 1.867
+62->id869939 MLDOSE 0.667 1.619 1.733 1.588 1.865
+63->id297563 MLDOSE 0.673 1.614 1.72 1.585 1.866
+64->id852663 MLDOSE 0.666 1.603 1.729 1.585 1.87
+65->id162070 MLDOSE 0.666 1.619 1.728 1.572 1.868
+66->id272875 MLDOSE 0.66 1.605 1.737 1.584 1.869
+67->id163787 MLDOSE 0.661 1.616 1.723 1.584 1.87
+68->id422204 MLDOSE 0.663 1.615 1.734 1.576 1.867
+69->id120197 MLDOSE 0.66 1.62 1.731 1.588 1.87
+70->id33660 MLDOSE 0.658 1.62 1.736 1.571 1.869
+71->id803855 MLDOSE 0.669 1.616 1.732 1.586 1.865
+72->id255048 MLDOSE 0.675 1.616 1.726 1.582 1.866
+73->id690936 MLDOSE 0.657 1.588 1.738 1.59 1.87
+74->id126807 MLDOSE 0.667 1.612 1.731 1.589 1.864
+75->id99016 MLDOSE 0.667 1.612 1.734 1.59 1.864
+76->id883847 MLDOSE 0.666 1.611 1.736 1.587 1.869
+77->id354523 MLDOSE 0.669 1.62 1.734 1.584 1.868
+78->id737255 MLDOSE 0.666 1.623 1.733 1.569 1.867
+79->id990941 MLDOSE 0.675 1.62 1.734 1.585 1.869
+80->id25464 MLDOSE 0.673 1.62 1.737 1.579 1.868
+81->id918375 MLDOSE 0.672 1.621 1.737 1.58 1.869
+82->id537828 MLDOSE 0.666 1.613 1.729 1.585 1.869
+83->id682778 MLDOSE 0.658 1.621 1.737 1.573 1.869
+84->id587547 MLDOSE 0.669 1.62 1.738 1.585 1.868
+85->id670874 MLDOSE 0.666 1.618 1.734 1.58 1.867
+86->id444459 MLDOSE 0.66 1.617 1.734 1.577 1.87
+87->id777456 MLDOSE 0.663 1.615 1.732 1.581 1.865
+88->id452384 MLDOSE 0.666 1.625 1.738 1.588 1.869
+89->id826975 MLDOSE 0.669 1.619 1.731 1.582 1.865
+90->id519567 MLDOSE 0.66 1.621 1.732 1.586 1.869
+91->id84292 MLDOSE 0.663 1.618 1.737 1.582 1.868
+92->id124432 MLDOSE 0.684 1.621 1.736 1.591 1.867
+93->id800145 MLDOSE 0.681 1.621 1.737 1.587 1.869
+94->id153857 MLDOSE 0.661 1.617 1.739 1.585 1.87
+95->id587157 MLDOSE 0.663 1.619 1.736 1.584 1.866
+96->id506262 MLDOSE 0.664 1.613 1.719 1.592 1.855
+97->id634462 MLDOSE 0.673 1.623 1.737 1.585 1.869
+98->id687592 MLDOSE 0.664 1.615 1.726 1.584 1.869
+99->id955526 MLDOSE 0.663 1.621 1.737 1.566 1.869
+100->id181850 MLDOSE 0.66 1.603 1.736 1.586 1.869
+101->id159506 MLDOSE 0.667 1.621 1.735 1.585 1.868
+102->id609051 MLDOSE 0.675 1.618 1.73 1.59 1.86
+103->id963886 MLDOSE 0.663 1.612 1.739 1.581 1.87
+104->id405792 MLDOSE 0.682 1.621 1.737 1.589 1.869
+105->id494172 MLDOSE 0.66 1.607 1.736 1.58 1.868
+106->id964637 MLDOSE 0.663 1.616 1.73 1.59 1.861
+107->id799355 MLDOSE 0.669 1.62 1.735 1.585 1.868
+108->id157111 MLDOSE 0.658 1.601 1.731 1.588 1.87
+109->id114524 MLDOSE 0.666 1.603 1.729 1.585 1.87
+110->id954931 MLDOSE 0.676 1.62 1.733 1.585 1.868
+111->id827034 MLDOSE 0.664 1.613 1.737 1.579 1.869
+112->id689645 MLDOSE 0.657 1.611 1.736 1.59 1.868
+113->id281585 MLDOSE 0.673 1.621 1.736 1.584 1.869
+114->id885624 MLDOSE 0.672 1.619 1.734 1.585 1.869
+115->id577871 MLDOSE 0.67 1.616 1.731 1.585 1.864
+116->id238796 MLDOSE 0.667 1.62 1.734 1.585 1.867
+117->id481035 MLDOSE 0.664 1.62 1.737 1.588 1.867
+118->id972713 MLDOSE 0.666 1.611 1.73 1.589 1.869
+119->id905484 MLDOSE 0.66 1.62 1.728 1.572 1.869
+120->id713511 MLDOSE 0.664 1.605 1.733 1.585 1.866
+121->id512328 MLDOSE 0.67 1.616 1.737 1.584 1.869
+122->id703534 MLDOSE 0.67 1.615 1.731 1.59 1.862
+123->id409904 MLDOSE 0.678 1.622 1.734 1.585 1.868
+124->id577169 MLDOSE 0.669 1.616 1.734 1.582 1.867
+125->id813971 MLDOSE 0.657 1.606 1.72 1.591 1.85
+126->id558483 MLDOSE 0.669 1.62 1.737 1.59 1.868
+127->id892784 MLDOSE 0.669 1.621 1.733 1.586 1.866
+128->id611178 MLDOSE 0.666 1.611 1.735 1.582 1.866
+129->id192732 MLDOSE 0.666 1.618 1.735 1.59 1.868
+130->id917280 MLDOSE 0.66 1.602 1.736 1.567 1.869
+131->id435876 MLDOSE 0.678 1.619 1.739 1.586 1.87
+132->id980722 MLDOSE 0.663 1.62 1.735 1.572 1.869
+133->id308273 MLDOSE 0.661 1.617 1.737 1.582 1.868
+134->id476685 MLDOSE 0.675 1.618 1.733 1.584 1.867
+135->id315883 MLDOSE 0.669 1.612 1.736 1.573 1.869
+136->id935945 MLDOSE 0.663 1.614 1.733 1.58 1.865
+137->id991781 MLDOSE 0.664 1.614 1.731 1.586 1.864
+138->id65199 MLDOSE 0.661 1.619 1.731 1.575 1.869
+139->id226233 MLDOSE 0.661 1.618 1.724 1.59 1.854
+140->id860183 MLDOSE 0.66 1.609 1.734 1.577 1.866
+141->id295209 MLDOSE 0.669 1.614 1.735 1.585 1.867
+142->id544964 MLDOSE 0.669 1.619 1.732 1.582 1.868
+143->id648663 MLDOSE 0.666 1.617 1.734 1.585 1.868
+144->id710165 MLDOSE 0.666 1.615 1.728 1.585 1.869
+145->id392593 MLDOSE 0.666 1.621 1.738 1.569 1.868
+146->id129945 MLDOSE 0.66 1.62 1.733 1.587 1.869
+147->id382621 MLDOSE 0.684 1.621 1.736 1.591 1.867
+148->id901440 MLDOSE 0.661 1.615 1.718 1.59 1.852
+149->id39847 MLDOSE 0.669 1.619 1.729 1.58 1.863
+150->id526460 MLDOSE 0.664 1.614 1.731 1.586 1.863
+151->id477473 MLDOSE 0.672 1.619 1.73 1.589 1.862
+152->id448194 MLDOSE 0.669 1.614 1.737 1.586 1.868
+153->id904184 MLDOSE 0.67 1.618 1.73 1.577 1.868
+154->id747852 MLDOSE 0.664 1.615 1.73 1.578 1.869
+155->id711012 MLDOSE 0.672 1.605 1.736 1.575 1.868
+156->id683879 MLDOSE 0.672 1.619 1.734 1.588 1.867
+157->id789575 MLDOSE 0.658 1.618 1.733 1.591 1.863
+158->id650729 MLDOSE 0.676 1.615 1.733 1.589 1.867
+159->id934302 MLDOSE 0.66 1.62 1.733 1.581 1.866
+160->id555013 MLDOSE 0.667 1.622 1.731 1.574 1.865
+161->id82779 MLDOSE 0.675 1.618 1.73 1.585 1.867
+162->id771444 MLDOSE 0.669 1.616 1.718 1.592 1.856
+163->id821562 MLDOSE 0.675 1.625 1.739 1.58 1.87
+164->id292809 MLDOSE 0.66 1.614 1.731 1.58 1.869
+165->id645690 MLDOSE 0.684 1.624 1.733 1.586 1.867
+166->id223901 MLDOSE 0.666 1.615 1.733 1.576 1.868
+167->id41320 MLDOSE 0.661 1.617 1.732 1.576 1.869
+168->id96181 MLDOSE 0.684 1.621 1.716 1.593 1.867
+169->id147900 MLDOSE 0.658 1.603 1.738 1.577 1.868
+170->id702917 MLDOSE 0.669 1.614 1.731 1.59 1.864
+171->id150640 MLDOSE 0.669 1.621 1.734 1.583 1.868
+172->id518391 MLDOSE 0.66 1.62 1.736 1.589 1.869
+173->id879076 MLDOSE 0.661 1.613 1.738 1.573 1.868
+174->id952031 MLDOSE 0.66 1.621 1.734 1.58 1.866
+175->id10055 MLDOSE 0.67 1.611 1.732 1.589 1.866
+176->id727213 MLDOSE 0.664 1.622 1.733 1.583 1.869
+177->id41961 MLDOSE 0.66 1.62 1.737 1.572 1.867
+178->id257209 MLDOSE 0.673 1.616 1.736 1.588 1.869
+179->id995361 MLDOSE 0.661 1.62 1.723 1.571 1.868
+180->id957918 MLDOSE 0.663 1.618 1.726 1.581 1.869
+181->id975370 MLDOSE 0.67 1.614 1.738 1.583 1.87
+182->id889896 MLDOSE 0.679 1.618 1.733 1.589 1.869
+183->id978164 MLDOSE 0.669 1.62 1.735 1.586 1.868
+184->id90359 MLDOSE 0.675 1.621 1.737 1.58 1.869
+185->id307158 MLDOSE 0.675 1.615 1.71 1.591 1.86
+186->id755940 MLDOSE 0.669 1.618 1.734 1.577 1.869
+187->id995582 MLDOSE 0.666 1.615 1.724 1.591 1.853
+188->id363965 MLDOSE 0.663 1.619 1.736 1.574 1.868
+189->id729124 MLDOSE 0.666 1.611 1.73 1.587 1.86
+190->id871963 MLDOSE 0.67 1.62 1.737 1.585 1.868
+191->id475172 MLDOSE 0.663 1.621 1.737 1.579 1.869
+192->id804699 MLDOSE 0.663 1.619 1.731 1.581 1.868
+193->id625843 MLDOSE 0.667 1.622 1.738 1.583 1.87
+194->id595713 MLDOSE 0.657 1.599 1.736 1.588 1.869
+195->id462604 MLDOSE 0.663 1.616 1.731 1.584 1.867
+196->id106141 MLDOSE 0.672 1.612 1.732 1.589 1.864
+197->id689349 MLDOSE 0.666 1.609 1.738 1.583 1.869
+198->id639003 MLDOSE 0.672 1.618 1.728 1.58 1.863
+199->id393896 MLDOSE 0.663 1.617 1.73 1.579 1.868
+200->id450307 MLDOSE 0.663 1.622 1.739 1.588 1.87
diff --git a/checks/inputfiles/test.mlinfo b/checks/inputfiles/test.mlinfo
new file mode 100644
index 0000000..4afccee
--- /dev/null
+++ b/checks/inputfiles/test.mlinfo
@@ -0,0 +1,6 @@
+SNP Al1 Al2 Freq1 MAF Quality Rsq
+rs7247199 GAC A 0.5847 0.4150 0.9299 0.8666
+rs8102643 C TGGT 0.5847 0.4150 0.9308 0.8685
+rs8102615 T A 0.5006 0.4702 0.9375 0.8932
+rs8105536 G A 0.5783 0.4213 0.9353 0.8832
+rs2312724 T C 0.9122 0.0877 0.9841 1.3e-17
diff --git a/checks/inputfiles/test.mlprob b/checks/inputfiles/test.mlprob
new file mode 100644
index 0000000..27305a5
--- /dev/null
+++ b/checks/inputfiles/test.mlprob
@@ -0,0 +1,200 @@
+1->id636728 ML_PROB 0.115 0.448 0.658 0.306 0.75 0.232 0.628 0.329 0.871 0.125
+2->id890314 ML_PROB 0.109 0.442 0.657 0.307 0.754 0.229 0.632 0.326 0.873 0.123
+3->id102874 ML_PROB 0.117 0.45 0.659 0.305 0.749 0.233 0.628 0.329 0.87 0.126
+4->id200949 ML_PROB 0.111 0.445 NaN NaN 0.747 0.234 0.621 0.334 0.871 0.124
+5->id336491 ML_PROB 0.109 0.442 0.647 0.315 0.754 0.229 0.622 0.333 0.873 0.123
+6->id988766 ML_PROB 0.118 0.451 0.658 0.306 0.755 0.228 0.632 0.326 0.873 0.122
+7->id21999 ML_PROB 0.112 0.446 0.656 0.308 0.753 0.229 0.63 0.328 0.872 0.123
+8->id433893 ML_PROB 0.11 0.443 0.652 0.311 0.752 0.23 0.618 0.336 0.873 0.123
+9->id688932 ML_PROB 0.113 0.446 0.655 0.309 0.747 0.235 0.628 0.329 0.867 0.128
+10->id394203 ML_PROB 0.111 0.444 0.655 0.309 0.748 0.233 0.624 0.332 0.868 0.127
+11->id995678 ML_PROB 0.113 0.446 0.655 0.309 0.751 0.231 0.626 0.331 0.871 0.125
+12->id694339 ML_PROB 0.111 0.444 0.652 0.311 0.751 0.231 0.632 0.326 0.873 0.123
+13->id256455 ML_PROB 0.113 0.447 0.654 0.309 0.754 0.229 0.627 0.33 0.873 0.123
+14->id14836 ML_PROB 0.113 0.446 0.656 0.308 0.754 0.229 0.626 0.33 0.873 0.123
+15->id817128 ML_PROB 0.111 0.444 0.647 0.315 0.753 0.229 0.631 0.327 0.872 0.124
+16->id803325 ML_PROB 0.115 0.448 0.656 0.308 0.748 0.234 0.633 0.325 0.873 0.122
+17->id521287 ML_PROB 0.109 0.443 0.654 0.31 0.754 0.228 0.628 0.329 0.874 0.122
+18->id701472 ML_PROB 0.111 0.444 0.657 0.307 0.749 0.233 0.628 0.329 0.871 0.125
+19->id850010 ML_PROB 0.112 0.445 0.652 0.311 0.753 0.23 0.625 0.331 0.872 0.124
+20->id268483 ML_PROB 0.112 0.445 0.654 0.31 0.75 0.232 0.626 0.33 0.869 0.127
+21->id738781 ML_PROB 0.111 0.444 0.649 0.313 0.748 0.234 0.632 0.326 0.867 0.128
+22->id28411 ML_PROB 0.109 0.442 0.656 0.308 0.752 0.231 0.616 0.338 0.873 0.123
+23->id541635 ML_PROB 0.112 0.445 0.658 0.306 0.744 0.237 0.607 0.344 0.873 0.122
+24->id751101 ML_PROB 0.112 0.445 0.659 0.306 0.755 0.228 0.631 0.327 0.873 0.123
+25->id826300 ML_PROB 0.111 0.444 0.644 0.317 0.753 0.23 0.629 0.328 0.873 0.123
+26->id884387 ML_PROB 0.109 0.443 0.643 0.318 0.752 0.23 0.63 0.327 0.872 0.124
+27->id492414 ML_PROB 0.111 0.444 0.655 0.309 0.751 0.231 0.627 0.329 0.871 0.124
+28->id268871 ML_PROB 0.112 0.445 0.657 0.307 0.749 0.233 0.621 0.334 0.873 0.123
+29->id627354 ML_PROB 0.111 0.444 0.652 0.311 0.752 0.231 0.632 0.326 0.873 0.123
+30->id503932 ML_PROB 0.109 0.442 0.656 0.308 0.753 0.229 0.629 0.328 0.872 0.123
+31->id163442 ML_PROB 0.114 0.447 0.657 0.307 0.754 0.229 0.629 0.328 0.873 0.123
+32->id317797 ML_PROB 0.107 0.44 0.66 0.305 0.756 0.227 0.616 0.338 0.874 0.122
+33->id687857 ML_PROB 0.111 0.445 0.657 0.307 0.752 0.23 0.629 0.328 0.873 0.123
+34->id871570 ML_PROB 0.111 0.444 0.648 0.314 0.749 0.233 0.621 0.334 0.869 0.126
+35->id724067 ML_PROB 0.111 0.444 0.655 0.309 0.753 0.23 0.626 0.331 0.872 0.124
+36->id874076 ML_PROB 0.114 0.448 0.654 0.309 0.755 0.228 0.628 0.329 0.873 0.123
+37->id927863 ML_PROB 0.112 0.446 0.656 0.308 0.752 0.23 0.629 0.328 0.87 0.125
+38->id369805 ML_PROB 0.11 0.443 0.653 0.31 0.748 0.234 0.627 0.329 0.871 0.125
+39->id668376 ML_PROB 0.114 0.447 0.654 0.309 0.754 0.228 0.626 0.33 0.873 0.123
+40->id717362 ML_PROB 0.109 0.442 0.656 0.308 0.753 0.23 0.632 0.326 0.873 0.123
+41->id665504 ML_PROB 0.112 0.445 0.654 0.31 0.75 0.232 0.622 0.334 0.871 0.125
+42->id336637 ML_PROB 0.109 0.443 0.655 0.308 0.752 0.23 0.621 0.334 0.87 0.125
+43->id60633 ML_PROB 0.112 0.445 0.655 0.309 0.749 0.233 0.623 0.333 0.871 0.124
+44->id848600 ML_PROB 0.11 0.444 0.652 0.311 0.754 0.229 0.621 0.334 0.873 0.123
+45->id169514 ML_PROB 0.11 0.444 0.652 0.311 0.754 0.229 0.627 0.329 0.873 0.123
+46->id690732 ML_PROB 0.11 0.443 0.655 0.309 0.754 0.229 0.629 0.328 0.872 0.124
+47->id684760 ML_PROB 0.111 0.445 0.656 0.308 0.752 0.23 0.622 0.334 0.87 0.126
+48->id553502 ML_PROB 0.113 0.446 0.647 0.314 0.75 0.232 0.632 0.326 0.873 0.123
+49->id214917 ML_PROB 0.112 0.445 0.654 0.31 0.746 0.235 0.63 0.328 0.87 0.125
+50->id849169 ML_PROB 0.11 0.444 0.659 0.306 0.751 0.231 0.63 0.328 0.871 0.125
+51->id941921 ML_PROB 0.111 0.445 0.655 0.309 0.749 0.233 0.63 0.328 0.867 0.128
+52->id784646 ML_PROB 0.11 0.443 0.642 0.319 0.756 0.227 0.627 0.33 0.874 0.122
+53->id520954 ML_PROB 0.11 0.444 0.655 0.309 0.75 0.232 0.625 0.331 0.869 0.126
+54->id996355 ML_PROB 0.109 0.442 0.644 0.317 0.753 0.23 0.629 0.328 0.87 0.125
+55->id96730 ML_PROB 0.11 0.444 0.655 0.309 0.754 0.228 0.619 0.335 0.873 0.122
+56->id673442 ML_PROB 0.111 0.444 0.647 0.315 0.753 0.229 0.62 0.335 0.872 0.123
+57->id68305 ML_PROB 0.113 0.446 0.655 0.308 0.752 0.231 0.628 0.329 0.871 0.124
+58->id653025 ML_PROB 0.115 0.448 0.654 0.309 0.755 0.228 0.628 0.329 0.873 0.122
+59->id208543 ML_PROB 0.11 0.444 0.655 0.308 0.752 0.23 0.624 0.332 0.872 0.124
+60->id335725 ML_PROB 0.111 0.444 0.653 0.31 0.735 0.244 0.634 0.325 0.851 0.143
+61->id980400 ML_PROB 0.11 0.443 0.646 0.315 0.751 0.231 0.63 0.328 0.872 0.123
+62->id869939 ML_PROB 0.111 0.445 0.655 0.309 0.751 0.231 0.631 0.326 0.87 0.125
+63->id297563 ML_PROB 0.113 0.447 0.651 0.312 0.74 0.24 0.628 0.329 0.87 0.126
+64->id852663 ML_PROB 0.111 0.444 0.643 0.317 0.748 0.233 0.628 0.329 0.874 0.122
+65->id162070 ML_PROB 0.111 0.444 0.655 0.309 0.746 0.236 0.618 0.336 0.872 0.124
+66->id272875 ML_PROB 0.109 0.442 0.644 0.317 0.754 0.229 0.627 0.33 0.873 0.123
+67->id163787 ML_PROB 0.109 0.443 0.653 0.31 0.742 0.239 0.627 0.33 0.874 0.122
+68->id422204 ML_PROB 0.11 0.443 0.652 0.311 0.752 0.23 0.621 0.334 0.871 0.125
+69->id120197 ML_PROB 0.109 0.442 0.656 0.308 0.749 0.233 0.63 0.328 0.874 0.122
+70->id33660 ML_PROB 0.108 0.442 0.656 0.308 0.754 0.228 0.617 0.337 0.873 0.123
+71->id803855 ML_PROB 0.112 0.445 0.653 0.31 0.75 0.232 0.629 0.328 0.869 0.127
+72->id255048 ML_PROB 0.114 0.447 0.653 0.31 0.745 0.236 0.626 0.33 0.87 0.126
+73->id690936 ML_PROB 0.108 0.441 0.631 0.326 0.755 0.228 0.632 0.326 0.874 0.122
+74->id126807 ML_PROB 0.111 0.445 0.649 0.314 0.749 0.233 0.631 0.327 0.868 0.128
+75->id99016 ML_PROB 0.111 0.445 0.65 0.312 0.751 0.232 0.632 0.326 0.869 0.126
+76->id883847 ML_PROB 0.111 0.444 0.649 0.313 0.753 0.23 0.63 0.327 0.873 0.123
+77->id354523 ML_PROB 0.112 0.445 0.656 0.308 0.752 0.23 0.627 0.33 0.872 0.124
+78->id737255 ML_PROB 0.111 0.444 0.658 0.307 0.751 0.231 0.616 0.337 0.871 0.125
+79->id990941 ML_PROB 0.114 0.447 0.656 0.308 0.752 0.23 0.628 0.329 0.873 0.123
+80->id25464 ML_PROB 0.113 0.447 0.656 0.308 0.755 0.227 0.623 0.333 0.873 0.122
+81->id918375 ML_PROB 0.113 0.446 0.657 0.307 0.754 0.229 0.624 0.332 0.873 0.123
+82->id537828 ML_PROB 0.111 0.444 0.651 0.311 0.747 0.235 0.628 0.329 0.873 0.123
+83->id682778 ML_PROB 0.108 0.442 0.657 0.307 0.754 0.229 0.619 0.335 0.873 0.123
+84->id587547 ML_PROB 0.112 0.445 0.656 0.308 0.755 0.228 0.628 0.329 0.873 0.122
+85->id670874 ML_PROB 0.111 0.444 0.654 0.31 0.752 0.23 0.624 0.332 0.871 0.125
+86->id444459 ML_PROB 0.109 0.442 0.654 0.309 0.752 0.23 0.622 0.333 0.874 0.122
+87->id777456 ML_PROB 0.11 0.443 0.652 0.311 0.75 0.232 0.625 0.331 0.87 0.125
+88->id452384 ML_PROB 0.111 0.444 0.66 0.305 0.755 0.228 0.63 0.328 0.873 0.123
+89->id826975 ML_PROB 0.112 0.445 0.655 0.309 0.749 0.233 0.626 0.33 0.87 0.125
+90->id519567 ML_PROB 0.109 0.442 0.657 0.307 0.75 0.232 0.629 0.328 0.873 0.123
+91->id84292 ML_PROB 0.11 0.443 0.654 0.31 0.754 0.229 0.626 0.33 0.872 0.124
+92->id124432 ML_PROB 0.117 0.45 0.657 0.307 0.753 0.23 0.633 0.325 0.871 0.125
+93->id800145 ML_PROB 0.116 0.449 0.657 0.307 0.754 0.229 0.63 0.327 0.873 0.123
+94->id153857 ML_PROB 0.109 0.443 0.654 0.309 0.756 0.227 0.628 0.329 0.874 0.122
+95->id587157 ML_PROB 0.11 0.443 0.655 0.309 0.753 0.23 0.627 0.33 0.871 0.124
+96->id506262 ML_PROB 0.11 0.444 0.651 0.311 0.739 0.241 0.633 0.326 0.86 0.135
+97->id634462 ML_PROB 0.113 0.447 0.658 0.307 0.754 0.229 0.628 0.329 0.873 0.123
+98->id687592 ML_PROB 0.11 0.444 0.652 0.311 0.745 0.236 0.627 0.33 0.873 0.123
+99->id955526 ML_PROB 0.11 0.443 0.657 0.307 0.754 0.229 0.613 0.34 0.873 0.123
+100->id181850 ML_PROB 0.109 0.442 0.642 0.319 0.754 0.228 0.629 0.328 0.873 0.123
+101->id159506 ML_PROB 0.111 0.445 0.657 0.307 0.753 0.229 0.628 0.329 0.872 0.124
+102->id609051 ML_PROB 0.114 0.447 0.655 0.308 0.748 0.234 0.632 0.326 0.865 0.13
+103->id963886 ML_PROB 0.11 0.443 0.65 0.312 0.756 0.227 0.625 0.331 0.874 0.122
+104->id405792 ML_PROB 0.116 0.45 0.657 0.307 0.754 0.229 0.631 0.327 0.873 0.123
+105->id494172 ML_PROB 0.109 0.442 0.646 0.315 0.754 0.228 0.624 0.332 0.873 0.122
+106->id964637 ML_PROB 0.11 0.443 0.653 0.31 0.748 0.234 0.632 0.326 0.866 0.129
+107->id799355 ML_PROB 0.112 0.445 0.656 0.308 0.753 0.229 0.628 0.329 0.873 0.122
+108->id157111 ML_PROB 0.108 0.442 0.641 0.319 0.749 0.233 0.63 0.328 0.874 0.122
+109->id114524 ML_PROB 0.111 0.444 0.643 0.317 0.748 0.233 0.628 0.329 0.874 0.122
+110->id954931 ML_PROB 0.114 0.448 0.656 0.308 0.751 0.231 0.628 0.329 0.872 0.124
+111->id827034 ML_PROB 0.11 0.444 0.65 0.313 0.754 0.229 0.623 0.333 0.873 0.123
+112->id689645 ML_PROB 0.108 0.441 0.649 0.313 0.754 0.228 0.632 0.326 0.873 0.122
+113->id281585 ML_PROB 0.113 0.447 0.657 0.307 0.754 0.228 0.627 0.33 0.873 0.123
+114->id885624 ML_PROB 0.113 0.446 0.655 0.309 0.752 0.23 0.628 0.329 0.873 0.123
+115->id577871 ML_PROB 0.112 0.446 0.653 0.31 0.749 0.233 0.628 0.329 0.868 0.128
+116->id238796 ML_PROB 0.111 0.445 0.656 0.308 0.752 0.23 0.628 0.329 0.871 0.125
+117->id481035 ML_PROB 0.11 0.444 0.656 0.308 0.754 0.229 0.63 0.328 0.872 0.123
+118->id972713 ML_PROB 0.111 0.444 0.649 0.313 0.748 0.234 0.631 0.327 0.873 0.123
+119->id905484 ML_PROB 0.109 0.442 0.656 0.308 0.747 0.234 0.618 0.336 0.873 0.123
+120->id713511 ML_PROB 0.11 0.444 0.644 0.317 0.751 0.231 0.628 0.329 0.87 0.126
+121->id512328 ML_PROB 0.112 0.446 0.653 0.31 0.754 0.229 0.627 0.33 0.873 0.123
+122->id703534 ML_PROB 0.112 0.446 0.652 0.311 0.749 0.233 0.632 0.326 0.867 0.128
+123->id409904 ML_PROB 0.115 0.448 0.658 0.306 0.752 0.23 0.628 0.329 0.872 0.124
+124->id577169 ML_PROB 0.112 0.445 0.653 0.31 0.752 0.23 0.626 0.33 0.871 0.125
+125->id813971 ML_PROB 0.108 0.441 0.645 0.316 0.74 0.24 0.633 0.325 0.856 0.138
+126->id558483 ML_PROB 0.112 0.445 0.656 0.308 0.754 0.229 0.632 0.326 0.873 0.122
+127->id892784 ML_PROB 0.112 0.445 0.657 0.307 0.751 0.231 0.629 0.328 0.871 0.124
+128->id611178 ML_PROB 0.111 0.444 0.649 0.313 0.752 0.231 0.626 0.33 0.871 0.124
+129->id192732 ML_PROB 0.111 0.444 0.654 0.31 0.753 0.229 0.632 0.326 0.873 0.122
+130->id917280 ML_PROB 0.109 0.442 0.642 0.318 0.753 0.23 0.614 0.339 0.873 0.123
+131->id435876 ML_PROB 0.115 0.448 0.655 0.309 0.756 0.227 0.629 0.328 0.874 0.122
+132->id980722 ML_PROB 0.11 0.443 0.656 0.308 0.753 0.229 0.618 0.336 0.873 0.123
+133->id308273 ML_PROB 0.109 0.443 0.654 0.309 0.754 0.229 0.626 0.33 0.873 0.122
+134->id476685 ML_PROB 0.114 0.447 0.655 0.308 0.751 0.231 0.627 0.33 0.871 0.125
+135->id315883 ML_PROB 0.112 0.445 0.65 0.312 0.754 0.228 0.619 0.335 0.873 0.123
+136->id935945 ML_PROB 0.11 0.443 0.651 0.312 0.751 0.231 0.624 0.332 0.87 0.125
+137->id991781 ML_PROB 0.11 0.444 0.651 0.312 0.749 0.233 0.629 0.328 0.869 0.126
+138->id65199 ML_PROB 0.109 0.443 0.655 0.309 0.749 0.233 0.62 0.335 0.873 0.123
+139->id226233 ML_PROB 0.109 0.443 0.654 0.31 0.743 0.238 0.632 0.326 0.86 0.134
+140->id860183 ML_PROB 0.109 0.442 0.647 0.315 0.752 0.23 0.622 0.333 0.871 0.124
+141->id295209 ML_PROB 0.112 0.445 0.651 0.312 0.752 0.231 0.628 0.329 0.872 0.123
+142->id544964 ML_PROB 0.112 0.445 0.655 0.309 0.75 0.232 0.626 0.33 0.872 0.124
+143->id648663 ML_PROB 0.111 0.444 0.654 0.309 0.752 0.23 0.628 0.329 0.872 0.124
+144->id710165 ML_PROB 0.111 0.444 0.652 0.311 0.747 0.234 0.628 0.329 0.873 0.123
+145->id392593 ML_PROB 0.111 0.444 0.657 0.307 0.755 0.228 0.616 0.337 0.873 0.122
+146->id129945 ML_PROB 0.109 0.442 0.656 0.308 0.751 0.231 0.629 0.329 0.873 0.123
+147->id382621 ML_PROB 0.117 0.45 0.657 0.307 0.753 0.23 0.633 0.325 0.871 0.125
+148->id901440 ML_PROB 0.109 0.443 0.652 0.311 0.738 0.242 0.632 0.326 0.858 0.136
+149->id39847 ML_PROB 0.112 0.445 0.655 0.309 0.747 0.235 0.624 0.332 0.868 0.127
+150->id526460 ML_PROB 0.11 0.444 0.651 0.312 0.749 0.233 0.629 0.328 0.868 0.127
+151->id477473 ML_PROB 0.113 0.446 0.655 0.309 0.748 0.234 0.631 0.327 0.867 0.128
+152->id448194 ML_PROB 0.112 0.445 0.651 0.312 0.754 0.229 0.629 0.328 0.873 0.122
+153->id904184 ML_PROB 0.112 0.446 0.655 0.308 0.748 0.234 0.622 0.333 0.872 0.124
+154->id747852 ML_PROB 0.11 0.444 0.652 0.311 0.748 0.234 0.623 0.332 0.873 0.123
+155->id711012 ML_PROB 0.113 0.446 0.644 0.317 0.754 0.228 0.62 0.335 0.873 0.122
+156->id683879 ML_PROB 0.113 0.446 0.655 0.309 0.752 0.23 0.63 0.328 0.872 0.123
+157->id789575 ML_PROB 0.108 0.442 0.655 0.308 0.751 0.231 0.633 0.325 0.868 0.127
+158->id650729 ML_PROB 0.114 0.448 0.652 0.311 0.751 0.231 0.631 0.327 0.872 0.123
+159->id934302 ML_PROB 0.109 0.442 0.656 0.308 0.751 0.231 0.625 0.331 0.87 0.126
+160->id555013 ML_PROB 0.111 0.445 0.658 0.306 0.749 0.233 0.619 0.336 0.87 0.125
+161->id82779 ML_PROB 0.114 0.447 0.654 0.31 0.748 0.234 0.628 0.329 0.871 0.125
+162->id771444 ML_PROB 0.112 0.445 0.653 0.31 0.738 0.242 0.633 0.326 0.861 0.134
+163->id821562 ML_PROB 0.114 0.447 0.66 0.305 0.756 0.227 0.624 0.332 0.874 0.122
+164->id292809 ML_PROB 0.109 0.442 0.651 0.312 0.749 0.233 0.624 0.332 0.873 0.123
+165->id645690 ML_PROB 0.117 0.45 0.659 0.306 0.751 0.231 0.629 0.328 0.871 0.125
+166->id223901 ML_PROB 0.111 0.444 0.652 0.311 0.751 0.231 0.621 0.334 0.872 0.124
+167->id41320 ML_PROB 0.109 0.443 0.654 0.309 0.75 0.232 0.621 0.334 0.873 0.123
+168->id96181 ML_PROB 0.117 0.45 0.657 0.307 0.736 0.244 0.634 0.325 0.871 0.125
+169->id147900 ML_PROB 0.108 0.442 0.642 0.319 0.755 0.228 0.622 0.333 0.873 0.122
+170->id702917 ML_PROB 0.112 0.445 0.651 0.312 0.749 0.233 0.632 0.326 0.869 0.126
+171->id150640 ML_PROB 0.112 0.445 0.657 0.307 0.752 0.23 0.627 0.329 0.872 0.124
+172->id518391 ML_PROB 0.109 0.442 0.656 0.308 0.753 0.23 0.631 0.327 0.873 0.123
+173->id879076 ML_PROB 0.109 0.443 0.65 0.313 0.755 0.228 0.619 0.335 0.873 0.122
+174->id952031 ML_PROB 0.109 0.442 0.657 0.307 0.752 0.23 0.624 0.332 0.871 0.124
+175->id10055 ML_PROB 0.112 0.446 0.649 0.313 0.75 0.232 0.631 0.327 0.87 0.126
+176->id727213 ML_PROB 0.11 0.444 0.658 0.306 0.751 0.231 0.626 0.331 0.873 0.123
+177->id41961 ML_PROB 0.109 0.442 0.656 0.308 0.754 0.229 0.618 0.336 0.872 0.123
+178->id257209 ML_PROB 0.113 0.447 0.653 0.31 0.753 0.23 0.631 0.326 0.873 0.123
+179->id995361 ML_PROB 0.109 0.443 0.656 0.308 0.742 0.239 0.617 0.337 0.873 0.122
+180->id957918 ML_PROB 0.11 0.443 0.655 0.308 0.745 0.236 0.625 0.331 0.873 0.123
+181->id975370 ML_PROB 0.112 0.446 0.651 0.312 0.755 0.228 0.627 0.329 0.874 0.122
+182->id889896 ML_PROB 0.115 0.449 0.654 0.31 0.751 0.231 0.631 0.327 0.873 0.123
+183->id978164 ML_PROB 0.112 0.445 0.656 0.308 0.752 0.231 0.629 0.328 0.872 0.124
+184->id90359 ML_PROB 0.114 0.447 0.657 0.307 0.754 0.229 0.624 0.332 0.873 0.123
+185->id307158 ML_PROB 0.114 0.447 0.652 0.311 0.731 0.248 0.633 0.325 0.865 0.13
+186->id755940 ML_PROB 0.112 0.445 0.655 0.308 0.751 0.232 0.622 0.333 0.873 0.123
+187->id995582 ML_PROB 0.111 0.444 0.652 0.311 0.743 0.238 0.633 0.325 0.859 0.135
+188->id363965 ML_PROB 0.11 0.443 0.655 0.309 0.754 0.228 0.619 0.336 0.873 0.122
+189->id729124 ML_PROB 0.111 0.444 0.649 0.313 0.748 0.234 0.63 0.327 0.865 0.13
+190->id871963 ML_PROB 0.112 0.446 0.656 0.308 0.754 0.229 0.628 0.329 0.873 0.122
+191->id475172 ML_PROB 0.11 0.443 0.657 0.307 0.754 0.229 0.623 0.333 0.873 0.123
+192->id804699 ML_PROB 0.11 0.443 0.655 0.309 0.749 0.233 0.625 0.331 0.873 0.122
+193->id625843 ML_PROB 0.111 0.445 0.658 0.306 0.755 0.228 0.626 0.331 0.874 0.122
+194->id595713 ML_PROB 0.108 0.441 0.639 0.321 0.753 0.23 0.63 0.328 0.873 0.123
+195->id462604 ML_PROB 0.11 0.443 0.653 0.31 0.749 0.233 0.627 0.33 0.871 0.125
+196->id106141 ML_PROB 0.113 0.446 0.65 0.312 0.75 0.232 0.631 0.327 0.869 0.126
+197->id689349 ML_PROB 0.111 0.444 0.647 0.315 0.755 0.228 0.626 0.331 0.873 0.123
+198->id639003 ML_PROB 0.113 0.446 0.654 0.31 0.746 0.236 0.624 0.332 0.868 0.127
+199->id393896 ML_PROB 0.11 0.443 0.654 0.309 0.748 0.234 0.623 0.333 0.873 0.122
+200->id450307 ML_PROB 0.11 0.443 0.658 0.306 0.756 0.227 0.63 0.328 0.874 0.122
diff --git a/checks/inputfiles/test.prob.fvd b/checks/inputfiles/test.prob.fvd
new file mode 100644
index 0000000..5bca9f3
Binary files /dev/null and b/checks/inputfiles/test.prob.fvd differ
diff --git a/checks/inputfiles/test.prob.fvi b/checks/inputfiles/test.prob.fvi
new file mode 100644
index 0000000..91a91d8
Binary files /dev/null and b/checks/inputfiles/test.prob.fvi differ
diff --git a/checks/run_diff.sh b/checks/run_diff.sh
new file mode 100644
index 0000000..7c9a44e
--- /dev/null
+++ b/checks/run_diff.sh
@@ -0,0 +1,29 @@
+# This file contains a function used in the various example/test
+# scripts. It relies on bashisms to get the substrings when running
+# the echo commands.
+
+run_diff()
+{
+ # This function is run after each check. It needs two arguments:
+ # $1: first file to compare
+ # $2: second file to compare
+ # $3: start message to print on the output line before OK or FAILED
+ # $4-: any arguments to pass to the diff command
+ file1=$1
+ file2=$2
+ name=""
+ if [ ${#} -ge 3 ]; then
+ name=$3
+ shift 3
+ args=$@
+ fi
+
+ blanks=" "
+
+ if diff "$file1" "$file2" $args; then
+ echo -e "${name}${blanks:${#name}} OK"
+ else
+ echo -e "${name}${blanks:${#name}} FAILED"
+ exit 1
+ fi
+}
diff --git a/checks/test_all.sh b/checks/test_all.sh
new file mode 100755
index 0000000..0e8c88a
--- /dev/null
+++ b/checks/test_all.sh
@@ -0,0 +1,10 @@
+echo "extracting IDS..."
+perl ../bin/extIDS.pl < test.mldose > mldose.IDS
+
+echo "preparing phenofile"
+R --no-save < ../bin/prepare_data.R
+
+sh example_qt.sh
+sh example_bt.sh
+sh example_cox.sh
+sh example_mms.sh
diff --git a/checks/test_bt.sh b/checks/test_bt.sh
new file mode 100755
index 0000000..e3aeb48
--- /dev/null
+++ b/checks/test_bt.sh
@@ -0,0 +1,78 @@
+#!/bin/bash
+# This script runs checks on ProbABEL's palogist module for
+# binary traits.
+
+echo "analysing BT"
+if [ -z ${srcdir} ]; then
+ srcdir="."
+fi
+
+. ${srcdir}/run_diff.sh
+
+inputdir=${srcdir}/inputfiles
+
+# Redirect all output to file descriptor 3 to /dev/null except if
+# the first argument is "verbose" then redirect handle 3 to stdout
+exec 3>/dev/null
+if [ "$1" = "verbose" ]; then
+ exec 3>&1
+fi
+
+../src/palogist \
+ -p ${inputdir}/logist_data.txt \
+ -d ${inputdir}/test.mldose \
+ -i ${inputdir}/test.mlinfo \
+ -m ${inputdir}/test.map \
+ -c 19 \
+ -o logist \
+ >& 3
+
+../src/palogist \
+ -p ${inputdir}/logist_data.txt \
+ -d ${inputdir}/test.dose.fvi \
+ -i ${inputdir}/test.mlinfo \
+ -m ${inputdir}/test.map \
+ -c 19 \
+ -o logist_fv \
+ >& 3
+
+
+run_diff logist_add.out.txt \
+ logist_fv_add.out.txt \
+ "BT check: dose vs. dose_fv"
+
+../src/palogist \
+ -p ${inputdir}/logist_data.txt \
+ -d ${inputdir}/test.mlprob \
+ -i ${inputdir}/test.mlinfo \
+ -m ${inputdir}/test.map \
+ --ngpreds=2 \
+ -c 19 \
+ -o logist_prob \
+ >& 3
+
+../src/palogist \
+ -p ${inputdir}/logist_data.txt \
+ -d ${inputdir}/test.prob.fvi \
+ -i ${inputdir}/test.mlinfo \
+ -m ${inputdir}/test.map \
+ --ngpreds=2 \
+ -c 19 \
+ -o logist_prob_fv \
+ >& 3
+
+for model in add domin over_domin recess 2df; do
+ run_diff logist_prob_${model}.out.txt \
+ logist_prob_fv_${model}.out.txt \
+ "BT check ($model model): prob vs. prob_fv"
+done
+
+run_diff logist_prob_add.out.txt \
+ logist_add.out.txt \
+ "BT check: prob vs. dose" \
+ -I beta_SNP
+
+run_diff logist_prob_fv_add.out.txt \
+ logist_fv_add.out.txt \
+ "BT check: prob_fv vs. dose_fv" \
+ -I beta_SNP
diff --git a/checks/test_cox.sh b/checks/test_cox.sh
new file mode 100755
index 0000000..e441602
--- /dev/null
+++ b/checks/test_cox.sh
@@ -0,0 +1,71 @@
+#!/bin/bash
+# This script runs checks on ProbABEL's pacoxph module
+
+echo "Analysing Cox model..."
+if [ -z ${srcdir} ]; then
+ srcdir="."
+fi
+
+. ${srcdir}/run_diff.sh
+
+inputdir=${srcdir}/inputfiles
+
+# Redirect all output to file descriptor 3 to /dev/null except if
+# the first argument is "verbose" then redirect handle 3 to stdout
+exec 3>/dev/null
+if [ "$1" = "verbose" ]; then
+ echo "Verbose mode ON"
+ exec 3>&1
+fi
+
+../src/pacoxph \
+ -p ${inputdir}/coxph_data.txt \
+ -d ${inputdir}/test.mldose \
+ -i ${inputdir}/test.mlinfo \
+ -m ${inputdir}/test.map \
+ -c 19 \
+ -o coxph_dose \
+ >& 3
+
+../src/pacoxph \
+ -p ${inputdir}/coxph_data.txt \
+ -d ${inputdir}/test.dose.fvi \
+ -i ${inputdir}/test.mlinfo \
+ -m ${inputdir}/test.map \
+ -c 19 \
+ -o coxph_dose_fv \
+ >& 3
+
+run_diff coxph_dose_add.out.txt coxph_dose_fv_add.out.txt \
+ "pacoxph check: dose vs. dose_fv"
+
+
+../src/pacoxph \
+ -p ${inputdir}/coxph_data.txt \
+ -d ${inputdir}/test.mlprob \
+ -i ${inputdir}/test.mlinfo \
+ -m ${inputdir}/test.map \
+ --ngpreds=2 \
+ -c 19 \
+ -o coxph_prob \
+ >& 3
+
+run_diff coxph_dose_add.out.txt coxph_prob_add.out.txt \
+ "pacoxph check: dose vs. prob" -I SNP
+
+
+../src/pacoxph \
+ -p ${inputdir}/coxph_data.txt \
+ -d ${inputdir}/test.prob.fvi \
+ -i ${inputdir}/test.mlinfo \
+ -m ${inputdir}/test.map \
+ --ngpreds=2 \
+ -c 19 \
+ -o coxph_prob_fv \
+ >& 3
+
+for model in add domin recess over_domin 2df; do
+ run_diff coxph_prob_${model}.out.txt \
+ coxph_prob_fv_${model}.out.txt \
+ "pacoxph check ($model model): prob vs. prob_fv"
+done
diff --git a/checks/test_mms.sh b/checks/test_mms.sh
new file mode 100755
index 0000000..6543e20
--- /dev/null
+++ b/checks/test_mms.sh
@@ -0,0 +1,77 @@
+#!/bin/bash
+# This script runs checks on ProbABEL's palinear module for
+# quantitative traits combined with the mmscore option.
+
+echo "analysis using MMScore"
+if [ -z ${srcdir} ]; then
+ srcdir="."
+fi
+
+. ${srcdir}/run_diff.sh
+
+inputdir=${srcdir}/inputfiles
+
+# Redirect all output to file descriptor 3 to /dev/null except if
+# the first argument is "verbose" then redirect handle 3 to stdout
+exec 3>/dev/null
+if [ "$1" = "verbose" ]; then
+ exec 3>&1
+fi
+
+../src/palinear \
+ -p ${inputdir}/mmscore_pheno.PHE \
+ -i ${inputdir}/mmscore_gen.mlinfo \
+ -d ${inputdir}/mmscore_gen.mldose \
+ --sep="," \
+ -o mmscore_dose \
+ --mmscore ${inputdir}/mmscore_InvSigma_aj.sex.age.dat \
+ >& 3
+
+../src/palinear \
+ -p ${inputdir}/mmscore_pheno.PHE \
+ -i ${inputdir}/mmscore_gen.mlinfo \
+ -d ${inputdir}/mmscore_gen.dose.fvi \
+ --sep="," \
+ -o mmscore_dose_fv \
+ --mmscore ${inputdir}/mmscore_InvSigma_aj.sex.age.dat \
+ >& 3
+
+
+run_diff mmscore_dose_add.out.txt \
+ mmscore_dose_fv_add.out.txt \
+ "mmscore check: dose vs. dose_fv"
+
+
+../src/palinear \
+ -p ${inputdir}/mmscore_pheno.PHE \
+ -i ${inputdir}/mmscore_gen.mlinfo \
+ -d ${inputdir}/mmscore_gen.mlprob \
+ --ngpreds=2 --sep="," \
+ -o mmscore_prob \
+ --mmscore ${inputdir}/mmscore_InvSigma_aj.sex.age.dat \
+ >& 3
+
+../src/palinear \
+ -p ${inputdir}/mmscore_pheno.PHE \
+ -i ${inputdir}/mmscore_gen.mlinfo \
+ -d ${inputdir}/mmscore_gen.prob.fvi \
+ --ngpreds=2 --sep="," \
+ -o mmscore_prob_fv \
+ --mmscore ${inputdir}/mmscore_InvSigma_aj.sex.age.dat \
+ >& 3
+
+for model in add domin over_domin recess 2df; do
+ run_diff mmscore_prob_${model}.out.txt \
+ mmscore_prob_fv_${model}.out.txt \
+ "mmscore check ($model model): prob vs. prob_fv"
+done
+
+run_diff mmscore_prob_add.out.txt \
+ mmscore_dose_add.out.txt \
+ "mmscore check: prob vs. dose" \
+ -I SNP
+
+run_diff mmscore_prob_fv_add.out.txt \
+ mmscore_dose_fv_add.out.txt \
+ "mmscore check: prob_fv vs. dose_fv" \
+ -I SNP
diff --git a/checks/test_qt.sh b/checks/test_qt.sh
new file mode 100755
index 0000000..f271f10
--- /dev/null
+++ b/checks/test_qt.sh
@@ -0,0 +1,264 @@
+#!/bin/bash
+# This script runs checks on ProbABEL's palinear module for
+# quantitative traits.
+
+echo "analysing QT"
+if [ -z ${srcdir} ]; then
+ srcdir="."
+fi
+
+. ${srcdir}/run_diff.sh
+
+inputdir=${srcdir}/inputfiles
+
+# Redirect all output to file descriptor 3 to /dev/null except if
+# the first argument is "verbose" then redirect handle 3 to stdout
+exec 3>/dev/null
+if [ "$1" = "verbose" ]; then
+ exec 3>&1
+fi
+
+echo "base analysis"
+../src/palinear \
+ -p ${inputdir}/height.txt \
+ -d ${inputdir}/test.mldose \
+ -i ${inputdir}/test.mlinfo \
+ -m ${inputdir}/test.map \
+ -c 19 \
+ -o height_base \
+ >& 3
+../src/palinear \
+ -p ${inputdir}/height.txt \
+ -d ${inputdir}/test.dose.fvi \
+ -i ${inputdir}/test.mlinfo \
+ -m ${inputdir}/test.map \
+ -c 19 \
+ -o height_base_fv \
+ >& 3
+
+#echo -n "QT check: dose vs. dose_fv"
+run_diff height_base_add.out.txt \
+ height_base_fv_add.out.txt \
+ "QT check: dose vs. dose_fv"
+
+
+echo "Option --allcov"
+../src/palinear -p ${inputdir}/height.txt \
+ -d ${inputdir}/test.mldose \
+ -i ${inputdir}/test.mlinfo \
+ -m ${inputdir}/test.map \
+ -c 19 --allcov \
+ -o height_allcov \
+ >& 3
+../src/palinear \
+ -p ${inputdir}/height.txt \
+ -d ${inputdir}/test.dose.fvi \
+ -i ${inputdir}/test.mlinfo \
+ -m ${inputdir}/test.map \
+ -c 19 --allcov \
+ -o height_allcov_fv \
+ >& 3
+
+run_diff height_allcov_add.out.txt \
+ height_allcov_fv_add.out.txt \
+ "QT check: allcov: dose vs. dose_fv"
+
+
+echo "Option --interaction=1"
+../src/palinear \
+ -p ${inputdir}/height.txt \
+ -d ${inputdir}/test.mldose \
+ -i ${inputdir}/test.mlinfo \
+ -m ${inputdir}/test.map \
+ -c 19 --interaction=1 \
+ -o height_int1 \
+ >& 3
+../src/palinear \
+ -p ${inputdir}/height.txt \
+ -d ${inputdir}/test.dose.fvi \
+ -i ${inputdir}/test.mlinfo \
+ -m ${inputdir}/test.map \
+ -c 19 --interaction=1 \
+ -o height_int1_fv \
+ >& 3
+
+run_diff height_int1_add.out.txt \
+ height_int1_fv_add.out.txt \
+ "QT check: interactions: dose vs. dose_fv"
+
+
+echo "Option --robust"
+../src/palinear \
+ -p ${inputdir}/height.txt \
+ -d ${inputdir}/test.mldose \
+ -i ${inputdir}/test.mlinfo \
+ -m ${inputdir}/test.map \
+ -c 19 --robust \
+ -o height_robust \
+ >& 3
+../src/palinear \
+ -p ${inputdir}/height.txt \
+ -d ${inputdir}/test.dose.fvi \
+ -i ${inputdir}/test.mlinfo \
+ -m ${inputdir}/test.map \
+ -c 19 --robust \
+ -o height_robust_fv \
+ >& 3
+
+run_diff height_robust_add.out.txt \
+ height_robust_fv_add.out.txt \
+ "QT check: robust: dose vs. dose_fv"
+
+
+echo "Option --robust --interaction=1"
+../src/palinear \
+ -p ${inputdir}/height.txt \
+ -d ${inputdir}/test.mldose \
+ -i ${inputdir}/test.mlinfo \
+ -m ${inputdir}/test.map \
+ -c 19 --robust --interaction=1 \
+ -o height_robust_int1 \
+ >& 3
+../src/palinear \
+ -p ${inputdir}/height.txt \
+ -d ${inputdir}/test.dose.fvi \
+ -i ${inputdir}/test.mlinfo \
+ -m ${inputdir}/test.map \
+ -c 19 --robust --interaction=1 \
+ -o height_robust_int1_fv \
+ >& 3
+
+run_diff height_robust_int1_add.out.txt \
+ height_robust_int1_fv_add.out.txt \
+ "QT check: robust & interaction: dose vs. dose_fv"
+
+
+echo "Option --ngp=2, mlprob file"
+../src/palinear \
+ -p ${inputdir}/height.txt \
+ -d ${inputdir}/test.mlprob \
+ -i ${inputdir}/test.mlinfo \
+ -m ${inputdir}/test.map \
+ -c 19 --ngp=2 \
+ -o height_ngp2 \
+ >& 3
+../src/palinear \
+ -p ${inputdir}/height.txt \
+ -d ${inputdir}/test.prob.fvi \
+ -i ${inputdir}/test.mlinfo \
+ -m ${inputdir}/test.map \
+ -c 19 --ngp=2 \
+ -o height_ngp2_fv \
+ >& 3
+
+
+# Remove header from the outputs, because they differ
+run_diff height_base_add.out.txt \
+ height_ngp2_add.out.txt \
+ "QT check: dose vs. prob (additive model)" -I SNP
+
+for model in add domin over_domin recess 2df; do
+ run_diff height_ngp2_${model}.out.txt \
+ height_ngp2_fv_${model}.out.txt \
+ "QT check ($model model): prob vs. prob_fv"
+done
+
+
+echo "Option --ngp=2 --allcov"
+../src/palinear \
+ -p ${inputdir}/height.txt \
+ -d ${inputdir}/test.mlprob \
+ -i ${inputdir}/test.mlinfo \
+ -m ${inputdir}/test.map \
+ -c 19 --ngp=2 --allcov \
+ -o height_ngp2_allcov \
+ >& 3
+../src/palinear \
+ -p ${inputdir}/height.txt \
+ -d ${inputdir}/test.prob.fvi \
+ -i ${inputdir}/test.mlinfo \
+ -m ${inputdir}/test.map \
+ -c 19 --ngp=2 --allcov \
+ -o height_ngp2_allcov_fv \
+ >& 3
+
+for model in add domin over_domin recess 2df; do
+ run_diff height_ngp2_allcov_${model}.out.txt \
+ height_ngp2_allcov_fv_${model}.out.txt \
+ "QT check --allcov ($model model): prob vs. prob_fv"
+done
+
+
+echo "Option --ngp=2 --interaction=1"
+../src/palinear \
+ -p ${inputdir}/height.txt \
+ -d ${inputdir}/test.mlprob \
+ -i ${inputdir}/test.mlinfo \
+ -m ${inputdir}/test.map \
+ -c 19 --ngp=2 --interaction=1 \
+ -o height_ngp2_int1 \
+ >& 3
+../src/palinear \
+ -p ${inputdir}/height.txt \
+ -d ${inputdir}/test.prob.fvi \
+ -i ${inputdir}/test.mlinfo \
+ -m ${inputdir}/test.map \
+ -c 19 --ngp=2 --interaction=1 \
+ -o height_ngp2_int1_fv \
+ >& 3
+
+for model in add domin over_domin recess 2df; do
+ run_diff height_ngp2_int1_${model}.out.txt \
+ height_ngp2_int1_fv_${model}.out.txt \
+ "QT check --interactions ($model model): prob vs. prob_fv"
+done
+
+
+echo "Option --ngp=2 --robust"
+../src/palinear \
+ -p ${inputdir}/height.txt \
+ -d ${inputdir}/test.mlprob \
+ -i ${inputdir}/test.mlinfo \
+ -m ${inputdir}/test.map \
+ -c 19 --ngp=2 --robust \
+ -o height_ngp2_robust \
+ >& 3
+../src/palinear \
+ -p ${inputdir}/height.txt \
+ -d ${inputdir}/test.prob.fvi \
+ -i ${inputdir}/test.mlinfo \
+ -m ${inputdir}/test.map \
+ -c 19 --ngp=2 --robust \
+ -o height_ngp2_robust_fv \
+ >& 3
+
+for model in add domin over_domin recess 2df; do
+ run_diff height_ngp2_robust_${model}.out.txt \
+ height_ngp2_robust_fv_${model}.out.txt \
+ "QT check --robust ($model model): prob vs. prob_fv"
+done
+
+
+echo "Option --ngp=2 --robust --interaction=1"
+../src/palinear \
+ -p ${inputdir}/height.txt \
+ -d ${inputdir}/test.mlprob \
+ -i ${inputdir}/test.mlinfo \
+ -m ${inputdir}/test.map \
+ -c 19 --ngp=2 --robust --interaction=1 \
+ -o height_ngp2_robust_int1 \
+ >& 3
+../src/palinear \
+ -p ${inputdir}/height.txt \
+ -d ${inputdir}/test.prob.fvi \
+ -i ${inputdir}/test.mlinfo \
+ -m ${inputdir}/test.map \
+ -c 19 --ngp=2 --robust --interaction=1 \
+ -o height_ngp2_robust_int1_fv \
+ >& 3
+
+for model in add domin over_domin recess 2df; do
+ run_diff height_ngp2_robust_int1_${model}.out.txt \
+ height_ngp2_robust_int1_fv_${model}.out.txt \
+ "QT check --robust --interactions ($model model): prob vs. prob_fv"
+done
diff --git a/checks/verified_results/height_add.out.txt b/checks/verified_results/height_add.out.txt
new file mode 100644
index 0000000..3ea30b1
--- /dev/null
+++ b/checks/verified_results/height_add.out.txt
@@ -0,0 +1,6 @@
+name A1 A2 Freq1 MAF Quality Rsq n Mean_predictor_allele chrom position beta_SNP_add sebeta_SNP_add chi2_SNP
+rs7247199 GAC A 0.5847 0.415 0.9299 0.8666 182 0.333668 1 204938 20.3847 76.6302 0.0723394
+rs8102643 C TGGT 0.5847 0.415 0.9308 0.8685 181 0.808177 1 207859 -25.7632 86.4877 0.0907169
+rs8102615 T A 0.5006 0.4702 0.9375 0.8932 182 0.8665 2 211970 -40.7722 102.559 0.161525
+rs8105536 G A 0.5783 0.4213 0.9353 0.8832 182 0.791701 2 212033 35.3602 81.7869 0.191023
+rs2312724 T C 0.9122 0.0877 0.9841 1.3e-17 182 0.933464 2 217034 nan nan nan
diff --git a/checks/verified_results/height_base_add.out.txt b/checks/verified_results/height_base_add.out.txt
new file mode 100644
index 0000000..f70ebfb
--- /dev/null
+++ b/checks/verified_results/height_base_add.out.txt
@@ -0,0 +1,6 @@
+name A1 A2 Freq1 MAF Quality Rsq n Mean_predictor_allele chrom position beta_SNP_add sebeta_SNP_add chi2_SNP
+rs7247199 GAC A 0.5847 0.415 0.9299 0.8666 182 0.333668 19 204938 20.3847 76.6302 0.0723394
+rs8102643 C TGGT 0.5847 0.415 0.9308 0.8685 181 0.808177 19 207859 -25.7632 86.4877 0.0907169
+rs8102615 T A 0.5006 0.4702 0.9375 0.8932 182 0.8665 19 211970 -40.7722 102.559 0.161525
+rs8105536 G A 0.5783 0.4213 0.9353 0.8832 182 0.791701 19 212033 35.3602 81.7869 0.191023
+rs2312724 T C 0.9122 0.0877 0.9841 1.3e-17 182 0.933464 19 217034 nan nan nan
diff --git a/checks/verified_results/height_ngp2_2df.out.txt b/checks/verified_results/height_ngp2_2df.out.txt
new file mode 100644
index 0000000..c530214
--- /dev/null
+++ b/checks/verified_results/height_ngp2_2df.out.txt
@@ -0,0 +1,6 @@
+name A1 A2 Freq1 MAF Quality Rsq n Mean_predictor_allele chrom position beta_SNP_A1A2 sebeta_SNP_A1A2 beta_SNP_A1A1 sebeta_SNP_A1A1 chi2_SNP_2df
+rs7247199 GAC A 0.5847 0.415 0.9299 0.8666 182 0.333668 1 204938 615.017 1057.49 -539.456 1040.54 0.398888
+rs8102643 C TGGT 0.5847 0.415 0.9308 0.8685 181 0.808177 1 207859 -820.466 1392.51 -646.111 1054.18 0.426657
+rs8102615 T A 0.5006 0.4702 0.9375 0.8932 182 0.8665 2 211970 -239.796 1308.51 -246.734 1102.07 0.185459
+rs8105536 G A 0.5783 0.4213 0.9353 0.8832 182 0.791701 2 212033 782.482 1474.58 604.324 1064.24 0.45561
+rs2312724 T C 0.9122 0.0877 0.9841 1.3e-17 182 0.933464 2 217034 nan nan nan nan nan
diff --git a/checks/verified_results/height_ngp2_add.out.txt b/checks/verified_results/height_ngp2_add.out.txt
new file mode 100644
index 0000000..84e8537
--- /dev/null
+++ b/checks/verified_results/height_ngp2_add.out.txt
@@ -0,0 +1,6 @@
+name A1 A2 Freq1 MAF Quality Rsq n Mean_predictor_allele chrom position beta_SNP_addA1 sebeta_SNP_addA1 chi2_SNP_A1
+rs7247199 GAC A 0.5847 0.415 0.9299 0.8666 182 0.333668 1 204938 20.3847 76.6302 0.0723394
+rs8102643 C TGGT 0.5847 0.415 0.9308 0.8685 181 0.808177 1 207859 -25.7632 86.4877 0.0907169
+rs8102615 T A 0.5006 0.4702 0.9375 0.8932 182 0.8665 2 211970 -40.7722 102.559 0.161525
+rs8105536 G A 0.5783 0.4213 0.9353 0.8832 182 0.791701 2 212033 35.3602 81.7869 0.191023
+rs2312724 T C 0.9122 0.0877 0.9841 1.3e-17 182 0.933464 2 217034 nan nan nan
diff --git a/checks/verified_results/height_ngp2_domin.out.txt b/checks/verified_results/height_ngp2_domin.out.txt
new file mode 100644
index 0000000..0b6ba73
--- /dev/null
+++ b/checks/verified_results/height_ngp2_domin.out.txt
@@ -0,0 +1,6 @@
+name A1 A2 Freq1 MAF Quality Rsq n Mean_predictor_allele chrom position beta_SNP_domA1 sebeta_SNP_domA1 chi2_SNP_domA1
+rs7247199 GAC A 0.5847 0.415 0.9299 0.8666 182 0.333668 1 204938 33.0592 115.333 0.0839902
+rs8102643 C TGGT 0.5847 0.415 0.9308 0.8685 181 0.808177 1 207859 -178.139 417.232 0.186313
+rs8102615 T A 0.5006 0.4702 0.9375 0.8932 182 0.8665 2 211970 -272.156 640.298 0.18463
+rs8105536 G A 0.5783 0.4213 0.9353 0.8832 182 0.791701 2 212033 188.389 361.093 0.278093
+rs2312724 T C 0.9122 0.0877 0.9841 1.3e-17 182 0.933464 2 217034 nan nan nan
diff --git a/checks/verified_results/height_ngp2_over_domin.out.txt b/checks/verified_results/height_ngp2_over_domin.out.txt
new file mode 100644
index 0000000..a3fa874
--- /dev/null
+++ b/checks/verified_results/height_ngp2_over_domin.out.txt
@@ -0,0 +1,6 @@
+name A1 A2 Freq1 MAF Quality Rsq n Mean_predictor_allele chrom position beta_SNP_odomA1 sebeta_SNP_odomA1 chi2_SNP_odomA1
+rs7247199 GAC A 0.5847 0.415 0.9299 0.8666 182 0.333668 1 204938 80.0802 231.105 0.122726
+rs8102643 C TGGT 0.5847 0.415 0.9308 0.8685 181 0.808177 1 207859 28.4969 142.757 0.0407436
+rs8102615 T A 0.5006 0.4702 0.9375 0.8932 182 0.8665 2 211970 51.4168 142.042 0.133927
+rs8105536 G A 0.5783 0.4213 0.9353 0.8832 182 0.791701 2 212033 -50.7538 145.509 0.124354
+rs2312724 T C 0.9122 0.0877 0.9841 1.3e-17 182 0.933464 2 217034 nan nan nan
diff --git a/checks/verified_results/height_ngp2_recess.out.txt b/checks/verified_results/height_ngp2_recess.out.txt
new file mode 100644
index 0000000..e05b210
--- /dev/null
+++ b/checks/verified_results/height_ngp2_recess.out.txt
@@ -0,0 +1,6 @@
+name A1 A2 Freq1 MAF Quality Rsq n Mean_predictor_allele chrom position beta_SNP_recA1 sebeta_SNP_recA1 chi2_SNP_recA1
+rs7247199 GAC A 0.5847 0.415 0.9299 0.8666 182 0.333668 1 204938 51.0131 227.445 0.051428
+rs8102643 C TGGT 0.5847 0.415 0.9308 0.8685 181 0.808177 1 207859 -28.2737 108.063 0.0699893
+rs8102615 T A 0.5006 0.4702 0.9375 0.8932 182 0.8665 2 211970 -45.9705 119.627 0.15093
+rs8105536 G A 0.5783 0.4213 0.9353 0.8832 182 0.791701 2 212033 42.3577 105.005 0.166302
+rs2312724 T C 0.9122 0.0877 0.9841 1.3e-17 182 0.933464 2 217034 nan nan nan
diff --git a/compile b/compile
new file mode 100755
index 0000000..c0096a7
--- /dev/null
+++ b/compile
@@ -0,0 +1,143 @@
+#! /bin/sh
+# Wrapper for compilers which do not understand `-c -o'.
+
+scriptversion=2009-10-06.20; # UTC
+
+# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2009 Free Software
+# Foundation, Inc.
+# Written by Tom Tromey <tromey at cygnus.com>.
+#
+# 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, 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, see <http://www.gnu.org/licenses/>.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# This file is maintained in Automake, please report
+# bugs to <bug-automake at gnu.org> or send patches to
+# <automake-patches at gnu.org>.
+
+case $1 in
+ '')
+ echo "$0: No command. Try \`$0 --help' for more information." 1>&2
+ exit 1;
+ ;;
+ -h | --h*)
+ cat <<\EOF
+Usage: compile [--help] [--version] PROGRAM [ARGS]
+
+Wrapper for compilers which do not understand `-c -o'.
+Remove `-o dest.o' from ARGS, run PROGRAM with the remaining
+arguments, and rename the output as expected.
+
+If you are trying to build a whole package this is not the
+right script to run: please start by reading the file `INSTALL'.
+
+Report bugs to <bug-automake at gnu.org>.
+EOF
+ exit $?
+ ;;
+ -v | --v*)
+ echo "compile $scriptversion"
+ exit $?
+ ;;
+esac
+
+ofile=
+cfile=
+eat=
+
+for arg
+do
+ if test -n "$eat"; then
+ eat=
+ else
+ case $1 in
+ -o)
+ # configure might choose to run compile as `compile cc -o foo foo.c'.
+ # So we strip `-o arg' only if arg is an object.
+ eat=1
+ case $2 in
+ *.o | *.obj)
+ ofile=$2
+ ;;
+ *)
+ set x "$@" -o "$2"
+ shift
+ ;;
+ esac
+ ;;
+ *.c)
+ cfile=$1
+ set x "$@" "$1"
+ shift
+ ;;
+ *)
+ set x "$@" "$1"
+ shift
+ ;;
+ esac
+ fi
+ shift
+done
+
+if test -z "$ofile" || test -z "$cfile"; then
+ # If no `-o' option was seen then we might have been invoked from a
+ # pattern rule where we don't need one. That is ok -- this is a
+ # normal compilation that the losing compiler can handle. If no
+ # `.c' file was seen then we are probably linking. That is also
+ # ok.
+ exec "$@"
+fi
+
+# Name of file we expect compiler to create.
+cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
+
+# Create the lock directory.
+# Note: use `[/\\:.-]' here to ensure that we don't use the same name
+# that we are using for the .o file. Also, base the name on the expected
+# object file name, since that is what matters with a parallel build.
+lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
+while true; do
+ if mkdir "$lockdir" >/dev/null 2>&1; then
+ break
+ fi
+ sleep 1
+done
+# FIXME: race condition here if user kills between mkdir and trap.
+trap "rmdir '$lockdir'; exit 1" 1 2 15
+
+# Run the compile.
+"$@"
+ret=$?
+
+if test -f "$cofile"; then
+ test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
+elif test -f "${cofile}bj"; then
+ test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
+fi
+
+rmdir "$lockdir"
+exit $ret
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
diff --git a/configure b/configure
new file mode 100755
index 0000000..fd8aa18
--- /dev/null
+++ b/configure
@@ -0,0 +1,7419 @@
+#! /bin/sh
+# Guess values for system-dependent variables and create Makefiles.
+# Generated by GNU Autoconf 2.69 for ProbABEL 0.4.1.
+#
+# Report bugs to <genabel-devel at r-forge.wu-wien.ac.at>.
+#
+#
+# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
+#
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+## -------------------- ##
+## M4sh Initialization. ##
+## -------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
+ emulate sh
+ NULLCMD=:
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in #(
+ *posix*) :
+ set -o posix ;; #(
+ *) :
+ ;;
+esac
+fi
+
+
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+# Prefer a ksh shell builtin over an external printf program on Solaris,
+# but without wasting forks for bash or zsh.
+if test -z "$BASH_VERSION$ZSH_VERSION" \
+ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='print -r --'
+ as_echo_n='print -rn --'
+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='printf %s\n'
+ as_echo_n='printf %s'
+else
+ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+ as_echo_n='/usr/ucb/echo -n'
+ else
+ as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+ as_echo_n_body='eval
+ arg=$1;
+ case $arg in #(
+ *"$as_nl"*)
+ expr "X$arg" : "X\\(.*\\)$as_nl";
+ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+ esac;
+ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+ '
+ export as_echo_n_body
+ as_echo_n='sh -c $as_echo_n_body as_echo'
+ fi
+ export as_echo_body
+ as_echo='sh -c $as_echo_body as_echo'
+fi
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+ PATH_SEPARATOR=';'
+ }
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order. Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+IFS=" "" $as_nl"
+
+# Find who we are. Look in the path if we contain no directory separator.
+as_myself=
+case $0 in #((
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+ as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ exit 1
+fi
+
+# Unset variables that we do not need and which cause bugs (e.g. in
+# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
+# suppresses any "Segmentation fault" message there. '((' could
+# trigger a bug in pdksh 5.2.14.
+for as_var in BASH_ENV ENV MAIL MAILPATH
+do eval test x\${$as_var+set} = xset \
+ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# CDPATH.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+# Use a proper internal environment variable to ensure we don't fall
+ # into an infinite loop, continuously re-executing ourselves.
+ if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
+ _as_can_reexec=no; export _as_can_reexec;
+ # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+ *v*x* | *x*v* ) as_opts=-vx ;;
+ *v* ) as_opts=-v ;;
+ *x* ) as_opts=-x ;;
+ * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+as_fn_exit 255
+ fi
+ # We don't want this to propagate to other subprocesses.
+ { _as_can_reexec=; unset _as_can_reexec;}
+if test "x$CONFIG_SHELL" = x; then
+ as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
+ emulate sh
+ NULLCMD=:
+ # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '\${1+\"\$@\"}'='\"\$@\"'
+ setopt NO_GLOB_SUBST
+else
+ case \`(set -o) 2>/dev/null\` in #(
+ *posix*) :
+ set -o posix ;; #(
+ *) :
+ ;;
+esac
+fi
+"
+ as_required="as_fn_return () { (exit \$1); }
+as_fn_success () { as_fn_return 0; }
+as_fn_failure () { as_fn_return 1; }
+as_fn_ret_success () { return 0; }
+as_fn_ret_failure () { return 1; }
+
+exitcode=0
+as_fn_success || { exitcode=1; echo as_fn_success failed.; }
+as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
+as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
+as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
+if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
+
+else
+ exitcode=1; echo positional parameters were not saved.
+fi
+test x\$exitcode = x0 || exit 1
+test -x / || exit 1"
+ as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
+ as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
+ eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
+ test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
+test \$(( 1 + 1 )) = 2 || exit 1"
+ if (eval "$as_required") 2>/dev/null; then :
+ as_have_required=yes
+else
+ as_have_required=no
+fi
+ if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
+
+else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+as_found=false
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ as_found=:
+ case $as_dir in #(
+ /*)
+ for as_base in sh bash ksh sh5; do
+ # Try only shells that exist, to save several forks.
+ as_shell=$as_dir/$as_base
+ if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
+ { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
+ CONFIG_SHELL=$as_shell as_have_required=yes
+ if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
+ break 2
+fi
+fi
+ done;;
+ esac
+ as_found=false
+done
+$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
+ { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
+ CONFIG_SHELL=$SHELL as_have_required=yes
+fi; }
+IFS=$as_save_IFS
+
+
+ if test "x$CONFIG_SHELL" != x; then :
+ export CONFIG_SHELL
+ # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+ *v*x* | *x*v* ) as_opts=-vx ;;
+ *v* ) as_opts=-v ;;
+ *x* ) as_opts=-x ;;
+ * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
+fi
+
+ if test x$as_have_required = xno; then :
+ $as_echo "$0: This script requires a shell more modern than all"
+ $as_echo "$0: the shells that I found on your system."
+ if test x${ZSH_VERSION+set} = xset ; then
+ $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
+ $as_echo "$0: be upgraded to zsh 4.3.4 or later."
+ else
+ $as_echo "$0: Please tell bug-autoconf at gnu.org and
+$0: genabel-devel at r-forge.wu-wien.ac.at about your system,
+$0: including any error possibly output before this
+$0: message. Then install a modern shell, or manually run
+$0: the script under such a shell if you do have one."
+ fi
+ exit 1
+fi
+fi
+fi
+SHELL=${CONFIG_SHELL-/bin/sh}
+export SHELL
+# Unset more variables known to interfere with behavior of common tools.
+CLICOLOR_FORCE= GREP_OPTIONS=
+unset CLICOLOR_FORCE GREP_OPTIONS
+
+## --------------------- ##
+## M4sh Shell Functions. ##
+## --------------------- ##
+# as_fn_unset VAR
+# ---------------
+# Portably unset VAR.
+as_fn_unset ()
+{
+ { eval $1=; unset $1;}
+}
+as_unset=as_fn_unset
+
+# as_fn_set_status STATUS
+# -----------------------
+# Set $? to STATUS, without forking.
+as_fn_set_status ()
+{
+ return $1
+} # as_fn_set_status
+
+# as_fn_exit STATUS
+# -----------------
+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
+as_fn_exit ()
+{
+ set +e
+ as_fn_set_status $1
+ exit $1
+} # as_fn_exit
+
+# as_fn_mkdir_p
+# -------------
+# Create "$as_dir" as a directory, including parents if necessary.
+as_fn_mkdir_p ()
+{
+
+ case $as_dir in #(
+ -*) as_dir=./$as_dir;;
+ esac
+ test -d "$as_dir" || eval $as_mkdir_p || {
+ as_dirs=
+ while :; do
+ case $as_dir in #(
+ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+ *) as_qdir=$as_dir;;
+ esac
+ as_dirs="'$as_qdir' $as_dirs"
+ as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_dir" : 'X\(//\)[^/]' \| \
+ X"$as_dir" : 'X\(//\)$' \| \
+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_dir" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ test -d "$as_dir" && break
+ done
+ test -z "$as_dirs" || eval "mkdir $as_dirs"
+ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
+
+
+} # as_fn_mkdir_p
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+ test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+# as_fn_append VAR VALUE
+# ----------------------
+# Append the text in VALUE to the end of the definition contained in VAR. Take
+# advantage of any shell optimizations that allow amortized linear growth over
+# repeated appends, instead of the typical quadratic growth present in naive
+# implementations.
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
+ eval 'as_fn_append ()
+ {
+ eval $1+=\$2
+ }'
+else
+ as_fn_append ()
+ {
+ eval $1=\$$1\$2
+ }
+fi # as_fn_append
+
+# as_fn_arith ARG...
+# ------------------
+# Perform arithmetic evaluation on the ARGs, and store the result in the
+# global $as_val. Take advantage of shells that can avoid forks. The arguments
+# must be portable across $(()) and expr.
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+ eval 'as_fn_arith ()
+ {
+ as_val=$(( $* ))
+ }'
+else
+ as_fn_arith ()
+ {
+ as_val=`expr "$@" || test $? -eq 1`
+ }
+fi # as_fn_arith
+
+
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+# script with STATUS, using 1 if that was 0.
+as_fn_error ()
+{
+ as_status=$1; test $as_status -eq 0 && as_status=1
+ if test "$4"; then
+ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+ fi
+ $as_echo "$as_me: error: $2" >&2
+ as_fn_exit $as_status
+} # as_fn_error
+
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+ as_basename=basename
+else
+ as_basename=false
+fi
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+ as_dirname=dirname
+else
+ as_dirname=false
+fi
+
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+
+ as_lineno_1=$LINENO as_lineno_1a=$LINENO
+ as_lineno_2=$LINENO as_lineno_2a=$LINENO
+ eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
+ test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
+ # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-)
+ sed -n '
+ p
+ /[$]LINENO/=
+ ' <$as_myself |
+ sed '
+ s/[$]LINENO.*/&-/
+ t lineno
+ b
+ :lineno
+ N
+ :loop
+ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
+ t loop
+ s/-\n.*//
+ ' >$as_me.lineno &&
+ chmod +x "$as_me.lineno" ||
+ { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
+
+ # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
+ # already done that, so ensure we don't try to do so again and fall
+ # in an infinite loop. This has already happened in practice.
+ _as_can_reexec=no; export _as_can_reexec
+ # Don't try to exec as it changes $[0], causing all sort of problems
+ # (the dirname of $[0] is not the place where we might find the
+ # original and so on. Autoconf is especially sensitive to this).
+ . "./$as_me.lineno"
+ # Exit status is that of the last command.
+ exit
+}
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in #(((((
+-n*)
+ case `echo 'xy\c'` in
+ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
+ xy) ECHO_C='\c';;
+ *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
+ ECHO_T=' ';;
+ esac;;
+*)
+ ECHO_N='-n';;
+esac
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+ rm -f conf$$.dir/conf$$.file
+else
+ rm -f conf$$.dir
+ mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+ if ln -s conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s='ln -s'
+ # ... but there are two gotchas:
+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+ # In both cases, we have to default to `cp -pR'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ as_ln_s='cp -pR'
+ elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+ else
+ as_ln_s='cp -pR'
+ fi
+else
+ as_ln_s='cp -pR'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+if mkdir -p . 2>/dev/null; then
+ as_mkdir_p='mkdir -p "$as_dir"'
+else
+ test -d ./-p && rmdir ./-p
+ as_mkdir_p=false
+fi
+
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+test -n "$DJDIR" || exec 7<&0 </dev/null
+exec 6>&1
+
+# Name of the host.
+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
+# so uname gets run too.
+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
+
+#
+# Initializations.
+#
+ac_default_prefix=/usr/local
+ac_clean_files=
+ac_config_libobj_dir=.
+LIBOBJS=
+cross_compiling=no
+subdirs=
+MFLAGS=
+MAKEFLAGS=
+
+# Identity of this package.
+PACKAGE_NAME='ProbABEL'
+PACKAGE_TARNAME='probabel'
+PACKAGE_VERSION='0.4.1'
+PACKAGE_STRING='ProbABEL 0.4.1'
+PACKAGE_BUGREPORT='genabel-devel at r-forge.wu-wien.ac.at'
+PACKAGE_URL=''
+
+ac_unique_file="src/data.h"
+# Factoring default headers for most tests.
+ac_includes_default="\
+#include <stdio.h>
+#ifdef HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_STAT_H
+# include <sys/stat.h>
+#endif
+#ifdef STDC_HEADERS
+# include <stdlib.h>
+# include <stddef.h>
+#else
+# ifdef HAVE_STDLIB_H
+# include <stdlib.h>
+# endif
+#endif
+#ifdef HAVE_STRING_H
+# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
+# include <memory.h>
+# endif
+# include <string.h>
+#endif
+#ifdef HAVE_STRINGS_H
+# include <strings.h>
+#endif
+#ifdef HAVE_INTTYPES_H
+# include <inttypes.h>
+#endif
+#ifdef HAVE_STDINT_H
+# include <stdint.h>
+#endif
+#ifdef HAVE_UNISTD_H
+# include <unistd.h>
+#endif"
+
+ac_subst_vars='am__EXEEXT_FALSE
+am__EXEEXT_TRUE
+LTLIBOBJS
+BUILD_pacoxph_FALSE
+BUILD_pacoxph_TRUE
+BUILD_palogist_FALSE
+BUILD_palogist_TRUE
+BUILD_palinear_FALSE
+BUILD_palinear_TRUE
+HAVE_R_FALSE
+HAVE_R_TRUE
+R
+HAVE_PDFLATEX_FALSE
+HAVE_PDFLATEX_TRUE
+PDFLATEX
+SED
+LIBOBJS
+WITH_EIGEN_FALSE
+WITH_EIGEN_TRUE
+ALLOCA
+EGREP
+GREP
+CXXCPP
+am__fastdepCXX_FALSE
+am__fastdepCXX_TRUE
+CXXDEPMODE
+ac_ct_CXX
+CXXFLAGS
+CXX
+LN_S
+am__fastdepCC_FALSE
+am__fastdepCC_TRUE
+CCDEPMODE
+am__nodep
+AMDEPBACKSLASH
+AMDEP_FALSE
+AMDEP_TRUE
+am__quote
+am__include
+DEPDIR
+OBJEXT
+EXEEXT
+ac_ct_CC
+CPPFLAGS
+LDFLAGS
+CFLAGS
+CC
+MAINT
+MAINTAINER_MODE_FALSE
+MAINTAINER_MODE_TRUE
+AM_BACKSLASH
+AM_DEFAULT_VERBOSITY
+AM_DEFAULT_V
+AM_V
+am__untar
+am__tar
+AMTAR
+am__leading_dot
+SET_MAKE
+AWK
+mkdir_p
+MKDIR_P
+INSTALL_STRIP_PROGRAM
+STRIP
+install_sh
+MAKEINFO
+AUTOHEADER
+AUTOMAKE
+AUTOCONF
+ACLOCAL
+VERSION
+PACKAGE
+CYGPATH_W
+am__isrc
+INSTALL_DATA
+INSTALL_SCRIPT
+INSTALL_PROGRAM
+target_alias
+host_alias
+build_alias
+LIBS
+ECHO_T
+ECHO_N
+ECHO_C
+DEFS
+mandir
+localedir
+libdir
+psdir
+pdfdir
+dvidir
+htmldir
+infodir
+docdir
+oldincludedir
+includedir
+localstatedir
+sharedstatedir
+sysconfdir
+datadir
+datarootdir
+libexecdir
+sbindir
+bindir
+program_transform_name
+prefix
+exec_prefix
+PACKAGE_URL
+PACKAGE_BUGREPORT
+PACKAGE_STRING
+PACKAGE_VERSION
+PACKAGE_TARNAME
+PACKAGE_NAME
+PATH_SEPARATOR
+SHELL'
+ac_subst_files=''
+ac_user_opts='
+enable_option_checking
+enable_silent_rules
+enable_maintainer_mode
+enable_dependency_tracking
+with_eigen
+with_eigen_include_path
+enable_largefile
+enable_palinear
+enable_palogist
+enable_pacoxph
+'
+ ac_precious_vars='build_alias
+host_alias
+target_alias
+CC
+CFLAGS
+LDFLAGS
+LIBS
+CPPFLAGS
+CXX
+CXXFLAGS
+CCC
+CXXCPP'
+
+
+# Initialize some variables set by options.
+ac_init_help=
+ac_init_version=false
+ac_unrecognized_opts=
+ac_unrecognized_sep=
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+cache_file=/dev/null
+exec_prefix=NONE
+no_create=
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+verbose=
+x_includes=NONE
+x_libraries=NONE
+
+# Installation directory options.
+# These are left unexpanded so users can "make install exec_prefix=/foo"
+# and all the variables that are supposed to be based on exec_prefix
+# by default will actually change.
+# Use braces instead of parens because sh, perl, etc. also accept them.
+# (The list follows the same order as the GNU Coding Standards.)
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datarootdir='${prefix}/share'
+datadir='${datarootdir}'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
+infodir='${datarootdir}/info'
+htmldir='${docdir}'
+dvidir='${docdir}'
+pdfdir='${docdir}'
+psdir='${docdir}'
+libdir='${exec_prefix}/lib'
+localedir='${datarootdir}/locale'
+mandir='${datarootdir}/man'
+
+ac_prev=
+ac_dashdash=
+for ac_option
+do
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval $ac_prev=\$ac_option
+ ac_prev=
+ continue
+ fi
+
+ case $ac_option in
+ *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+ *=) ac_optarg= ;;
+ *) ac_optarg=yes ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case $ac_dashdash$ac_option in
+ --)
+ ac_dashdash=yes ;;
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir=$ac_optarg ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build_alias ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build_alias=$ac_optarg ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file=$ac_optarg ;;
+
+ --config-cache | -C)
+ cache_file=config.cache ;;
+
+ -datadir | --datadir | --datadi | --datad)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=*)
+ datadir=$ac_optarg ;;
+
+ -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
+ | --dataroo | --dataro | --datar)
+ ac_prev=datarootdir ;;
+ -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
+ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
+ datarootdir=$ac_optarg ;;
+
+ -disable-* | --disable-*)
+ ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ as_fn_error $? "invalid feature name: $ac_useropt"
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"enable_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval enable_$ac_useropt=no ;;
+
+ -docdir | --docdir | --docdi | --doc | --do)
+ ac_prev=docdir ;;
+ -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
+ docdir=$ac_optarg ;;
+
+ -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
+ ac_prev=dvidir ;;
+ -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
+ dvidir=$ac_optarg ;;
+
+ -enable-* | --enable-*)
+ ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ as_fn_error $? "invalid feature name: $ac_useropt"
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"enable_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval enable_$ac_useropt=\$ac_optarg ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix=$ac_optarg ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he | -h)
+ ac_init_help=long ;;
+ -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
+ ac_init_help=recursive ;;
+ -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
+ ac_init_help=short ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host_alias ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host_alias=$ac_optarg ;;
+
+ -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
+ ac_prev=htmldir ;;
+ -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
+ | --ht=*)
+ htmldir=$ac_optarg ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir=$ac_optarg ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir=$ac_optarg ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir=$ac_optarg ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir=$ac_optarg ;;
+
+ -localedir | --localedir | --localedi | --localed | --locale)
+ ac_prev=localedir ;;
+ -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
+ localedir=$ac_optarg ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst | --locals)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
+ localstatedir=$ac_optarg ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir=$ac_optarg ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c | -n)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir=$ac_optarg ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix=$ac_optarg ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix=$ac_optarg ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix=$ac_optarg ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name=$ac_optarg ;;
+
+ -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
+ ac_prev=pdfdir ;;
+ -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
+ pdfdir=$ac_optarg ;;
+
+ -psdir | --psdir | --psdi | --psd | --ps)
+ ac_prev=psdir ;;
+ -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
+ psdir=$ac_optarg ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir=$ac_optarg ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir=$ac_optarg ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site=$ac_optarg ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir=$ac_optarg ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir=$ac_optarg ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target_alias ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target_alias=$ac_optarg ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers | -V)
+ ac_init_version=: ;;
+
+ -with-* | --with-*)
+ ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ as_fn_error $? "invalid package name: $ac_useropt"
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"with_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval with_$ac_useropt=\$ac_optarg ;;
+
+ -without-* | --without-*)
+ ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ as_fn_error $? "invalid package name: $ac_useropt"
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"with_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval with_$ac_useropt=no ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes=$ac_optarg ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries=$ac_optarg ;;
+
+ -*) as_fn_error $? "unrecognized option: \`$ac_option'
+Try \`$0 --help' for more information"
+ ;;
+
+ *=*)
+ ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
+ # Reject names that are not valid shell variable names.
+ case $ac_envvar in #(
+ '' | [0-9]* | *[!_$as_cr_alnum]* )
+ as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
+ esac
+ eval $ac_envvar=\$ac_optarg
+ export $ac_envvar ;;
+
+ *)
+ # FIXME: should be removed in autoconf 3.0.
+ $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+ expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+ $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+ : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ ac_option=--`echo $ac_prev | sed 's/_/-/g'`
+ as_fn_error $? "missing argument to $ac_option"
+fi
+
+if test -n "$ac_unrecognized_opts"; then
+ case $enable_option_checking in
+ no) ;;
+ fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
+ *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
+ esac
+fi
+
+# Check all directory arguments for consistency.
+for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
+ datadir sysconfdir sharedstatedir localstatedir includedir \
+ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
+ libdir localedir mandir
+do
+ eval ac_val=\$$ac_var
+ # Remove trailing slashes.
+ case $ac_val in
+ */ )
+ ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
+ eval $ac_var=\$ac_val;;
+ esac
+ # Be sure to have absolute directory names.
+ case $ac_val in
+ [\\/$]* | ?:[\\/]* ) continue;;
+ NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
+ esac
+ as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
+done
+
+# There might be people who depend on the old broken behavior: `$host'
+# used to hold the argument of --host etc.
+# FIXME: To remove some day.
+build=$build_alias
+host=$host_alias
+target=$target_alias
+
+# FIXME: To remove some day.
+if test "x$host_alias" != x; then
+ if test "x$build_alias" = x; then
+ cross_compiling=maybe
+ elif test "x$build_alias" != "x$host_alias"; then
+ cross_compiling=yes
+ fi
+fi
+
+ac_tool_prefix=
+test -n "$host_alias" && ac_tool_prefix=$host_alias-
+
+test "$silent" = yes && exec 6>/dev/null
+
+
+ac_pwd=`pwd` && test -n "$ac_pwd" &&
+ac_ls_di=`ls -di .` &&
+ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
+ as_fn_error $? "working directory cannot be determined"
+test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
+ as_fn_error $? "pwd does not report name of working directory"
+
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then the parent directory.
+ ac_confdir=`$as_dirname -- "$as_myself" ||
+$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_myself" : 'X\(//\)[^/]' \| \
+ X"$as_myself" : 'X\(//\)$' \| \
+ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_myself" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ srcdir=$ac_confdir
+ if test ! -r "$srcdir/$ac_unique_file"; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r "$srcdir/$ac_unique_file"; then
+ test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
+ as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
+fi
+ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
+ac_abs_confdir=`(
+ cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
+ pwd)`
+# When building in place, set srcdir=.
+if test "$ac_abs_confdir" = "$ac_pwd"; then
+ srcdir=.
+fi
+# Remove unnecessary trailing slashes from srcdir.
+# Double slashes in file names in object file debugging info
+# mess up M-x gdb in Emacs.
+case $srcdir in
+*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
+esac
+for ac_var in $ac_precious_vars; do
+ eval ac_env_${ac_var}_set=\${${ac_var}+set}
+ eval ac_env_${ac_var}_value=\$${ac_var}
+ eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
+ eval ac_cv_env_${ac_var}_value=\$${ac_var}
+done
+
+#
+# Report the --help message.
+#
+if test "$ac_init_help" = "long"; then
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat <<_ACEOF
+\`configure' configures ProbABEL 0.4.1 to adapt to many kinds of systems.
+
+Usage: $0 [OPTION]... [VAR=VALUE]...
+
+To assign environment variables (e.g., CC, CFLAGS...), specify them as
+VAR=VALUE. See below for descriptions of some of the useful variables.
+
+Defaults for the options are specified in brackets.
+
+Configuration:
+ -h, --help display this help and exit
+ --help=short display options specific to this package
+ --help=recursive display the short help of all the included packages
+ -V, --version display version information and exit
+ -q, --quiet, --silent do not print \`checking ...' messages
+ --cache-file=FILE cache test results in FILE [disabled]
+ -C, --config-cache alias for \`--cache-file=config.cache'
+ -n, --no-create do not create output files
+ --srcdir=DIR find the sources in DIR [configure dir or \`..']
+
+Installation directories:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [PREFIX]
+
+By default, \`make install' will install all the files in
+\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
+an installation prefix other than \`$ac_default_prefix' using \`--prefix',
+for instance \`--prefix=\$HOME'.
+
+For better control, use the options below.
+
+Fine tuning of the installation directories:
+ --bindir=DIR user executables [EPREFIX/bin]
+ --sbindir=DIR system admin executables [EPREFIX/sbin]
+ --libexecdir=DIR program executables [EPREFIX/libexec]
+ --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data [PREFIX/var]
+ --libdir=DIR object code libraries [EPREFIX/lib]
+ --includedir=DIR C header files [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc [/usr/include]
+ --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
+ --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
+ --infodir=DIR info documentation [DATAROOTDIR/info]
+ --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
+ --mandir=DIR man documentation [DATAROOTDIR/man]
+ --docdir=DIR documentation root [DATAROOTDIR/doc/probabel]
+ --htmldir=DIR html documentation [DOCDIR]
+ --dvidir=DIR dvi documentation [DOCDIR]
+ --pdfdir=DIR pdf documentation [DOCDIR]
+ --psdir=DIR ps documentation [DOCDIR]
+_ACEOF
+
+ cat <<\_ACEOF
+
+Program names:
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM run sed PROGRAM on installed program names
+_ACEOF
+fi
+
+if test -n "$ac_init_help"; then
+ case $ac_init_help in
+ short | recursive ) echo "Configuration of ProbABEL 0.4.1:";;
+ esac
+ cat <<\_ACEOF
+
+Optional Features:
+ --disable-option-checking ignore unrecognized --enable/--with options
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --enable-silent-rules less verbose build output (undo: `make V=1')
+ --disable-silent-rules verbose build output (undo: `make V=0')
+ --disable-maintainer-mode disable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer
+ --disable-dependency-tracking speeds up one-time build
+ --enable-dependency-tracking do not reject slow dependency extractors
+ --disable-largefile omit support for large files
+ --disable-palinear disable building the palinear program
+ --disable-palogist disable building the palogist program
+ --disable-pacoxph disable building the pacoxph program
+
+Optional Packages:
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --with-eigen Use the Eigen template library for fast linear
+ algebra (Eigen can be downloaded from
+ eigen.tuxfamily.org); this is enabled by default
+
+ --with-eigen-include-path
+ location of the Eigen headers, defaults to
+ /usr/include/eigen3
+
+Some influential environment variables:
+ CC C compiler command
+ CFLAGS C compiler flags
+ LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
+ nonstandard directory <lib dir>
+ LIBS libraries to pass to the linker, e.g. -l<library>
+ CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
+ you have headers in a nonstandard directory <include dir>
+ CXX C++ compiler command
+ CXXFLAGS C++ compiler flags
+ CXXCPP C++ preprocessor
+
+Use these variables to override the choices made by `configure' or to help
+it to find libraries and programs with nonstandard names/locations.
+
+Report bugs to <genabel-devel at r-forge.wu-wien.ac.at>.
+_ACEOF
+ac_status=$?
+fi
+
+if test "$ac_init_help" = "recursive"; then
+ # If there are subdirs, report their specific --help.
+ for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
+ test -d "$ac_dir" ||
+ { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
+ continue
+ ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+ # A ".." for each directory in $ac_dir_suffix.
+ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+ case $ac_top_builddir_sub in
+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+ esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+ .) # We are building in place.
+ ac_srcdir=.
+ ac_top_srcdir=$ac_top_builddir_sub
+ ac_abs_top_srcdir=$ac_pwd ;;
+ [\\/]* | ?:[\\/]* ) # Absolute name.
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir
+ ac_abs_top_srcdir=$srcdir ;;
+ *) # Relative name.
+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_build_prefix$srcdir
+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+ cd "$ac_dir" || { ac_status=$?; continue; }
+ # Check for guested configure.
+ if test -f "$ac_srcdir/configure.gnu"; then
+ echo &&
+ $SHELL "$ac_srcdir/configure.gnu" --help=recursive
+ elif test -f "$ac_srcdir/configure"; then
+ echo &&
+ $SHELL "$ac_srcdir/configure" --help=recursive
+ else
+ $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+ fi || ac_status=$?
+ cd "$ac_pwd" || { ac_status=$?; break; }
+ done
+fi
+
+test -n "$ac_init_help" && exit $ac_status
+if $ac_init_version; then
+ cat <<\_ACEOF
+ProbABEL configure 0.4.1
+generated by GNU Autoconf 2.69
+
+Copyright (C) 2012 Free Software Foundation, Inc.
+This configure script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it.
+_ACEOF
+ exit
+fi
+
+## ------------------------ ##
+## Autoconf initialization. ##
+## ------------------------ ##
+
+# ac_fn_c_try_compile LINENO
+# --------------------------
+# Try to compile conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_compile ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ rm -f conftest.$ac_objext
+ if { { ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_compile") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ grep -v '^ *+' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ mv -f conftest.er1 conftest.err
+ fi
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then :
+ ac_retval=0
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=1
+fi
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_compile
+
+# ac_fn_cxx_try_compile LINENO
+# ----------------------------
+# Try to compile conftest.$ac_ext, and return whether this succeeded.
+ac_fn_cxx_try_compile ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ rm -f conftest.$ac_objext
+ if { { ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_compile") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ grep -v '^ *+' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ mv -f conftest.er1 conftest.err
+ fi
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then :
+ ac_retval=0
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=1
+fi
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_cxx_try_compile
+
+# ac_fn_cxx_check_type LINENO TYPE VAR INCLUDES
+# ---------------------------------------------
+# Tests whether TYPE exists after having included INCLUDES, setting cache
+# variable VAR accordingly.
+ac_fn_cxx_check_type ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ eval "$3=no"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+int
+main ()
+{
+if (sizeof ($2))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+int
+main ()
+{
+if (sizeof (($2)))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+
+else
+ eval "$3=yes"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_cxx_check_type
+
+# ac_fn_cxx_try_cpp LINENO
+# ------------------------
+# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
+ac_fn_cxx_try_cpp ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ if { { ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ grep -v '^ *+' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ mv -f conftest.er1 conftest.err
+ fi
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } > conftest.i && {
+ test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ }; then :
+ ac_retval=0
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=1
+fi
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_cxx_try_cpp
+
+# ac_fn_cxx_try_run LINENO
+# ------------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
+# that executables *can* be run.
+ac_fn_cxx_try_run ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ if { { ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
+ { { case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; }; then :
+ ac_retval=0
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=$ac_status
+fi
+ rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_cxx_try_run
+
+# ac_fn_cxx_check_header_compile LINENO HEADER VAR INCLUDES
+# ---------------------------------------------------------
+# Tests whether HEADER exists and can be compiled using the include files in
+# INCLUDES, setting the cache variable VAR accordingly.
+ac_fn_cxx_check_header_compile ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+#include <$2>
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+ eval "$3=yes"
+else
+ eval "$3=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_cxx_check_header_compile
+
+# ac_fn_cxx_try_link LINENO
+# -------------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded.
+ac_fn_cxx_try_link ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ rm -f conftest.$ac_objext conftest$ac_exeext
+ if { { ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_link") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ grep -v '^ *+' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ mv -f conftest.er1 conftest.err
+ fi
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ test -x conftest$ac_exeext
+ }; then :
+ ac_retval=0
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=1
+fi
+ # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
+ # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
+ # interfere with the next link command; also delete a directory that is
+ # left behind by Apple's compiler. We do this before executing the actions.
+ rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_cxx_try_link
+
+# ac_fn_cxx_check_func LINENO FUNC VAR
+# ------------------------------------
+# Tests whether FUNC exists, setting the cache variable VAR accordingly
+ac_fn_cxx_check_func ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $2 innocuous_$2
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $2 (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $2
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $2 ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_$2 || defined __stub___$2
+choke me
+#endif
+
+int
+main ()
+{
+return $2 ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_link "$LINENO"; then :
+ eval "$3=yes"
+else
+ eval "$3=no"
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_cxx_check_func
+
+# ac_fn_cxx_check_header_mongrel LINENO HEADER VAR INCLUDES
+# ---------------------------------------------------------
+# Tests whether HEADER exists, giving a warning if it cannot be compiled using
+# the include files in INCLUDES and setting the cache variable VAR
+# accordingly.
+ac_fn_cxx_check_header_mongrel ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ if eval \${$3+:} false; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+ $as_echo_n "(cached) " >&6
+fi
+eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+else
+ # Is the header compilable?
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
+$as_echo_n "checking $2 usability... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+#include <$2>
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+ ac_header_compiler=yes
+else
+ ac_header_compiler=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
+$as_echo_n "checking $2 presence... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <$2>
+_ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"; then :
+ ac_header_preproc=yes
+else
+ ac_header_preproc=no
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
+$as_echo "$ac_header_preproc" >&6; }
+
+# So? What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in #((
+ yes:no: )
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
+ ;;
+ no:yes:* )
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
+( $as_echo "## -------------------------------------------------- ##
+## Report this to genabel-devel at r-forge.wu-wien.ac.at ##
+## -------------------------------------------------- ##"
+ ) | sed "s/^/$as_me: WARNING: /" >&2
+ ;;
+esac
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ eval "$3=\$ac_header_compiler"
+fi
+eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+fi
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_cxx_check_header_mongrel
+cat >config.log <<_ACEOF
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+
+It was created by ProbABEL $as_me 0.4.1, which was
+generated by GNU Autoconf 2.69. Invocation command line was
+
+ $ $0 $@
+
+_ACEOF
+exec 5>>config.log
+{
+cat <<_ASUNAME
+## --------- ##
+## Platform. ##
+## --------- ##
+
+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
+/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
+
+/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
+/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
+/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
+/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
+/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
+/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
+
+_ASUNAME
+
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ $as_echo "PATH: $as_dir"
+ done
+IFS=$as_save_IFS
+
+} >&5
+
+cat >&5 <<_ACEOF
+
+
+## ----------- ##
+## Core tests. ##
+## ----------- ##
+
+_ACEOF
+
+
+# Keep a trace of the command line.
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Strip out --silent because we don't want to record it for future runs.
+# Also quote any args containing shell meta-characters.
+# Make two passes to allow for proper duplicate-argument suppression.
+ac_configure_args=
+ac_configure_args0=
+ac_configure_args1=
+ac_must_keep_next=false
+for ac_pass in 1 2
+do
+ for ac_arg
+ do
+ case $ac_arg in
+ -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ continue ;;
+ *\'*)
+ ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ esac
+ case $ac_pass in
+ 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
+ 2)
+ as_fn_append ac_configure_args1 " '$ac_arg'"
+ if test $ac_must_keep_next = true; then
+ ac_must_keep_next=false # Got value, back to normal.
+ else
+ case $ac_arg in
+ *=* | --config-cache | -C | -disable-* | --disable-* \
+ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
+ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
+ | -with-* | --with-* | -without-* | --without-* | --x)
+ case "$ac_configure_args0 " in
+ "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
+ esac
+ ;;
+ -* ) ac_must_keep_next=true ;;
+ esac
+ fi
+ as_fn_append ac_configure_args " '$ac_arg'"
+ ;;
+ esac
+ done
+done
+{ ac_configure_args0=; unset ac_configure_args0;}
+{ ac_configure_args1=; unset ac_configure_args1;}
+
+# When interrupted or exit'd, cleanup temporary files, and complete
+# config.log. We remove comments because anyway the quotes in there
+# would cause problems or look ugly.
+# WARNING: Use '\'' to represent an apostrophe within the trap.
+# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
+trap 'exit_status=$?
+ # Save into config.log some information that might help in debugging.
+ {
+ echo
+
+ $as_echo "## ---------------- ##
+## Cache variables. ##
+## ---------------- ##"
+ echo
+ # The following way of writing the cache mishandles newlines in values,
+(
+ for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
+ eval ac_val=\$$ac_var
+ case $ac_val in #(
+ *${as_nl}*)
+ case $ac_var in #(
+ *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+ esac
+ case $ac_var in #(
+ _ | IFS | as_nl) ;; #(
+ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
+ *) { eval $ac_var=; unset $ac_var;} ;;
+ esac ;;
+ esac
+ done
+ (set) 2>&1 |
+ case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
+ *${as_nl}ac_space=\ *)
+ sed -n \
+ "s/'\''/'\''\\\\'\'''\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
+ ;; #(
+ *)
+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+ ;;
+ esac |
+ sort
+)
+ echo
+
+ $as_echo "## ----------------- ##
+## Output variables. ##
+## ----------------- ##"
+ echo
+ for ac_var in $ac_subst_vars
+ do
+ eval ac_val=\$$ac_var
+ case $ac_val in
+ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ esac
+ $as_echo "$ac_var='\''$ac_val'\''"
+ done | sort
+ echo
+
+ if test -n "$ac_subst_files"; then
+ $as_echo "## ------------------- ##
+## File substitutions. ##
+## ------------------- ##"
+ echo
+ for ac_var in $ac_subst_files
+ do
+ eval ac_val=\$$ac_var
+ case $ac_val in
+ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ esac
+ $as_echo "$ac_var='\''$ac_val'\''"
+ done | sort
+ echo
+ fi
+
+ if test -s confdefs.h; then
+ $as_echo "## ----------- ##
+## confdefs.h. ##
+## ----------- ##"
+ echo
+ cat confdefs.h
+ echo
+ fi
+ test "$ac_signal" != 0 &&
+ $as_echo "$as_me: caught signal $ac_signal"
+ $as_echo "$as_me: exit $exit_status"
+ } >&5
+ rm -f core *.core core.conftest.* &&
+ rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
+ exit $exit_status
+' 0
+for ac_signal in 1 2 13 15; do
+ trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
+done
+ac_signal=0
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -f -r conftest* confdefs.h
+
+$as_echo "/* confdefs.h */" > confdefs.h
+
+# Predefined preprocessor variables.
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_NAME "$PACKAGE_NAME"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_VERSION "$PACKAGE_VERSION"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_STRING "$PACKAGE_STRING"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_URL "$PACKAGE_URL"
+_ACEOF
+
+
+# Let the site file select an alternate cache file if it wants to.
+# Prefer an explicitly selected file to automatically selected ones.
+ac_site_file1=NONE
+ac_site_file2=NONE
+if test -n "$CONFIG_SITE"; then
+ # We do not want a PATH search for config.site.
+ case $CONFIG_SITE in #((
+ -*) ac_site_file1=./$CONFIG_SITE;;
+ */*) ac_site_file1=$CONFIG_SITE;;
+ *) ac_site_file1=./$CONFIG_SITE;;
+ esac
+elif test "x$prefix" != xNONE; then
+ ac_site_file1=$prefix/share/config.site
+ ac_site_file2=$prefix/etc/config.site
+else
+ ac_site_file1=$ac_default_prefix/share/config.site
+ ac_site_file2=$ac_default_prefix/etc/config.site
+fi
+for ac_site_file in "$ac_site_file1" "$ac_site_file2"
+do
+ test "x$ac_site_file" = xNONE && continue
+ if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
+$as_echo "$as_me: loading site script $ac_site_file" >&6;}
+ sed 's/^/| /' "$ac_site_file" >&5
+ . "$ac_site_file" \
+ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "failed to load site script $ac_site_file
+See \`config.log' for more details" "$LINENO" 5; }
+ fi
+done
+
+if test -r "$cache_file"; then
+ # Some versions of bash will fail to source /dev/null (special files
+ # actually), so we avoid doing that. DJGPP emulates it as a regular file.
+ if test /dev/null != "$cache_file" && test -f "$cache_file"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
+$as_echo "$as_me: loading cache $cache_file" >&6;}
+ case $cache_file in
+ [\\/]* | ?:[\\/]* ) . "$cache_file";;
+ *) . "./$cache_file";;
+ esac
+ fi
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
+$as_echo "$as_me: creating cache $cache_file" >&6;}
+ >$cache_file
+fi
+
+# Check that the precious variables saved in the cache have kept the same
+# value.
+ac_cache_corrupted=false
+for ac_var in $ac_precious_vars; do
+ eval ac_old_set=\$ac_cv_env_${ac_var}_set
+ eval ac_new_set=\$ac_env_${ac_var}_set
+ eval ac_old_val=\$ac_cv_env_${ac_var}_value
+ eval ac_new_val=\$ac_env_${ac_var}_value
+ case $ac_old_set,$ac_new_set in
+ set,)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+ ac_cache_corrupted=: ;;
+ ,set)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+ ac_cache_corrupted=: ;;
+ ,);;
+ *)
+ if test "x$ac_old_val" != "x$ac_new_val"; then
+ # differences in whitespace do not lead to failure.
+ ac_old_val_w=`echo x $ac_old_val`
+ ac_new_val_w=`echo x $ac_new_val`
+ if test "$ac_old_val_w" != "$ac_new_val_w"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
+$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+ ac_cache_corrupted=:
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
+$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
+ eval $ac_var=\$ac_old_val
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5
+$as_echo "$as_me: former value: \`$ac_old_val'" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5
+$as_echo "$as_me: current value: \`$ac_new_val'" >&2;}
+ fi;;
+ esac
+ # Pass precious variables to config.status.
+ if test "$ac_new_set" = set; then
+ case $ac_new_val in
+ *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+ *) ac_arg=$ac_var=$ac_new_val ;;
+ esac
+ case " $ac_configure_args " in
+ *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
+ *) as_fn_append ac_configure_args " '$ac_arg'" ;;
+ esac
+ fi
+done
+if $ac_cache_corrupted; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
+$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+ as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+fi
+## -------------------- ##
+## Main body of script. ##
+## -------------------- ##
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+am__api_version='1.11'
+
+ac_aux_dir=
+for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
+ if test -f "$ac_dir/install-sh"; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f "$ac_dir/install.sh"; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ elif test -f "$ac_dir/shtool"; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/shtool install -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
+fi
+
+# These three variables are undocumented and unsupported,
+# and are intended to be withdrawn in a future Autoconf release.
+# They can cause serious problems if a builder's source tree is in a directory
+# whose full name contains unusual characters.
+ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var.
+ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
+ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AmigaOS /C/install, which installs bootblocks on floppy discs
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# OS/2's system install, which has a completely different semantic
+# ./install, which can be erroneously created by make from ./install.sh.
+# Reject install programs that cannot install multiple files.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
+$as_echo_n "checking for a BSD-compatible install... " >&6; }
+if test -z "$INSTALL"; then
+if ${ac_cv_path_install+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ # Account for people who put trailing slashes in PATH elements.
+case $as_dir/ in #((
+ ./ | .// | /[cC]/* | \
+ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
+ ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
+ /usr/ucb/* ) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
+ if test $ac_prog = install &&
+ grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ elif test $ac_prog = install &&
+ grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+ # program-specific install script used by HP pwplus--don't use.
+ :
+ else
+ rm -rf conftest.one conftest.two conftest.dir
+ echo one > conftest.one
+ echo two > conftest.two
+ mkdir conftest.dir
+ if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
+ test -s conftest.one && test -s conftest.two &&
+ test -s conftest.dir/conftest.one &&
+ test -s conftest.dir/conftest.two
+ then
+ ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+ break 3
+ fi
+ fi
+ fi
+ done
+ done
+ ;;
+esac
+
+ done
+IFS=$as_save_IFS
+
+rm -rf conftest.one conftest.two conftest.dir
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL=$ac_cv_path_install
+ else
+ # As a last resort, use the slow shell script. Don't cache a
+ # value for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the value is a relative name.
+ INSTALL=$ac_install_sh
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
+$as_echo "$INSTALL" >&6; }
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
+$as_echo_n "checking whether build environment is sane... " >&6; }
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Reject unsafe characters in $srcdir or the absolute working directory
+# name. Accept space and tab only in the latter.
+am_lf='
+'
+case `pwd` in
+ *[\\\"\#\$\&\'\`$am_lf]*)
+ as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
+esac
+case $srcdir in
+ *[\\\"\#\$\&\'\`$am_lf\ \ ]*)
+ as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;;
+esac
+
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t "$srcdir/configure" conftest.file`
+ fi
+ rm -f conftest.file
+ if test "$*" != "X $srcdir/configure conftest.file" \
+ && test "$*" != "X conftest.file $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ as_fn_error $? "ls -t appears to fail. Make sure there is not a broken
+alias in your environment" "$LINENO" 5
+ fi
+
+ test "$2" = conftest.file
+ )
+then
+ # Ok.
+ :
+else
+ as_fn_error $? "newly created file is older than distributed files!
+Check your system clock" "$LINENO" 5
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+test "$program_prefix" != NONE &&
+ program_transform_name="s&^&$program_prefix&;$program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s&\$&$program_suffix&;$program_transform_name"
+# Double any \ or $.
+# By default was `s,x,x', remove it if useless.
+ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
+program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
+
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+
+if test x"${MISSING+set}" != xset; then
+ case $am_aux_dir in
+ *\ * | *\ *)
+ MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
+ *)
+ MISSING="\${SHELL} $am_aux_dir/missing" ;;
+ esac
+fi
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+ am_missing_run="$MISSING --run "
+else
+ am_missing_run=
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5
+$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
+fi
+
+if test x"${install_sh}" != xset; then
+ case $am_aux_dir in
+ *\ * | *\ *)
+ install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
+ *)
+ install_sh="\${SHELL} $am_aux_dir/install-sh"
+ esac
+fi
+
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'. However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+if test "$cross_compiling" != no; then
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_STRIP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$STRIP"; then
+ ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
+$as_echo "$STRIP" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_STRIP"; then
+ ac_ct_STRIP=$STRIP
+ # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_STRIP"; then
+ ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_STRIP="strip"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
+$as_echo "$ac_ct_STRIP" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_STRIP" = x; then
+ STRIP=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ STRIP=$ac_ct_STRIP
+ fi
+else
+ STRIP="$ac_cv_prog_STRIP"
+fi
+
+fi
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
+$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
+if test -z "$MKDIR_P"; then
+ if ${ac_cv_path_mkdir+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in mkdir gmkdir; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue
+ case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
+ 'mkdir (GNU coreutils) '* | \
+ 'mkdir (coreutils) '* | \
+ 'mkdir (fileutils) '4.1*)
+ ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
+ break 3;;
+ esac
+ done
+ done
+ done
+IFS=$as_save_IFS
+
+fi
+
+ test -d ./--version && rmdir ./--version
+ if test "${ac_cv_path_mkdir+set}" = set; then
+ MKDIR_P="$ac_cv_path_mkdir -p"
+ else
+ # As a last resort, use the slow shell script. Don't cache a
+ # value for MKDIR_P within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the value is a relative name.
+ MKDIR_P="$ac_install_sh -d"
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
+$as_echo "$MKDIR_P" >&6; }
+
+mkdir_p="$MKDIR_P"
+case $mkdir_p in
+ [\\/$]* | ?:[\\/]*) ;;
+ */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
+esac
+
+for ac_prog in gawk mawk nawk awk
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_AWK+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$AWK"; then
+ ac_cv_prog_AWK="$AWK" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_AWK="$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+AWK=$ac_cv_prog_AWK
+if test -n "$AWK"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
+$as_echo "$AWK" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$AWK" && break
+done
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
+set x ${MAKE-make}
+ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
+if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.make <<\_ACEOF
+SHELL = /bin/sh
+all:
+ @echo '@@@%%%=$(MAKE)=@@@%%%'
+_ACEOF
+# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
+case `${MAKE-make} -f conftest.make 2>/dev/null` in
+ *@@@%%%=?*=@@@%%%*)
+ eval ac_cv_prog_make_${ac_make}_set=yes;;
+ *)
+ eval ac_cv_prog_make_${ac_make}_set=no;;
+esac
+rm -f conftest.make
+fi
+if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ SET_MAKE=
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+ am__leading_dot=.
+else
+ am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+
+# Check whether --enable-silent-rules was given.
+if test "${enable_silent_rules+set}" = set; then :
+ enableval=$enable_silent_rules;
+fi
+
+case $enable_silent_rules in
+yes) AM_DEFAULT_VERBOSITY=0;;
+no) AM_DEFAULT_VERBOSITY=1;;
+*) AM_DEFAULT_VERBOSITY=1;;
+esac
+am_make=${MAKE-make}
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5
+$as_echo_n "checking whether $am_make supports nested variables... " >&6; }
+if ${am_cv_make_support_nested_variables+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if $as_echo 'TRUE=$(BAR$(V))
+BAR0=false
+BAR1=true
+V=1
+am__doit:
+ @$(TRUE)
+.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then
+ am_cv_make_support_nested_variables=yes
+else
+ am_cv_make_support_nested_variables=no
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5
+$as_echo "$am_cv_make_support_nested_variables" >&6; }
+if test $am_cv_make_support_nested_variables = yes; then
+ AM_V='$(V)'
+ AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
+else
+ AM_V=$AM_DEFAULT_VERBOSITY
+ AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
+fi
+AM_BACKSLASH='\'
+
+if test "`cd $srcdir && pwd`" != "`pwd`"; then
+ # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+ # is not polluted with repeated "-I."
+ am__isrc=' -I$(srcdir)'
+ # test to see if srcdir already configured
+ if test -f $srcdir/config.status; then
+ as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
+ fi
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+ if (cygpath --version) >/dev/null 2>/dev/null; then
+ CYGPATH_W='cygpath -w'
+ else
+ CYGPATH_W=echo
+ fi
+fi
+
+
+# Define the identity of the package.
+ PACKAGE='probabel'
+ VERSION='0.4.1'
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE "$PACKAGE"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define VERSION "$VERSION"
+_ACEOF
+
+# Some tools Automake needs.
+
+ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
+
+
+AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
+
+
+AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
+
+
+AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
+
+
+MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
+
+# We need awk for the "check" target. The system "awk" is bad on
+# some platforms.
+# Always define AMTAR for backward compatibility. Yes, it's still used
+# in the wild :-( We should find a proper way to deprecate it ...
+AMTAR='$${TAR-tar}'
+
+am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'
+
+
+
+
+
+# Check whether --enable-silent-rules was given.
+if test "${enable_silent_rules+set}" = set; then :
+ enableval=$enable_silent_rules;
+fi
+
+case $enable_silent_rules in
+yes) AM_DEFAULT_VERBOSITY=0;;
+no) AM_DEFAULT_VERBOSITY=1;;
+*) AM_DEFAULT_VERBOSITY=1;;
+esac
+am_make=${MAKE-make}
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5
+$as_echo_n "checking whether $am_make supports nested variables... " >&6; }
+if ${am_cv_make_support_nested_variables+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if $as_echo 'TRUE=$(BAR$(V))
+BAR0=false
+BAR1=true
+V=1
+am__doit:
+ @$(TRUE)
+.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then
+ am_cv_make_support_nested_variables=yes
+else
+ am_cv_make_support_nested_variables=no
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5
+$as_echo "$am_cv_make_support_nested_variables" >&6; }
+if test $am_cv_make_support_nested_variables = yes; then
+ AM_V='$(V)'
+ AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
+else
+ AM_V=$AM_DEFAULT_VERBOSITY
+ AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
+fi
+AM_BACKSLASH='\'
+
+
+ac_config_headers="$ac_config_headers src/config.h"
+
+
+# Add the --disable-maintainer-mode option used by e.g. Debian and
+# Gentoo to disable rebuilding the autotools-generated files after
+# e.g. a patch has been applied to them. The default is 'disabled', we
+# change it here to keep the old behaviour by default.
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
+$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
+ # Check whether --enable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then :
+ enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
+else
+ USE_MAINTAINER_MODE=yes
+fi
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5
+$as_echo "$USE_MAINTAINER_MODE" >&6; }
+ if test $USE_MAINTAINER_MODE = yes; then
+ MAINTAINER_MODE_TRUE=
+ MAINTAINER_MODE_FALSE='#'
+else
+ MAINTAINER_MODE_TRUE='#'
+ MAINTAINER_MODE_FALSE=
+fi
+
+ MAINT=$MAINTAINER_MODE_TRUE
+
+
+
+# Checks for programs.
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}gcc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_CC="${ac_tool_prefix}gcc"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_CC"; then
+ ac_ct_CC=$CC
+ # Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_CC"; then
+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_CC="gcc"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_CC" = x; then
+ CC=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ CC=$ac_ct_CC
+ fi
+else
+ CC="$ac_cv_prog_CC"
+fi
+
+if test -z "$CC"; then
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}cc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_CC="${ac_tool_prefix}cc"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ fi
+fi
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ ac_prog_rejected=no
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# != 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
+ fi
+fi
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$CC"; then
+ if test -n "$ac_tool_prefix"; then
+ for ac_prog in cl.exe
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$CC" && break
+ done
+fi
+if test -z "$CC"; then
+ ac_ct_CC=$CC
+ for ac_prog in cl.exe
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_CC"; then
+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_CC="$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$ac_ct_CC" && break
+done
+
+ if test "x$ac_ct_CC" = x; then
+ CC=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ CC=$ac_ct_CC
+ fi
+fi
+
+fi
+
+
+test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "no acceptable C compiler found in \$PATH
+See \`config.log' for more details" "$LINENO" 5; }
+
+# Provide some information about the compiler.
+$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
+for ac_option in --version -v -V -qversion; do
+ { { ac_try="$ac_compiler $ac_option >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_compiler $ac_option >&5") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ sed '10a\
+... rest of stderr output deleted ...
+ 10q' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ fi
+ rm -f conftest.er1 conftest.err
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+done
+
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
+# Try to create an executable without -o first, disregard a.out.
+# It will help us diagnose broken compilers, and finding out an intuition
+# of exeext.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
+$as_echo_n "checking whether the C compiler works... " >&6; }
+ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
+
+# The possible output files:
+ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
+
+ac_rmfiles=
+for ac_file in $ac_files
+do
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
+ * ) ac_rmfiles="$ac_rmfiles $ac_file";;
+ esac
+done
+rm -f $ac_rmfiles
+
+if { { ac_try="$ac_link_default"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_link_default") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then :
+ # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
+# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
+# in a Makefile. We should not override ac_cv_exeext if it was cached,
+# so that the user can short-circuit this test for compilers unknown to
+# Autoconf.
+for ac_file in $ac_files ''
+do
+ test -f "$ac_file" || continue
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
+ ;;
+ [ab].out )
+ # We found the default executable, but exeext='' is most
+ # certainly right.
+ break;;
+ *.* )
+ if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
+ then :; else
+ ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+ fi
+ # We set ac_cv_exeext here because the later test for it is not
+ # safe: cross compilers may not add the suffix if given an `-o'
+ # argument, so we may need to know it at that point already.
+ # Even if this section looks crufty: it has the advantage of
+ # actually working.
+ break;;
+ * )
+ break;;
+ esac
+done
+test "$ac_cv_exeext" = no && ac_cv_exeext=
+
+else
+ ac_file=''
+fi
+if test -z "$ac_file"; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "C compiler cannot create executables
+See \`config.log' for more details" "$LINENO" 5; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
+$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
+ac_exeext=$ac_cv_exeext
+
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
+ac_clean_files=$ac_clean_files_save
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
+$as_echo_n "checking for suffix of executables... " >&6; }
+if { { ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then :
+ # If both `conftest.exe' and `conftest' are `present' (well, observable)
+# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
+# work properly (i.e., refer to `conftest.exe'), while it won't with
+# `rm'.
+for ac_file in conftest.exe conftest conftest.*; do
+ test -f "$ac_file" || continue
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
+ *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+ break;;
+ * ) break;;
+ esac
+done
+else
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details" "$LINENO" 5; }
+fi
+rm -f conftest conftest$ac_cv_exeext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
+$as_echo "$ac_cv_exeext" >&6; }
+
+rm -f conftest.$ac_ext
+EXEEXT=$ac_cv_exeext
+ac_exeext=$EXEEXT
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdio.h>
+int
+main ()
+{
+FILE *f = fopen ("conftest.out", "w");
+ return ferror (f) || fclose (f) != 0;
+
+ ;
+ return 0;
+}
+_ACEOF
+ac_clean_files="$ac_clean_files conftest.out"
+# Check that the compiler produces executables we can run. If not, either
+# the compiler is broken, or we cross compile.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+if test "$cross_compiling" != yes; then
+ { { ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ if { ac_try='./conftest$ac_cv_exeext'
+ { { case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; }; then
+ cross_compiling=no
+ else
+ if test "$cross_compiling" = maybe; then
+ cross_compiling=yes
+ else
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details" "$LINENO" 5; }
+ fi
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
+
+rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
+ac_clean_files=$ac_clean_files_save
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
+$as_echo_n "checking for suffix of object files... " >&6; }
+if ${ac_cv_objext+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.o conftest.obj
+if { { ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_compile") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then :
+ for ac_file in conftest.o conftest.obj conftest.*; do
+ test -f "$ac_file" || continue;
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
+ *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
+ break;;
+ esac
+done
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot compute suffix of object files: cannot compile
+See \`config.log' for more details" "$LINENO" 5; }
+fi
+rm -f conftest.$ac_cv_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
+$as_echo "$ac_cv_objext" >&6; }
+OBJEXT=$ac_cv_objext
+ac_objext=$OBJEXT
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
+$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
+if ${ac_cv_c_compiler_gnu+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+#ifndef __GNUC__
+ choke me
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_compiler_gnu=yes
+else
+ ac_compiler_gnu=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_c_compiler_gnu=$ac_compiler_gnu
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
+$as_echo "$ac_cv_c_compiler_gnu" >&6; }
+if test $ac_compiler_gnu = yes; then
+ GCC=yes
+else
+ GCC=
+fi
+ac_test_CFLAGS=${CFLAGS+set}
+ac_save_CFLAGS=$CFLAGS
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
+$as_echo_n "checking whether $CC accepts -g... " >&6; }
+if ${ac_cv_prog_cc_g+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_save_c_werror_flag=$ac_c_werror_flag
+ ac_c_werror_flag=yes
+ ac_cv_prog_cc_g=no
+ CFLAGS="-g"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_prog_cc_g=yes
+else
+ CFLAGS=""
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+else
+ ac_c_werror_flag=$ac_save_c_werror_flag
+ CFLAGS="-g"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_prog_cc_g=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_c_werror_flag=$ac_save_c_werror_flag
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
+$as_echo "$ac_cv_prog_cc_g" >&6; }
+if test "$ac_test_CFLAGS" = set; then
+ CFLAGS=$ac_save_CFLAGS
+elif test $ac_cv_prog_cc_g = yes; then
+ if test "$GCC" = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-g"
+ fi
+else
+ if test "$GCC" = yes; then
+ CFLAGS="-O2"
+ else
+ CFLAGS=
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
+$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
+if ${ac_cv_prog_cc_c89+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_prog_cc_c89=no
+ac_save_CC=$CC
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdarg.h>
+#include <stdio.h>
+struct stat;
+/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
+struct buf { int x; };
+FILE * (*rcsopen) (struct buf *, struct stat *, int);
+static char *e (p, i)
+ char **p;
+ int i;
+{
+ return p[i];
+}
+static char *f (char * (*g) (char **, int), char **p, ...)
+{
+ char *s;
+ va_list v;
+ va_start (v,p);
+ s = g (p, va_arg (v,int));
+ va_end (v);
+ return s;
+}
+
+/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
+ function prototypes and stuff, but not '\xHH' hex character constants.
+ These don't provoke an error unfortunately, instead are silently treated
+ as 'x'. The following induces an error, until -std is added to get
+ proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
+ array size at least. It's necessary to write '\x00'==0 to get something
+ that's true only with -std. */
+int osf4_cc_array ['\x00' == 0 ? 1 : -1];
+
+/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
+ inside strings and character constants. */
+#define FOO(x) 'x'
+int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
+
+int test (int i, double x);
+struct s1 {int (*f) (int a);};
+struct s2 {int (*f) (double a);};
+int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
+int argc;
+char **argv;
+int
+main ()
+{
+return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
+ ;
+ return 0;
+}
+_ACEOF
+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
+ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+do
+ CC="$ac_save_CC $ac_arg"
+ if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_prog_cc_c89=$ac_arg
+fi
+rm -f core conftest.err conftest.$ac_objext
+ test "x$ac_cv_prog_cc_c89" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC
+
+fi
+# AC_CACHE_VAL
+case "x$ac_cv_prog_cc_c89" in
+ x)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+$as_echo "none needed" >&6; } ;;
+ xno)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+$as_echo "unsupported" >&6; } ;;
+ *)
+ CC="$CC $ac_cv_prog_cc_c89"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
+$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
+esac
+if test "x$ac_cv_prog_cc_c89" != xno; then :
+
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+DEPDIR="${am__leading_dot}deps"
+
+ac_config_commands="$ac_config_commands depfiles"
+
+
+am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+ @echo this is the am__doit target
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
+$as_echo_n "checking for style of include used by $am_make... " >&6; }
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# Ignore all kinds of additional output from `make'.
+case `$am_make -s -f confmf 2> /dev/null` in #(
+*the\ am__doit\ target*)
+ am__include=include
+ am__quote=
+ _am_result=GNU
+ ;;
+esac
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+ echo '.include "confinc"' > confmf
+ case `$am_make -s -f confmf 2> /dev/null` in #(
+ *the\ am__doit\ target*)
+ am__include=.include
+ am__quote="\""
+ _am_result=BSD
+ ;;
+ esac
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
+$as_echo "$_am_result" >&6; }
+rm -f confinc confmf
+
+# Check whether --enable-dependency-tracking was given.
+if test "${enable_dependency_tracking+set}" = set; then :
+ enableval=$enable_dependency_tracking;
+fi
+
+if test "x$enable_dependency_tracking" != xno; then
+ am_depcomp="$ac_aux_dir/depcomp"
+ AMDEPBACKSLASH='\'
+ am__nodep='_no'
+fi
+ if test "x$enable_dependency_tracking" != xno; then
+ AMDEP_TRUE=
+ AMDEP_FALSE='#'
+else
+ AMDEP_TRUE='#'
+ AMDEP_FALSE=
+fi
+
+
+
+depcc="$CC" am_compiler_list=
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
+$as_echo_n "checking dependency style of $depcc... " >&6; }
+if ${am_cv_CC_dependencies_compiler_type+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+ # We make a subdir and do the tests there. Otherwise we can end up
+ # making bogus files that we don't know about and never remove. For
+ # instance it was reported that on HP-UX the gcc test will end up
+ # making a dummy file named `D' -- because `-MD' means `put the output
+ # in D'.
+ rm -rf conftest.dir
+ mkdir conftest.dir
+ # Copy depcomp to subdir because otherwise we won't find it if we're
+ # using a relative directory.
+ cp "$am_depcomp" conftest.dir
+ cd conftest.dir
+ # We will build objects and dependencies in a subdirectory because
+ # it helps to detect inapplicable dependency modes. For instance
+ # both Tru64's cc and ICC support -MD to output dependencies as a
+ # side effect of compilation, but ICC will put the dependencies in
+ # the current directory while Tru64 will put them in the object
+ # directory.
+ mkdir sub
+
+ am_cv_CC_dependencies_compiler_type=none
+ if test "$am_compiler_list" = ""; then
+ am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+ fi
+ am__universal=false
+ case " $depcc " in #(
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
+ esac
+
+ for depmode in $am_compiler_list; do
+ # Setup a source with many dependencies, because some compilers
+ # like to wrap large dependency lists on column 80 (with \), and
+ # we should not choose a depcomp mode which is confused by this.
+ #
+ # We need to recreate these files for each test, as the compiler may
+ # overwrite some of them when testing with obscure command lines.
+ # This happens at least with the AIX C compiler.
+ : > sub/conftest.c
+ for i in 1 2 3 4 5 6; do
+ echo '#include "conftst'$i'.h"' >> sub/conftest.c
+ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+ # Solaris 8's {/usr,}/bin/sh.
+ touch sub/conftst$i.h
+ done
+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+ # We check with `-c' and `-o' for the sake of the "dashmstdout"
+ # mode. It turns out that the SunPro C++ compiler does not properly
+ # handle `-M -o', and we need to detect this. Also, some Intel
+ # versions had trouble with output in subdirs
+ am__obj=sub/conftest.${OBJEXT-o}
+ am__minus_obj="-o $am__obj"
+ case $depmode in
+ gcc)
+ # This depmode causes a compiler race in universal mode.
+ test "$am__universal" = false || continue
+ ;;
+ nosideeffect)
+ # after this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested
+ if test "x$enable_dependency_tracking" = xyes; then
+ continue
+ else
+ break
+ fi
+ ;;
+ msvc7 | msvc7msys | msvisualcpp | msvcmsys)
+ # This compiler won't grok `-c -o', but also, the minuso test has
+ # not run yet. These depmodes are late enough in the game, and
+ # so weak that their functioning should not be impacted.
+ am__obj=conftest.${OBJEXT-o}
+ am__minus_obj=
+ ;;
+ none) break ;;
+ esac
+ if depmode=$depmode \
+ source=sub/conftest.c object=$am__obj \
+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
+ >/dev/null 2>conftest.err &&
+ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+ # icc doesn't choke on unknown options, it will just issue warnings
+ # or remarks (even with -Werror). So we grep stderr for any message
+ # that says an option was ignored or not supported.
+ # When given -MP, icc 7.0 and 7.1 complain thusly:
+ # icc: Command line warning: ignoring option '-M'; no argument required
+ # The diagnosis changed in icc 8.0:
+ # icc: Command line remark: option '-MP' not supported
+ if (grep 'ignoring option' conftest.err ||
+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+ am_cv_CC_dependencies_compiler_type=$depmode
+ break
+ fi
+ fi
+ done
+
+ cd ..
+ rm -rf conftest.dir
+else
+ am_cv_CC_dependencies_compiler_type=none
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
+$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
+CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
+
+ if
+ test "x$enable_dependency_tracking" != xno \
+ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
+ am__fastdepCC_TRUE=
+ am__fastdepCC_FALSE='#'
+else
+ am__fastdepCC_TRUE='#'
+ am__fastdepCC_FALSE=
+fi
+
+
+if test "x$CC" != xcc; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC and cc understand -c and -o together" >&5
+$as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cc understands -c and -o together" >&5
+$as_echo_n "checking whether cc understands -c and -o together... " >&6; }
+fi
+set dummy $CC; ac_cc=`$as_echo "$2" |
+ sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
+if eval \${ac_cv_prog_cc_${ac_cc}_c_o+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+# Make sure it works both with $CC and with simple cc.
+# We do the test twice because some compilers refuse to overwrite an
+# existing .o file with -o, though they will create one.
+ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
+rm -f conftest2.*
+if { { case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } &&
+ test -f conftest2.$ac_objext && { { case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; };
+then
+ eval ac_cv_prog_cc_${ac_cc}_c_o=yes
+ if test "x$CC" != xcc; then
+ # Test first that cc exists at all.
+ if { ac_try='cc -c conftest.$ac_ext >&5'
+ { { case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; }; then
+ ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
+ rm -f conftest2.*
+ if { { case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } &&
+ test -f conftest2.$ac_objext && { { case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; };
+ then
+ # cc works too.
+ :
+ else
+ # cc exists but doesn't like -o.
+ eval ac_cv_prog_cc_${ac_cc}_c_o=no
+ fi
+ fi
+ fi
+else
+ eval ac_cv_prog_cc_${ac_cc}_c_o=no
+fi
+rm -f core conftest*
+
+fi
+if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+$as_echo "#define NO_MINUS_C_MINUS_O 1" >>confdefs.h
+
+fi
+
+# FIXME: we rely on the cache variable name because
+# there is no other way.
+set dummy $CC
+am_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
+eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
+if test "$am_t" != yes; then
+ # Losing compiler, so override with the script.
+ # FIXME: It is wrong to rewrite CC.
+ # But if we don't then we get into trouble of one sort or another.
+ # A longer-term fix would be to have automake use am__CC in this case,
+ # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+ CC="$am_aux_dir/compile $CC"
+fi
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
+$as_echo_n "checking whether ln -s works... " >&6; }
+LN_S=$as_ln_s
+if test "$LN_S" = "ln -s"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
+$as_echo "no, using $LN_S" >&6; }
+fi
+
+if test -z "$CXXFLAGS"; then
+ # User did not set CXXFLAGS, so we can put in our own defaults
+ CXXFLAGS="-g -O2"
+fi
+if test -z "$CPPFLAGS"; then
+ # User did not set CPPFLAGS, so we can put in our own defaults
+ CPPFLAGS="-Wall"
+fi
+# If CXXFLAGS/CPPFLAGS are already set AC_PROG_CXX will not overwrite them
+# with its own defaults
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+if test -z "$CXX"; then
+ if test -n "$CCC"; then
+ CXX=$CCC
+ else
+ if test -n "$ac_tool_prefix"; then
+ for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CXX+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CXX"; then
+ ac_cv_prog_CXX="$CXX" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+CXX=$ac_cv_prog_CXX
+if test -n "$CXX"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5
+$as_echo "$CXX" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$CXX" && break
+ done
+fi
+if test -z "$CXX"; then
+ ac_ct_CXX=$CXX
+ for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_CXX+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_CXX"; then
+ ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_CXX="$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
+if test -n "$ac_ct_CXX"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5
+$as_echo "$ac_ct_CXX" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$ac_ct_CXX" && break
+done
+
+ if test "x$ac_ct_CXX" = x; then
+ CXX="g++"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ CXX=$ac_ct_CXX
+ fi
+fi
+
+ fi
+fi
+# Provide some information about the compiler.
+$as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
+for ac_option in --version -v -V -qversion; do
+ { { ac_try="$ac_compiler $ac_option >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_compiler $ac_option >&5") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ sed '10a\
+... rest of stderr output deleted ...
+ 10q' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ fi
+ rm -f conftest.er1 conftest.err
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+done
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5
+$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; }
+if ${ac_cv_cxx_compiler_gnu+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+#ifndef __GNUC__
+ choke me
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+ ac_compiler_gnu=yes
+else
+ ac_compiler_gnu=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5
+$as_echo "$ac_cv_cxx_compiler_gnu" >&6; }
+if test $ac_compiler_gnu = yes; then
+ GXX=yes
+else
+ GXX=
+fi
+ac_test_CXXFLAGS=${CXXFLAGS+set}
+ac_save_CXXFLAGS=$CXXFLAGS
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5
+$as_echo_n "checking whether $CXX accepts -g... " >&6; }
+if ${ac_cv_prog_cxx_g+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_save_cxx_werror_flag=$ac_cxx_werror_flag
+ ac_cxx_werror_flag=yes
+ ac_cv_prog_cxx_g=no
+ CXXFLAGS="-g"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+ ac_cv_prog_cxx_g=yes
+else
+ CXXFLAGS=""
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+
+else
+ ac_cxx_werror_flag=$ac_save_cxx_werror_flag
+ CXXFLAGS="-g"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+ ac_cv_prog_cxx_g=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_cxx_werror_flag=$ac_save_cxx_werror_flag
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5
+$as_echo "$ac_cv_prog_cxx_g" >&6; }
+if test "$ac_test_CXXFLAGS" = set; then
+ CXXFLAGS=$ac_save_CXXFLAGS
+elif test $ac_cv_prog_cxx_g = yes; then
+ if test "$GXX" = yes; then
+ CXXFLAGS="-g -O2"
+ else
+ CXXFLAGS="-g"
+ fi
+else
+ if test "$GXX" = yes; then
+ CXXFLAGS="-O2"
+ else
+ CXXFLAGS=
+ fi
+fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+depcc="$CXX" am_compiler_list=
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
+$as_echo_n "checking dependency style of $depcc... " >&6; }
+if ${am_cv_CXX_dependencies_compiler_type+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+ # We make a subdir and do the tests there. Otherwise we can end up
+ # making bogus files that we don't know about and never remove. For
+ # instance it was reported that on HP-UX the gcc test will end up
+ # making a dummy file named `D' -- because `-MD' means `put the output
+ # in D'.
+ rm -rf conftest.dir
+ mkdir conftest.dir
+ # Copy depcomp to subdir because otherwise we won't find it if we're
+ # using a relative directory.
+ cp "$am_depcomp" conftest.dir
+ cd conftest.dir
+ # We will build objects and dependencies in a subdirectory because
+ # it helps to detect inapplicable dependency modes. For instance
+ # both Tru64's cc and ICC support -MD to output dependencies as a
+ # side effect of compilation, but ICC will put the dependencies in
+ # the current directory while Tru64 will put them in the object
+ # directory.
+ mkdir sub
+
+ am_cv_CXX_dependencies_compiler_type=none
+ if test "$am_compiler_list" = ""; then
+ am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+ fi
+ am__universal=false
+ case " $depcc " in #(
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
+ esac
+
+ for depmode in $am_compiler_list; do
+ # Setup a source with many dependencies, because some compilers
+ # like to wrap large dependency lists on column 80 (with \), and
+ # we should not choose a depcomp mode which is confused by this.
+ #
+ # We need to recreate these files for each test, as the compiler may
+ # overwrite some of them when testing with obscure command lines.
+ # This happens at least with the AIX C compiler.
+ : > sub/conftest.c
+ for i in 1 2 3 4 5 6; do
+ echo '#include "conftst'$i'.h"' >> sub/conftest.c
+ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+ # Solaris 8's {/usr,}/bin/sh.
+ touch sub/conftst$i.h
+ done
+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+ # We check with `-c' and `-o' for the sake of the "dashmstdout"
+ # mode. It turns out that the SunPro C++ compiler does not properly
+ # handle `-M -o', and we need to detect this. Also, some Intel
+ # versions had trouble with output in subdirs
+ am__obj=sub/conftest.${OBJEXT-o}
+ am__minus_obj="-o $am__obj"
+ case $depmode in
+ gcc)
+ # This depmode causes a compiler race in universal mode.
+ test "$am__universal" = false || continue
+ ;;
+ nosideeffect)
+ # after this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested
+ if test "x$enable_dependency_tracking" = xyes; then
+ continue
+ else
+ break
+ fi
+ ;;
+ msvc7 | msvc7msys | msvisualcpp | msvcmsys)
+ # This compiler won't grok `-c -o', but also, the minuso test has
+ # not run yet. These depmodes are late enough in the game, and
+ # so weak that their functioning should not be impacted.
+ am__obj=conftest.${OBJEXT-o}
+ am__minus_obj=
+ ;;
+ none) break ;;
+ esac
+ if depmode=$depmode \
+ source=sub/conftest.c object=$am__obj \
+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
+ >/dev/null 2>conftest.err &&
+ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+ # icc doesn't choke on unknown options, it will just issue warnings
+ # or remarks (even with -Werror). So we grep stderr for any message
+ # that says an option was ignored or not supported.
+ # When given -MP, icc 7.0 and 7.1 complain thusly:
+ # icc: Command line warning: ignoring option '-M'; no argument required
+ # The diagnosis changed in icc 8.0:
+ # icc: Command line remark: option '-MP' not supported
+ if (grep 'ignoring option' conftest.err ||
+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+ am_cv_CXX_dependencies_compiler_type=$depmode
+ break
+ fi
+ fi
+ done
+
+ cd ..
+ rm -rf conftest.dir
+else
+ am_cv_CXX_dependencies_compiler_type=none
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5
+$as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; }
+CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type
+
+ if
+ test "x$enable_dependency_tracking" != xno \
+ && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then
+ am__fastdepCXX_TRUE=
+ am__fastdepCXX_FALSE='#'
+else
+ am__fastdepCXX_TRUE='#'
+ am__fastdepCXX_FALSE=
+fi
+
+
+
+# Since most of our code is in C++, set that language as the default
+# for the subsequent checks
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+
+# Checks for libraries.
+
+# Checks for header files.
+
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5
+$as_echo_n "checking how to run the C++ preprocessor... " >&6; }
+if test -z "$CXXCPP"; then
+ if ${ac_cv_prog_CXXCPP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ # Double quotes because CXXCPP needs to be expanded
+ for CXXCPP in "$CXX -E" "/lib/cpp"
+ do
+ ac_preproc_ok=false
+for ac_cxx_preproc_warn_flag in '' yes
+do
+ # Use a header file that comes with gcc, so configuring glibc
+ # with a fresh cross-compiler works.
+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ # <limits.h> exists even on freestanding compilers.
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+ Syntax error
+_ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"; then :
+
+else
+ # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+ # OK, works on sane cases. Now check whether nonexistent headers
+ # can be detected and how.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"; then :
+ # Broken: success on invalid input.
+continue
+else
+ # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+ break
+fi
+
+ done
+ ac_cv_prog_CXXCPP=$CXXCPP
+
+fi
+ CXXCPP=$ac_cv_prog_CXXCPP
+else
+ ac_cv_prog_CXXCPP=$CXXCPP
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5
+$as_echo "$CXXCPP" >&6; }
+ac_preproc_ok=false
+for ac_cxx_preproc_warn_flag in '' yes
+do
+ # Use a header file that comes with gcc, so configuring glibc
+ # with a fresh cross-compiler works.
+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ # <limits.h> exists even on freestanding compilers.
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+ Syntax error
+_ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"; then :
+
+else
+ # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+ # OK, works on sane cases. Now check whether nonexistent headers
+ # can be detected and how.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"; then :
+ # Broken: success on invalid input.
+continue
+else
+ # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+
+else
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5; }
+fi
+
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
+$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
+if ${ac_cv_path_GREP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -z "$GREP"; then
+ ac_path_GREP_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in grep ggrep; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
+ as_fn_executable_p "$ac_path_GREP" || continue
+# Check for GNU ac_path_GREP and select it if it is found.
+ # Check for GNU $ac_path_GREP
+case `"$ac_path_GREP" --version 2>&1` in
+*GNU*)
+ ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
+*)
+ ac_count=0
+ $as_echo_n 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ $as_echo 'GREP' >> "conftest.nl"
+ "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ as_fn_arith $ac_count + 1 && ac_count=$as_val
+ if test $ac_count -gt ${ac_path_GREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_GREP="$ac_path_GREP"
+ ac_path_GREP_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+ $ac_path_GREP_found && break 3
+ done
+ done
+ done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_GREP"; then
+ as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+ fi
+else
+ ac_cv_path_GREP=$GREP
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
+$as_echo "$ac_cv_path_GREP" >&6; }
+ GREP="$ac_cv_path_GREP"
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
+$as_echo_n "checking for egrep... " >&6; }
+if ${ac_cv_path_EGREP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
+ then ac_cv_path_EGREP="$GREP -E"
+ else
+ if test -z "$EGREP"; then
+ ac_path_EGREP_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in egrep; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
+ as_fn_executable_p "$ac_path_EGREP" || continue
+# Check for GNU ac_path_EGREP and select it if it is found.
+ # Check for GNU $ac_path_EGREP
+case `"$ac_path_EGREP" --version 2>&1` in
+*GNU*)
+ ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
+*)
+ ac_count=0
+ $as_echo_n 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ $as_echo 'EGREP' >> "conftest.nl"
+ "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ as_fn_arith $ac_count + 1 && ac_count=$as_val
+ if test $ac_count -gt ${ac_path_EGREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_EGREP="$ac_path_EGREP"
+ ac_path_EGREP_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+ $ac_path_EGREP_found && break 3
+ done
+ done
+ done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_EGREP"; then
+ as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+ fi
+else
+ ac_cv_path_EGREP=$EGREP
+fi
+
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
+$as_echo "$ac_cv_path_EGREP" >&6; }
+ EGREP="$ac_cv_path_EGREP"
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
+$as_echo_n "checking for ANSI C header files... " >&6; }
+if ${ac_cv_header_stdc+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+ ac_cv_header_stdc=yes
+else
+ ac_cv_header_stdc=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+if test $ac_cv_header_stdc = yes; then
+ # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <string.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "memchr" >/dev/null 2>&1; then :
+
+else
+ ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+ # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdlib.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "free" >/dev/null 2>&1; then :
+
+else
+ ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+ # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+ if test "$cross_compiling" = yes; then :
+ :
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <ctype.h>
+#include <stdlib.h>
+#if ((' ' & 0x0FF) == 0x020)
+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+#else
+# define ISLOWER(c) \
+ (('a' <= (c) && (c) <= 'i') \
+ || ('j' <= (c) && (c) <= 'r') \
+ || ('s' <= (c) && (c) <= 'z'))
+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+#endif
+
+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+int
+main ()
+{
+ int i;
+ for (i = 0; i < 256; i++)
+ if (XOR (islower (i), ISLOWER (i))
+ || toupper (i) != TOUPPER (i))
+ return 2;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_run "$LINENO"; then :
+
+else
+ ac_cv_header_stdc=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
+$as_echo "$ac_cv_header_stdc" >&6; }
+if test $ac_cv_header_stdc = yes; then
+
+$as_echo "#define STDC_HEADERS 1" >>confdefs.h
+
+fi
+
+# On IRIX 5.3, sys/types and inttypes.h are conflicting.
+for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
+ inttypes.h stdint.h unistd.h
+do :
+ as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_cxx_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
+"
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+ac_fn_cxx_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
+if test "x$ac_cv_type_size_t" = xyes; then :
+
+else
+
+cat >>confdefs.h <<_ACEOF
+#define size_t unsigned int
+_ACEOF
+
+fi
+
+# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
+# for constant arguments. Useless!
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5
+$as_echo_n "checking for working alloca.h... " >&6; }
+if ${ac_cv_working_alloca_h+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <alloca.h>
+int
+main ()
+{
+char *p = (char *) alloca (2 * sizeof (int));
+ if (p) return 0;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_link "$LINENO"; then :
+ ac_cv_working_alloca_h=yes
+else
+ ac_cv_working_alloca_h=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5
+$as_echo "$ac_cv_working_alloca_h" >&6; }
+if test $ac_cv_working_alloca_h = yes; then
+
+$as_echo "#define HAVE_ALLOCA_H 1" >>confdefs.h
+
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5
+$as_echo_n "checking for alloca... " >&6; }
+if ${ac_cv_func_alloca_works+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#ifdef __GNUC__
+# define alloca __builtin_alloca
+#else
+# ifdef _MSC_VER
+# include <malloc.h>
+# define alloca _alloca
+# else
+# ifdef HAVE_ALLOCA_H
+# include <alloca.h>
+# else
+# ifdef _AIX
+ #pragma alloca
+# else
+# ifndef alloca /* predefined by HP cc +Olibcalls */
+void *alloca (size_t);
+# endif
+# endif
+# endif
+# endif
+#endif
+
+int
+main ()
+{
+char *p = (char *) alloca (1);
+ if (p) return 0;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_link "$LINENO"; then :
+ ac_cv_func_alloca_works=yes
+else
+ ac_cv_func_alloca_works=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5
+$as_echo "$ac_cv_func_alloca_works" >&6; }
+
+if test $ac_cv_func_alloca_works = yes; then
+
+$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h
+
+else
+ # The SVR3 libPW and SVR4 libucb both contain incompatible functions
+# that cause trouble. Some versions do not even contain alloca or
+# contain a buggy version. If you still want to use their alloca,
+# use ar to extract alloca.o from them instead of compiling alloca.c.
+
+ALLOCA=\${LIBOBJDIR}alloca.$ac_objext
+
+$as_echo "#define C_ALLOCA 1" >>confdefs.h
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5
+$as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; }
+if ${ac_cv_os_cray+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#if defined CRAY && ! defined CRAY2
+webecray
+#else
+wenotbecray
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "webecray" >/dev/null 2>&1; then :
+ ac_cv_os_cray=yes
+else
+ ac_cv_os_cray=no
+fi
+rm -f conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_os_cray" >&5
+$as_echo "$ac_cv_os_cray" >&6; }
+if test $ac_cv_os_cray = yes; then
+ for ac_func in _getb67 GETB67 getb67; do
+ as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+ac_fn_cxx_check_func "$LINENO" "$ac_func" "$as_ac_var"
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
+
+cat >>confdefs.h <<_ACEOF
+#define CRAY_STACKSEG_END $ac_func
+_ACEOF
+
+ break
+fi
+
+ done
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5
+$as_echo_n "checking stack direction for C alloca... " >&6; }
+if ${ac_cv_c_stack_direction+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then :
+ ac_cv_c_stack_direction=0
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$ac_includes_default
+int
+find_stack_direction (int *addr, int depth)
+{
+ int dir, dummy = 0;
+ if (! addr)
+ addr = &dummy;
+ *addr = addr < &dummy ? 1 : addr == &dummy ? 0 : -1;
+ dir = depth ? find_stack_direction (addr, depth - 1) : 0;
+ return dir + dummy;
+}
+
+int
+main (int argc, char **argv)
+{
+ return find_stack_direction (0, argc + !argv + 20) < 0;
+}
+_ACEOF
+if ac_fn_cxx_try_run "$LINENO"; then :
+ ac_cv_c_stack_direction=1
+else
+ ac_cv_c_stack_direction=-1
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5
+$as_echo "$ac_cv_c_stack_direction" >&6; }
+cat >>confdefs.h <<_ACEOF
+#define STACK_DIRECTION $ac_cv_c_stack_direction
+_ACEOF
+
+
+fi
+
+for ac_header in float.h inttypes.h libintl.h limits.h stddef.h \
+ stdint.h stdlib.h string.h sys/param.h wchar.h wctype.h
+do :
+ as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_cxx_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+
+# See if we want use of the Eigen library enabled (yes by default) and if so,
+# whether we can find the library files.
+
+# Check whether --with-eigen was given.
+if test "${with_eigen+set}" = set; then :
+ withval=$with_eigen;
+fi
+
+
+if test "x$with_eigen" != "xno"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: building using the Eigen headers enabled" >&5
+$as_echo "$as_me: building using the Eigen headers enabled" >&6;}
+
+
+# Check whether --with-eigen-include-path was given.
+if test "${with_eigen_include_path+set}" = set; then :
+ withval=$with_eigen_include_path; CXXFLAGS+=" -I${withval}"
+ CPPFLAGS+=" -I${withval}"
+else
+ CXXFLAGS+=' -I/usr/include/eigen3'
+ CPPFLAGS+=' -I/usr/include/eigen3'
+fi
+
+
+ # Check for the EIGEN header files
+ for ac_header in Eigen/Dense Eigen/LU
+do :
+ as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_cxx_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+ if test x$ac_cv_header_Eigen_Dense = xno; then
+ as_fn_error $? "Could not find the Eigen header files. Did you specify \
+--with-eigen-include-path correctly? Or use --without-eigen \
+to disable use of fast linear algebra." "$LINENO" 5
+ fi
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: not using Eigen for linear algebra" >&5
+$as_echo "$as_me: not using Eigen for linear algebra" >&6;}
+fi
+ if test "x$with_eigen" != "xno"; then
+ WITH_EIGEN_TRUE=
+ WITH_EIGEN_FALSE='#'
+else
+ WITH_EIGEN_TRUE='#'
+ WITH_EIGEN_FALSE=
+fi
+
+
+
+# Checks for typedefs, structures, and compiler characteristics.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdbool.h that conforms to C99" >&5
+$as_echo_n "checking for stdbool.h that conforms to C99... " >&6; }
+if ${ac_cv_header_stdbool_h+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+ #include <stdbool.h>
+ #ifndef bool
+ "error: bool is not defined"
+ #endif
+ #ifndef false
+ "error: false is not defined"
+ #endif
+ #if false
+ "error: false is not 0"
+ #endif
+ #ifndef true
+ "error: true is not defined"
+ #endif
+ #if true != 1
+ "error: true is not 1"
+ #endif
+ #ifndef __bool_true_false_are_defined
+ "error: __bool_true_false_are_defined is not defined"
+ #endif
+
+ struct s { _Bool s: 1; _Bool t; } s;
+
+ char a[true == 1 ? 1 : -1];
+ char b[false == 0 ? 1 : -1];
+ char c[__bool_true_false_are_defined == 1 ? 1 : -1];
+ char d[(bool) 0.5 == true ? 1 : -1];
+ /* See body of main program for 'e'. */
+ char f[(_Bool) 0.0 == false ? 1 : -1];
+ char g[true];
+ char h[sizeof (_Bool)];
+ char i[sizeof s.t];
+ enum { j = false, k = true, l = false * true, m = true * 256 };
+ /* The following fails for
+ HP aC++/ANSI C B3910B A.05.55 [Dec 04 2003]. */
+ _Bool n[m];
+ char o[sizeof n == m * sizeof n[0] ? 1 : -1];
+ char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1];
+ /* Catch a bug in an HP-UX C compiler. See
+ http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html
+ http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html
+ */
+ _Bool q = true;
+ _Bool *pq = &q;
+
+int
+main ()
+{
+
+ bool e = &s;
+ *pq |= q;
+ *pq |= ! q;
+ /* Refer to every declared value, to avoid compiler optimizations. */
+ return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l
+ + !m + !n + !o + !p + !q + !pq);
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+ ac_cv_header_stdbool_h=yes
+else
+ ac_cv_header_stdbool_h=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdbool_h" >&5
+$as_echo "$ac_cv_header_stdbool_h" >&6; }
+ ac_fn_cxx_check_type "$LINENO" "_Bool" "ac_cv_type__Bool" "$ac_includes_default"
+if test "x$ac_cv_type__Bool" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE__BOOL 1
+_ACEOF
+
+
+fi
+
+
+if test $ac_cv_header_stdbool_h = yes; then
+
+$as_echo "#define HAVE_STDBOOL_H 1" >>confdefs.h
+
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5
+$as_echo_n "checking for inline... " >&6; }
+if ${ac_cv_c_inline+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_c_inline=no
+for ac_kw in inline __inline__ __inline; do
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#ifndef __cplusplus
+typedef int foo_t;
+static $ac_kw foo_t static_foo () {return 0; }
+$ac_kw foo_t foo () {return 0; }
+#endif
+
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+ ac_cv_c_inline=$ac_kw
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ test "$ac_cv_c_inline" != no && break
+done
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5
+$as_echo "$ac_cv_c_inline" >&6; }
+
+case $ac_cv_c_inline in
+ inline | yes) ;;
+ *)
+ case $ac_cv_c_inline in
+ no) ac_val=;;
+ *) ac_val=$ac_cv_c_inline;;
+ esac
+ cat >>confdefs.h <<_ACEOF
+#ifndef __cplusplus
+#define inline $ac_val
+#endif
+_ACEOF
+ ;;
+esac
+
+ac_fn_cxx_check_type "$LINENO" "off_t" "ac_cv_type_off_t" "$ac_includes_default"
+if test "x$ac_cv_type_off_t" = xyes; then :
+
+else
+
+cat >>confdefs.h <<_ACEOF
+#define off_t long int
+_ACEOF
+
+fi
+
+ac_fn_cxx_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
+if test "x$ac_cv_type_size_t" = xyes; then :
+
+else
+
+cat >>confdefs.h <<_ACEOF
+#define size_t unsigned int
+_ACEOF
+
+fi
+
+
+# Checks for library functions.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for error_at_line" >&5
+$as_echo_n "checking for error_at_line... " >&6; }
+if ${ac_cv_lib_error_at_line+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <error.h>
+int
+main ()
+{
+error_at_line (0, 0, "", 0, "an error occurred");
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_link "$LINENO"; then :
+ ac_cv_lib_error_at_line=yes
+else
+ ac_cv_lib_error_at_line=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_error_at_line" >&5
+$as_echo "$ac_cv_lib_error_at_line" >&6; }
+if test $ac_cv_lib_error_at_line = no; then
+ case " $LIBOBJS " in
+ *" error.$ac_objext "* ) ;;
+ *) LIBOBJS="$LIBOBJS error.$ac_objext"
+ ;;
+esac
+
+fi
+
+for ac_header in stdlib.h
+do :
+ ac_fn_cxx_check_header_mongrel "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default"
+if test "x$ac_cv_header_stdlib_h" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_STDLIB_H 1
+_ACEOF
+
+fi
+
+done
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU libc compatible malloc" >&5
+$as_echo_n "checking for GNU libc compatible malloc... " >&6; }
+if ${ac_cv_func_malloc_0_nonnull+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then :
+ ac_cv_func_malloc_0_nonnull=no
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#if defined STDC_HEADERS || defined HAVE_STDLIB_H
+# include <stdlib.h>
+#else
+char *malloc ();
+#endif
+
+int
+main ()
+{
+return ! malloc (0);
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_run "$LINENO"; then :
+ ac_cv_func_malloc_0_nonnull=yes
+else
+ ac_cv_func_malloc_0_nonnull=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_malloc_0_nonnull" >&5
+$as_echo "$ac_cv_func_malloc_0_nonnull" >&6; }
+if test $ac_cv_func_malloc_0_nonnull = yes; then :
+
+$as_echo "#define HAVE_MALLOC 1" >>confdefs.h
+
+else
+ $as_echo "#define HAVE_MALLOC 0" >>confdefs.h
+
+ case " $LIBOBJS " in
+ *" malloc.$ac_objext "* ) ;;
+ *) LIBOBJS="$LIBOBJS malloc.$ac_objext"
+ ;;
+esac
+
+
+$as_echo "#define malloc rpl_malloc" >>confdefs.h
+
+fi
+
+
+for ac_func in pow putenv sqrt strdup strncasecmp floor
+do :
+ as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+ac_fn_cxx_check_func "$LINENO" "$ac_func" "$as_ac_var"
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+
+# Check if we can use large (>2GB) files on 32 bit platforms
+# Check whether --enable-largefile was given.
+if test "${enable_largefile+set}" = set; then :
+ enableval=$enable_largefile;
+fi
+
+if test "$enable_largefile" != no; then
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5
+$as_echo_n "checking for special C compiler options needed for large files... " >&6; }
+if ${ac_cv_sys_largefile_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_sys_largefile_CC=no
+ if test "$GCC" != yes; then
+ ac_save_CC=$CC
+ while :; do
+ # IRIX 6.2 and later do not support large files by default,
+ # so use the C compiler's -n32 option if that helps.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+ We can't simply define LARGE_OFF_T to be 9223372036854775807,
+ since some C++ compilers masquerading as C compilers
+ incorrectly reject 9223372036854775807. */
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+ && LARGE_OFF_T % 2147483647 == 1)
+ ? 1 : -1];
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+ if ac_fn_cxx_try_compile "$LINENO"; then :
+ break
+fi
+rm -f core conftest.err conftest.$ac_objext
+ CC="$CC -n32"
+ if ac_fn_cxx_try_compile "$LINENO"; then :
+ ac_cv_sys_largefile_CC=' -n32'; break
+fi
+rm -f core conftest.err conftest.$ac_objext
+ break
+ done
+ CC=$ac_save_CC
+ rm -f conftest.$ac_ext
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5
+$as_echo "$ac_cv_sys_largefile_CC" >&6; }
+ if test "$ac_cv_sys_largefile_CC" != no; then
+ CC=$CC$ac_cv_sys_largefile_CC
+ fi
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5
+$as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; }
+if ${ac_cv_sys_file_offset_bits+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ while :; do
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+ We can't simply define LARGE_OFF_T to be 9223372036854775807,
+ since some C++ compilers masquerading as C compilers
+ incorrectly reject 9223372036854775807. */
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+ && LARGE_OFF_T % 2147483647 == 1)
+ ? 1 : -1];
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+ ac_cv_sys_file_offset_bits=no; break
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#define _FILE_OFFSET_BITS 64
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+ We can't simply define LARGE_OFF_T to be 9223372036854775807,
+ since some C++ compilers masquerading as C compilers
+ incorrectly reject 9223372036854775807. */
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+ && LARGE_OFF_T % 2147483647 == 1)
+ ? 1 : -1];
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+ ac_cv_sys_file_offset_bits=64; break
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_cv_sys_file_offset_bits=unknown
+ break
+done
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_file_offset_bits" >&5
+$as_echo "$ac_cv_sys_file_offset_bits" >&6; }
+case $ac_cv_sys_file_offset_bits in #(
+ no | unknown) ;;
+ *)
+cat >>confdefs.h <<_ACEOF
+#define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits
+_ACEOF
+;;
+esac
+rm -rf conftest*
+ if test $ac_cv_sys_file_offset_bits = unknown; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5
+$as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; }
+if ${ac_cv_sys_large_files+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ while :; do
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+ We can't simply define LARGE_OFF_T to be 9223372036854775807,
+ since some C++ compilers masquerading as C compilers
+ incorrectly reject 9223372036854775807. */
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+ && LARGE_OFF_T % 2147483647 == 1)
+ ? 1 : -1];
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+ ac_cv_sys_large_files=no; break
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#define _LARGE_FILES 1
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+ We can't simply define LARGE_OFF_T to be 9223372036854775807,
+ since some C++ compilers masquerading as C compilers
+ incorrectly reject 9223372036854775807. */
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+ && LARGE_OFF_T % 2147483647 == 1)
+ ? 1 : -1];
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+ ac_cv_sys_large_files=1; break
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_cv_sys_large_files=unknown
+ break
+done
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_large_files" >&5
+$as_echo "$ac_cv_sys_large_files" >&6; }
+case $ac_cv_sys_large_files in #(
+ no | unknown) ;;
+ *)
+cat >>confdefs.h <<_ACEOF
+#define _LARGE_FILES $ac_cv_sys_large_files
+_ACEOF
+;;
+esac
+rm -rf conftest*
+ fi
+
+
+fi
+
+if test $ac_cv_sys_file_offset_bits != 'no'; then
+ CPPFLAGS="$CPPFLAGS -D_FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits"
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGEFILE_SOURCE value needed for large files" >&5
+$as_echo_n "checking for _LARGEFILE_SOURCE value needed for large files... " >&6; }
+if ${ac_cv_sys_largefile_source+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ while :; do
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <sys/types.h> /* for off_t */
+ #include <stdio.h>
+int
+main ()
+{
+int (*fp) (FILE *, off_t, int) = fseeko;
+ return fseeko (stdin, 0, 0) && fp (stdin, 0, 0);
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_link "$LINENO"; then :
+ ac_cv_sys_largefile_source=no; break
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#define _LARGEFILE_SOURCE 1
+#include <sys/types.h> /* for off_t */
+ #include <stdio.h>
+int
+main ()
+{
+int (*fp) (FILE *, off_t, int) = fseeko;
+ return fseeko (stdin, 0, 0) && fp (stdin, 0, 0);
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_link "$LINENO"; then :
+ ac_cv_sys_largefile_source=1; break
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ ac_cv_sys_largefile_source=unknown
+ break
+done
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_source" >&5
+$as_echo "$ac_cv_sys_largefile_source" >&6; }
+case $ac_cv_sys_largefile_source in #(
+ no | unknown) ;;
+ *)
+cat >>confdefs.h <<_ACEOF
+#define _LARGEFILE_SOURCE $ac_cv_sys_largefile_source
+_ACEOF
+;;
+esac
+rm -rf conftest*
+
+# We used to try defining _XOPEN_SOURCE=500 too, to work around a bug
+# in glibc 2.1.3, but that breaks too many other things.
+# If you want fseeko and ftello with glibc, upgrade to a fixed glibc.
+if test $ac_cv_sys_largefile_source != unknown; then
+
+$as_echo "#define HAVE_FSEEKO 1" >>confdefs.h
+
+fi
+
+
+
+# Check for presence of sed. Needed to replace path to /etc in probabel.pl
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
+$as_echo_n "checking for a sed that does not truncate output... " >&6; }
+if ${ac_cv_path_SED+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
+ for ac_i in 1 2 3 4 5 6 7; do
+ ac_script="$ac_script$as_nl$ac_script"
+ done
+ echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
+ { ac_script=; unset ac_script;}
+ if test -z "$SED"; then
+ ac_path_SED_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in sed gsed; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
+ as_fn_executable_p "$ac_path_SED" || continue
+# Check for GNU ac_path_SED and select it if it is found.
+ # Check for GNU $ac_path_SED
+case `"$ac_path_SED" --version 2>&1` in
+*GNU*)
+ ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
+*)
+ ac_count=0
+ $as_echo_n 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ $as_echo '' >> "conftest.nl"
+ "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ as_fn_arith $ac_count + 1 && ac_count=$as_val
+ if test $ac_count -gt ${ac_path_SED_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_SED="$ac_path_SED"
+ ac_path_SED_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+ $ac_path_SED_found && break 3
+ done
+ done
+ done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_SED"; then
+ as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
+ fi
+else
+ ac_cv_path_SED=$SED
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
+$as_echo "$ac_cv_path_SED" >&6; }
+ SED="$ac_cv_path_SED"
+ rm -f conftest.sed
+
+
+# Check for the presence of awk. Needed in the test suite
+for ac_prog in gawk mawk nawk awk
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_AWK+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$AWK"; then
+ ac_cv_prog_AWK="$AWK" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_AWK="$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+AWK=$ac_cv_prog_AWK
+if test -n "$AWK"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
+$as_echo "$AWK" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$AWK" && break
+done
+
+
+# Check for presence of pdfLaTeX
+# Extract the first word of "pdflatex", so it can be a program name with args.
+set dummy pdflatex; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_PDFLATEX+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$PDFLATEX"; then
+ ac_cv_prog_PDFLATEX="$PDFLATEX" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_PDFLATEX="pdflatex"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+PDFLATEX=$ac_cv_prog_PDFLATEX
+if test -n "$PDFLATEX"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PDFLATEX" >&5
+$as_echo "$PDFLATEX" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+if test -z "$PDFLATEX"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to create PDF version of the user manual" >&5
+$as_echo "$as_me: WARNING: Unable to create PDF version of the user manual" >&2;}
+fi
+ if test -n "$PDFLATEX"; then
+ HAVE_PDFLATEX_TRUE=
+ HAVE_PDFLATEX_FALSE='#'
+else
+ HAVE_PDFLATEX_TRUE='#'
+ HAVE_PDFLATEX_FALSE=
+fi
+
+
+# Check for presence of R
+# Extract the first word of "R", so it can be a program name with args.
+set dummy R; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_R+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$R"; then
+ ac_cv_prog_R="$R" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_R="R"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+R=$ac_cv_prog_R
+if test -n "$R"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $R" >&5
+$as_echo "$R" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+if test -z "$R"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Unable to do tests comparing ProbABEL output against R output" >&5
+$as_echo "$as_me: Unable to do tests comparing ProbABEL output against R output" >&6;}
+fi
+ if test -n "$R"; then
+ HAVE_R_TRUE=
+ HAVE_R_FALSE='#'
+else
+ HAVE_R_TRUE='#'
+ HAVE_R_FALSE=
+fi
+
+
+
+# Building of each of the three modules can be disabled on request
+# Check whether --enable-palinear was given.
+if test "${enable_palinear+set}" = set; then :
+ enableval=$enable_palinear; palinear=no
+else
+ palinear=yes
+fi
+
+
+if test "x$palinear" = "xyes"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: building of palinear is enabled" >&5
+$as_echo "$as_me: building of palinear is enabled" >&6;}
+fi
+ if test "x$palinear" = "xyes"; then
+ BUILD_palinear_TRUE=
+ BUILD_palinear_FALSE='#'
+else
+ BUILD_palinear_TRUE='#'
+ BUILD_palinear_FALSE=
+fi
+
+
+# Check whether --enable-palogist was given.
+if test "${enable_palogist+set}" = set; then :
+ enableval=$enable_palogist; palogist=no
+else
+ palogist=yes
+fi
+
+
+if test "x$palogist" = "xyes"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: building of palogist is enabled" >&5
+$as_echo "$as_me: building of palogist is enabled" >&6;}
+fi
+
+ if test "x$palogist" = "xyes"; then
+ BUILD_palogist_TRUE=
+ BUILD_palogist_FALSE='#'
+else
+ BUILD_palogist_TRUE='#'
+ BUILD_palogist_FALSE=
+fi
+
+
+# Check whether --enable-pacoxph was given.
+if test "${enable_pacoxph+set}" = set; then :
+ enableval=$enable_pacoxph; pacoxph=no
+else
+ pacoxph=yes
+fi
+
+
+if test "x$pacoxph" = "xyes"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: building of pacoxph is enabled" >&5
+$as_echo "$as_me: building of pacoxph is enabled" >&6;}
+fi
+
+ if test "x$pacoxph" = "xyes"; then
+ BUILD_pacoxph_TRUE=
+ BUILD_pacoxph_FALSE='#'
+else
+ BUILD_pacoxph_TRUE='#'
+ BUILD_pacoxph_FALSE=
+fi
+
+
+
+# Files to be generated by autotools
+ac_config_files="$ac_config_files Makefile src/Makefile doc/Makefile examples/Makefile checks/Makefile"
+
+
+# Create output files
+cat >confcache <<\_ACEOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs, see configure's option --config-cache.
+# It is not useful on other systems. If it contains results you don't
+# want to keep, you may remove or edit it.
+#
+# config.status only pays attention to the cache file if you give it
+# the --recheck option to rerun configure.
+#
+# `ac_cv_env_foo' variables (set or unset) will be overridden when
+# loading this file, other *unset* `ac_cv_foo' will be assigned the
+# following values.
+
+_ACEOF
+
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, we kill variables containing newlines.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(
+ for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
+ eval ac_val=\$$ac_var
+ case $ac_val in #(
+ *${as_nl}*)
+ case $ac_var in #(
+ *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+ esac
+ case $ac_var in #(
+ _ | IFS | as_nl) ;; #(
+ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
+ *) { eval $ac_var=; unset $ac_var;} ;;
+ esac ;;
+ esac
+ done
+
+ (set) 2>&1 |
+ case $as_nl`(ac_space=' '; set) 2>&1` in #(
+ *${as_nl}ac_space=\ *)
+ # `set' does not quote correctly, so add quotes: double-quote
+ # substitution turns \\\\ into \\, and sed turns \\ into \.
+ sed -n \
+ "s/'/'\\\\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+ ;; #(
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+ ;;
+ esac |
+ sort
+) |
+ sed '
+ /^ac_cv_env_/b end
+ t clear
+ :clear
+ s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+ t end
+ s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+ :end' >>confcache
+if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
+ if test -w "$cache_file"; then
+ if test "x$cache_file" != "x/dev/null"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
+$as_echo "$as_me: updating cache $cache_file" >&6;}
+ if test ! -f "$cache_file" || test -h "$cache_file"; then
+ cat confcache >"$cache_file"
+ else
+ case $cache_file in #(
+ */* | ?:*)
+ mv -f confcache "$cache_file"$$ &&
+ mv -f "$cache_file"$$ "$cache_file" ;; #(
+ *)
+ mv -f confcache "$cache_file" ;;
+ esac
+ fi
+ fi
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
+$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
+ fi
+fi
+rm -f confcache
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+DEFS=-DHAVE_CONFIG_H
+
+ac_libobjs=
+ac_ltlibobjs=
+U=
+for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
+ # 1. Remove the extension, and $U if already installed.
+ ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
+ ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
+ # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
+ # will be set to the directory where LIBOBJS objects are built.
+ as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
+ as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
+done
+LIBOBJS=$ac_libobjs
+
+LTLIBOBJS=$ac_ltlibobjs
+
+
+ if test -n "$EXEEXT"; then
+ am__EXEEXT_TRUE=
+ am__EXEEXT_FALSE='#'
+else
+ am__EXEEXT_TRUE='#'
+ am__EXEEXT_FALSE=
+fi
+
+if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
+ as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
+ as_fn_error $? "conditional \"AMDEP\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
+ as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
+ as_fn_error $? "conditional \"am__fastdepCXX\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${WITH_EIGEN_TRUE}" && test -z "${WITH_EIGEN_FALSE}"; then
+ as_fn_error $? "conditional \"WITH_EIGEN\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${HAVE_PDFLATEX_TRUE}" && test -z "${HAVE_PDFLATEX_FALSE}"; then
+ as_fn_error $? "conditional \"HAVE_PDFLATEX\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${HAVE_R_TRUE}" && test -z "${HAVE_R_FALSE}"; then
+ as_fn_error $? "conditional \"HAVE_R\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_palinear_TRUE}" && test -z "${BUILD_palinear_FALSE}"; then
+ as_fn_error $? "conditional \"BUILD_palinear\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_palogist_TRUE}" && test -z "${BUILD_palogist_FALSE}"; then
+ as_fn_error $? "conditional \"BUILD_palogist\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_pacoxph_TRUE}" && test -z "${BUILD_pacoxph_FALSE}"; then
+ as_fn_error $? "conditional \"BUILD_pacoxph\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+
+: "${CONFIG_STATUS=./config.status}"
+ac_write_fail=0
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
+$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
+as_write_fail=0
+cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
+#! $SHELL
+# Generated by $as_me.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+ac_cs_recheck=false
+ac_cs_silent=false
+
+SHELL=\${CONFIG_SHELL-$SHELL}
+export SHELL
+_ASEOF
+cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
+## -------------------- ##
+## M4sh Initialization. ##
+## -------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
+ emulate sh
+ NULLCMD=:
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in #(
+ *posix*) :
+ set -o posix ;; #(
+ *) :
+ ;;
+esac
+fi
+
+
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+# Prefer a ksh shell builtin over an external printf program on Solaris,
+# but without wasting forks for bash or zsh.
+if test -z "$BASH_VERSION$ZSH_VERSION" \
+ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='print -r --'
+ as_echo_n='print -rn --'
+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='printf %s\n'
+ as_echo_n='printf %s'
+else
+ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+ as_echo_n='/usr/ucb/echo -n'
+ else
+ as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+ as_echo_n_body='eval
+ arg=$1;
+ case $arg in #(
+ *"$as_nl"*)
+ expr "X$arg" : "X\\(.*\\)$as_nl";
+ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+ esac;
+ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+ '
+ export as_echo_n_body
+ as_echo_n='sh -c $as_echo_n_body as_echo'
+ fi
+ export as_echo_body
+ as_echo='sh -c $as_echo_body as_echo'
+fi
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+ PATH_SEPARATOR=';'
+ }
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order. Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+IFS=" "" $as_nl"
+
+# Find who we are. Look in the path if we contain no directory separator.
+as_myself=
+case $0 in #((
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+ as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ exit 1
+fi
+
+# Unset variables that we do not need and which cause bugs (e.g. in
+# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
+# suppresses any "Segmentation fault" message there. '((' could
+# trigger a bug in pdksh 5.2.14.
+for as_var in BASH_ENV ENV MAIL MAILPATH
+do eval test x\${$as_var+set} = xset \
+ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# CDPATH.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+# script with STATUS, using 1 if that was 0.
+as_fn_error ()
+{
+ as_status=$1; test $as_status -eq 0 && as_status=1
+ if test "$4"; then
+ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+ fi
+ $as_echo "$as_me: error: $2" >&2
+ as_fn_exit $as_status
+} # as_fn_error
+
+
+# as_fn_set_status STATUS
+# -----------------------
+# Set $? to STATUS, without forking.
+as_fn_set_status ()
+{
+ return $1
+} # as_fn_set_status
+
+# as_fn_exit STATUS
+# -----------------
+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
+as_fn_exit ()
+{
+ set +e
+ as_fn_set_status $1
+ exit $1
+} # as_fn_exit
+
+# as_fn_unset VAR
+# ---------------
+# Portably unset VAR.
+as_fn_unset ()
+{
+ { eval $1=; unset $1;}
+}
+as_unset=as_fn_unset
+# as_fn_append VAR VALUE
+# ----------------------
+# Append the text in VALUE to the end of the definition contained in VAR. Take
+# advantage of any shell optimizations that allow amortized linear growth over
+# repeated appends, instead of the typical quadratic growth present in naive
+# implementations.
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
+ eval 'as_fn_append ()
+ {
+ eval $1+=\$2
+ }'
+else
+ as_fn_append ()
+ {
+ eval $1=\$$1\$2
+ }
+fi # as_fn_append
+
+# as_fn_arith ARG...
+# ------------------
+# Perform arithmetic evaluation on the ARGs, and store the result in the
+# global $as_val. Take advantage of shells that can avoid forks. The arguments
+# must be portable across $(()) and expr.
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+ eval 'as_fn_arith ()
+ {
+ as_val=$(( $* ))
+ }'
+else
+ as_fn_arith ()
+ {
+ as_val=`expr "$@" || test $? -eq 1`
+ }
+fi # as_fn_arith
+
+
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+ as_basename=basename
+else
+ as_basename=false
+fi
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+ as_dirname=dirname
+else
+ as_dirname=false
+fi
+
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in #(((((
+-n*)
+ case `echo 'xy\c'` in
+ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
+ xy) ECHO_C='\c';;
+ *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
+ ECHO_T=' ';;
+ esac;;
+*)
+ ECHO_N='-n';;
+esac
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+ rm -f conf$$.dir/conf$$.file
+else
+ rm -f conf$$.dir
+ mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+ if ln -s conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s='ln -s'
+ # ... but there are two gotchas:
+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+ # In both cases, we have to default to `cp -pR'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ as_ln_s='cp -pR'
+ elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+ else
+ as_ln_s='cp -pR'
+ fi
+else
+ as_ln_s='cp -pR'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+
+# as_fn_mkdir_p
+# -------------
+# Create "$as_dir" as a directory, including parents if necessary.
+as_fn_mkdir_p ()
+{
+
+ case $as_dir in #(
+ -*) as_dir=./$as_dir;;
+ esac
+ test -d "$as_dir" || eval $as_mkdir_p || {
+ as_dirs=
+ while :; do
+ case $as_dir in #(
+ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+ *) as_qdir=$as_dir;;
+ esac
+ as_dirs="'$as_qdir' $as_dirs"
+ as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_dir" : 'X\(//\)[^/]' \| \
+ X"$as_dir" : 'X\(//\)$' \| \
+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_dir" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ test -d "$as_dir" && break
+ done
+ test -z "$as_dirs" || eval "mkdir $as_dirs"
+ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
+
+
+} # as_fn_mkdir_p
+if mkdir -p . 2>/dev/null; then
+ as_mkdir_p='mkdir -p "$as_dir"'
+else
+ test -d ./-p && rmdir ./-p
+ as_mkdir_p=false
+fi
+
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+ test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+exec 6>&1
+## ----------------------------------- ##
+## Main body of $CONFIG_STATUS script. ##
+## ----------------------------------- ##
+_ASEOF
+test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# Save the log message, to keep $0 and so on meaningful, and to
+# report actual input values of CONFIG_FILES etc. instead of their
+# values after options handling.
+ac_log="
+This file was extended by ProbABEL $as_me 0.4.1, which was
+generated by GNU Autoconf 2.69. Invocation command line was
+
+ CONFIG_FILES = $CONFIG_FILES
+ CONFIG_HEADERS = $CONFIG_HEADERS
+ CONFIG_LINKS = $CONFIG_LINKS
+ CONFIG_COMMANDS = $CONFIG_COMMANDS
+ $ $0 $@
+
+on `(hostname || uname -n) 2>/dev/null | sed 1q`
+"
+
+_ACEOF
+
+case $ac_config_files in *"
+"*) set x $ac_config_files; shift; ac_config_files=$*;;
+esac
+
+case $ac_config_headers in *"
+"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
+esac
+
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+# Files that config.status was made for.
+config_files="$ac_config_files"
+config_headers="$ac_config_headers"
+config_commands="$ac_config_commands"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+ac_cs_usage="\
+\`$as_me' instantiates files and other configuration actions
+from templates according to the current configuration. Unless the files
+and actions are specified as TAGs, all are instantiated by default.
+
+Usage: $0 [OPTION]... [TAG]...
+
+ -h, --help print this help, then exit
+ -V, --version print version number and configuration settings, then exit
+ --config print configuration, then exit
+ -q, --quiet, --silent
+ do not print progress messages
+ -d, --debug don't remove temporary files
+ --recheck update $as_me by reconfiguring in the same conditions
+ --file=FILE[:TEMPLATE]
+ instantiate the configuration file FILE
+ --header=FILE[:TEMPLATE]
+ instantiate the configuration header FILE
+
+Configuration files:
+$config_files
+
+Configuration headers:
+$config_headers
+
+Configuration commands:
+$config_commands
+
+Report bugs to <genabel-devel at r-forge.wu-wien.ac.at>."
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
+ac_cs_version="\\
+ProbABEL config.status 0.4.1
+configured by $0, generated by GNU Autoconf 2.69,
+ with options \\"\$ac_cs_config\\"
+
+Copyright (C) 2012 Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+
+ac_pwd='$ac_pwd'
+srcdir='$srcdir'
+INSTALL='$INSTALL'
+MKDIR_P='$MKDIR_P'
+AWK='$AWK'
+test -n "\$AWK" || AWK=awk
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# The default lists apply if the user does not specify any file.
+ac_need_defaults=:
+while test $# != 0
+do
+ case $1 in
+ --*=?*)
+ ac_option=`expr "X$1" : 'X\([^=]*\)='`
+ ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
+ ac_shift=:
+ ;;
+ --*=)
+ ac_option=`expr "X$1" : 'X\([^=]*\)='`
+ ac_optarg=
+ ac_shift=:
+ ;;
+ *)
+ ac_option=$1
+ ac_optarg=$2
+ ac_shift=shift
+ ;;
+ esac
+
+ case $ac_option in
+ # Handling of the options.
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ ac_cs_recheck=: ;;
+ --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
+ $as_echo "$ac_cs_version"; exit ;;
+ --config | --confi | --conf | --con | --co | --c )
+ $as_echo "$ac_cs_config"; exit ;;
+ --debug | --debu | --deb | --de | --d | -d )
+ debug=: ;;
+ --file | --fil | --fi | --f )
+ $ac_shift
+ case $ac_optarg in
+ *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ '') as_fn_error $? "missing file argument" ;;
+ esac
+ as_fn_append CONFIG_FILES " '$ac_optarg'"
+ ac_need_defaults=false;;
+ --header | --heade | --head | --hea )
+ $ac_shift
+ case $ac_optarg in
+ *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ esac
+ as_fn_append CONFIG_HEADERS " '$ac_optarg'"
+ ac_need_defaults=false;;
+ --he | --h)
+ # Conflict between --help and --header
+ as_fn_error $? "ambiguous option: \`$1'
+Try \`$0 --help' for more information.";;
+ --help | --hel | -h )
+ $as_echo "$ac_cs_usage"; exit ;;
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil | --si | --s)
+ ac_cs_silent=: ;;
+
+ # This is an error.
+ -*) as_fn_error $? "unrecognized option: \`$1'
+Try \`$0 --help' for more information." ;;
+
+ *) as_fn_append ac_config_targets " $1"
+ ac_need_defaults=false ;;
+
+ esac
+ shift
+done
+
+ac_configure_extra_args=
+
+if $ac_cs_silent; then
+ exec 6>/dev/null
+ ac_configure_extra_args="$ac_configure_extra_args --silent"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+if \$ac_cs_recheck; then
+ set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+ shift
+ \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
+ CONFIG_SHELL='$SHELL'
+ export CONFIG_SHELL
+ exec "\$@"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+exec 5>>config.log
+{
+ echo
+ sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+## Running $as_me. ##
+_ASBOX
+ $as_echo "$ac_log"
+} >&5
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+#
+# INIT-COMMANDS
+#
+AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+
+# Handling of arguments.
+for ac_config_target in $ac_config_targets
+do
+ case $ac_config_target in
+ "src/config.h") CONFIG_HEADERS="$CONFIG_HEADERS src/config.h" ;;
+ "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
+ "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+ "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
+ "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
+ "examples/Makefile") CONFIG_FILES="$CONFIG_FILES examples/Makefile" ;;
+ "checks/Makefile") CONFIG_FILES="$CONFIG_FILES checks/Makefile" ;;
+
+ *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+ esac
+done
+
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used. Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+ test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
+ test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
+fi
+
+# Have a temporary directory for convenience. Make it in the build tree
+# simply because there is no reason against having it here, and in addition,
+# creating and moving files from /tmp can sometimes cause problems.
+# Hook for its removal unless debugging.
+# Note that there is a small window in which the directory will not be cleaned:
+# after its creation but before its name has been assigned to `$tmp'.
+$debug ||
+{
+ tmp= ac_tmp=
+ trap 'exit_status=$?
+ : "${ac_tmp:=$tmp}"
+ { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
+' 0
+ trap 'as_fn_exit 1' 1 2 13 15
+}
+# Create a (secure) tmp directory for tmp files.
+
+{
+ tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
+ test -d "$tmp"
+} ||
+{
+ tmp=./conf$$-$RANDOM
+ (umask 077 && mkdir "$tmp")
+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
+ac_tmp=$tmp
+
+# Set up the scripts for CONFIG_FILES section.
+# No need to generate them if there are no CONFIG_FILES.
+# This happens for instance with `./config.status config.h'.
+if test -n "$CONFIG_FILES"; then
+
+
+ac_cr=`echo X | tr X '\015'`
+# On cygwin, bash can eat \r inside `` if the user requested igncr.
+# But we know of no other shell where ac_cr would be empty at this
+# point, so we can use a bashism as a fallback.
+if test "x$ac_cr" = x; then
+ eval ac_cr=\$\'\\r\'
+fi
+ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
+if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
+ ac_cs_awk_cr='\\r'
+else
+ ac_cs_awk_cr=$ac_cr
+fi
+
+echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
+_ACEOF
+
+
+{
+ echo "cat >conf$$subs.awk <<_ACEOF" &&
+ echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
+ echo "_ACEOF"
+} >conf$$subs.sh ||
+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
+ac_delim='%!_!# '
+for ac_last_try in false false false false false :; do
+ . ./conf$$subs.sh ||
+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+
+ ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
+ if test $ac_delim_n = $ac_delim_num; then
+ break
+ elif $ac_last_try; then
+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ else
+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+ fi
+done
+rm -f conf$$subs.sh
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
+_ACEOF
+sed -n '
+h
+s/^/S["/; s/!.*/"]=/
+p
+g
+s/^[^!]*!//
+:repl
+t repl
+s/'"$ac_delim"'$//
+t delim
+:nl
+h
+s/\(.\{148\}\)..*/\1/
+t more1
+s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
+p
+n
+b repl
+:more1
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t nl
+:delim
+h
+s/\(.\{148\}\)..*/\1/
+t more2
+s/["\\]/\\&/g; s/^/"/; s/$/"/
+p
+b
+:more2
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t delim
+' <conf$$subs.awk | sed '
+/^[^""]/{
+ N
+ s/\n//
+}
+' >>$CONFIG_STATUS || ac_write_fail=1
+rm -f conf$$subs.awk
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+_ACAWK
+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
+ for (key in S) S_is_set[key] = 1
+ FS = ""
+
+}
+{
+ line = $ 0
+ nfields = split(line, field, "@")
+ substed = 0
+ len = length(field[1])
+ for (i = 2; i < nfields; i++) {
+ key = field[i]
+ keylen = length(key)
+ if (S_is_set[key]) {
+ value = S[key]
+ line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
+ len += length(value) + length(field[++i])
+ substed = 1
+ } else
+ len += 1 + keylen
+ }
+
+ print line
+}
+
+_ACAWK
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
+ sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
+else
+ cat
+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
+ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
+_ACEOF
+
+# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
+# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{
+h
+s///
+s/^/:/
+s/[ ]*$/:/
+s/:\$(srcdir):/:/g
+s/:\${srcdir}:/:/g
+s/:@srcdir@:/:/g
+s/^:*//
+s/:*$//
+x
+s/\(=[ ]*\).*/\1/
+G
+s/\n//
+s/^[^=]*=[ ]*$//
+}'
+fi
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+fi # test -n "$CONFIG_FILES"
+
+# Set up the scripts for CONFIG_HEADERS section.
+# No need to generate them if there are no CONFIG_HEADERS.
+# This happens for instance with `./config.status Makefile'.
+if test -n "$CONFIG_HEADERS"; then
+cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
+BEGIN {
+_ACEOF
+
+# Transform confdefs.h into an awk script `defines.awk', embedded as
+# here-document in config.status, that substitutes the proper values into
+# config.h.in to produce config.h.
+
+# Create a delimiter string that does not exist in confdefs.h, to ease
+# handling of long lines.
+ac_delim='%!_!# '
+for ac_last_try in false false :; do
+ ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
+ if test -z "$ac_tt"; then
+ break
+ elif $ac_last_try; then
+ as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
+ else
+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+ fi
+done
+
+# For the awk script, D is an array of macro values keyed by name,
+# likewise P contains macro parameters if any. Preserve backslash
+# newline sequences.
+
+ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
+sed -n '
+s/.\{148\}/&'"$ac_delim"'/g
+t rset
+:rset
+s/^[ ]*#[ ]*define[ ][ ]*/ /
+t def
+d
+:def
+s/\\$//
+t bsnl
+s/["\\]/\\&/g
+s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
+D["\1"]=" \3"/p
+s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p
+d
+:bsnl
+s/["\\]/\\&/g
+s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
+D["\1"]=" \3\\\\\\n"\\/p
+t cont
+s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
+t cont
+d
+:cont
+n
+s/.\{148\}/&'"$ac_delim"'/g
+t clear
+:clear
+s/\\$//
+t bsnlc
+s/["\\]/\\&/g; s/^/"/; s/$/"/p
+d
+:bsnlc
+s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
+b cont
+' <confdefs.h | sed '
+s/'"$ac_delim"'/"\\\
+"/g' >>$CONFIG_STATUS || ac_write_fail=1
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ for (key in D) D_is_set[key] = 1
+ FS = ""
+}
+/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
+ line = \$ 0
+ split(line, arg, " ")
+ if (arg[1] == "#") {
+ defundef = arg[2]
+ mac1 = arg[3]
+ } else {
+ defundef = substr(arg[1], 2)
+ mac1 = arg[2]
+ }
+ split(mac1, mac2, "(") #)
+ macro = mac2[1]
+ prefix = substr(line, 1, index(line, defundef) - 1)
+ if (D_is_set[macro]) {
+ # Preserve the white space surrounding the "#".
+ print prefix "define", macro P[macro] D[macro]
+ next
+ } else {
+ # Replace #undef with comments. This is necessary, for example,
+ # in the case of _POSIX_SOURCE, which is predefined and required
+ # on some systems where configure will not decide to define it.
+ if (defundef == "undef") {
+ print "/*", prefix defundef, macro, "*/"
+ next
+ }
+ }
+}
+{ print }
+_ACAWK
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+ as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
+fi # test -n "$CONFIG_HEADERS"
+
+
+eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS"
+shift
+for ac_tag
+do
+ case $ac_tag in
+ :[FHLC]) ac_mode=$ac_tag; continue;;
+ esac
+ case $ac_mode$ac_tag in
+ :[FHL]*:*);;
+ :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
+ :[FH]-) ac_tag=-:-;;
+ :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
+ esac
+ ac_save_IFS=$IFS
+ IFS=:
+ set x $ac_tag
+ IFS=$ac_save_IFS
+ shift
+ ac_file=$1
+ shift
+
+ case $ac_mode in
+ :L) ac_source=$1;;
+ :[FH])
+ ac_file_inputs=
+ for ac_f
+ do
+ case $ac_f in
+ -) ac_f="$ac_tmp/stdin";;
+ *) # Look for the file first in the build tree, then in the source tree
+ # (if the path is not absolute). The absolute path cannot be DOS-style,
+ # because $ac_f cannot contain `:'.
+ test -f "$ac_f" ||
+ case $ac_f in
+ [\\/$]*) false;;
+ *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
+ esac ||
+ as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
+ esac
+ case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
+ as_fn_append ac_file_inputs " '$ac_f'"
+ done
+
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated by config.status. */
+ configure_input='Generated from '`
+ $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
+ `' by configure.'
+ if test x"$ac_file" != x-; then
+ configure_input="$ac_file. $configure_input"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
+$as_echo "$as_me: creating $ac_file" >&6;}
+ fi
+ # Neutralize special characters interpreted by sed in replacement strings.
+ case $configure_input in #(
+ *\&* | *\|* | *\\* )
+ ac_sed_conf_input=`$as_echo "$configure_input" |
+ sed 's/[\\\\&|]/\\\\&/g'`;; #(
+ *) ac_sed_conf_input=$configure_input;;
+ esac
+
+ case $ac_tag in
+ *:-:* | *:-) cat >"$ac_tmp/stdin" \
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
+ esac
+ ;;
+ esac
+
+ ac_dir=`$as_dirname -- "$ac_file" ||
+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$ac_file" : 'X\(//\)[^/]' \| \
+ X"$ac_file" : 'X\(//\)$' \| \
+ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$ac_file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ as_dir="$ac_dir"; as_fn_mkdir_p
+ ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+ # A ".." for each directory in $ac_dir_suffix.
+ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+ case $ac_top_builddir_sub in
+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+ esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+ .) # We are building in place.
+ ac_srcdir=.
+ ac_top_srcdir=$ac_top_builddir_sub
+ ac_abs_top_srcdir=$ac_pwd ;;
+ [\\/]* | ?:[\\/]* ) # Absolute name.
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir
+ ac_abs_top_srcdir=$srcdir ;;
+ *) # Relative name.
+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_build_prefix$srcdir
+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+
+ case $ac_mode in
+ :F)
+ #
+ # CONFIG_FILE
+ #
+
+ case $INSTALL in
+ [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
+ *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
+ esac
+ ac_MKDIR_P=$MKDIR_P
+ case $MKDIR_P in
+ [\\/$]* | ?:[\\/]* ) ;;
+ */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
+ esac
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# If the template does not know about datarootdir, expand it.
+# FIXME: This hack should be removed a few years after 2.60.
+ac_datarootdir_hack=; ac_datarootdir_seen=
+ac_sed_dataroot='
+/datarootdir/ {
+ p
+ q
+}
+/@datadir@/p
+/@docdir@/p
+/@infodir@/p
+/@localedir@/p
+/@mandir@/p'
+case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
+*datarootdir*) ac_datarootdir_seen=yes;;
+*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
+$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ ac_datarootdir_hack='
+ s&@datadir@&$datadir&g
+ s&@docdir@&$docdir&g
+ s&@infodir@&$infodir&g
+ s&@localedir@&$localedir&g
+ s&@mandir@&$mandir&g
+ s&\\\${datarootdir}&$datarootdir&g' ;;
+esac
+_ACEOF
+
+# Neutralize VPATH when `$srcdir' = `.'.
+# Shell code in configure.ac might set extrasub.
+# FIXME: do we really want to maintain this feature?
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_sed_extra="$ac_vpsub
+$extrasub
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s|@configure_input@|$ac_sed_conf_input|;t t
+s&@top_builddir@&$ac_top_builddir_sub&;t t
+s&@top_build_prefix@&$ac_top_build_prefix&;t t
+s&@srcdir@&$ac_srcdir&;t t
+s&@abs_srcdir@&$ac_abs_srcdir&;t t
+s&@top_srcdir@&$ac_top_srcdir&;t t
+s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
+s&@builddir@&$ac_builddir&;t t
+s&@abs_builddir@&$ac_abs_builddir&;t t
+s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
+s&@INSTALL@&$ac_INSTALL&;t t
+s&@MKDIR_P@&$ac_MKDIR_P&;t t
+$ac_datarootdir_hack
+"
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
+ >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+
+test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
+ { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
+ { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \
+ "$ac_tmp/out"`; test -z "$ac_out"; } &&
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined. Please make sure it is defined" >&5
+$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined. Please make sure it is defined" >&2;}
+
+ rm -f "$ac_tmp/stdin"
+ case $ac_file in
+ -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
+ *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
+ esac \
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+ ;;
+ :H)
+ #
+ # CONFIG_HEADER
+ #
+ if test x"$ac_file" != x-; then
+ {
+ $as_echo "/* $configure_input */" \
+ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
+ } >"$ac_tmp/config.h" \
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+ if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
+$as_echo "$as_me: $ac_file is unchanged" >&6;}
+ else
+ rm -f "$ac_file"
+ mv "$ac_tmp/config.h" "$ac_file" \
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+ fi
+ else
+ $as_echo "/* $configure_input */" \
+ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
+ || as_fn_error $? "could not create -" "$LINENO" 5
+ fi
+# Compute "$ac_file"'s index in $config_headers.
+_am_arg="$ac_file"
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+ case $_am_header in
+ $_am_arg | $_am_arg:* )
+ break ;;
+ * )
+ _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+ esac
+done
+echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
+$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$_am_arg" : 'X\(//\)[^/]' \| \
+ X"$_am_arg" : 'X\(//\)$' \| \
+ X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$_am_arg" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`/stamp-h$_am_stamp_count
+ ;;
+
+ :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
+$as_echo "$as_me: executing $ac_file commands" >&6;}
+ ;;
+ esac
+
+
+ case $ac_file$ac_mode in
+ "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
+ # Autoconf 2.62 quotes --file arguments for eval, but not when files
+ # are listed without --file. Let's play safe and only enable the eval
+ # if we detect the quoting.
+ case $CONFIG_FILES in
+ *\'*) eval set x "$CONFIG_FILES" ;;
+ *) set x $CONFIG_FILES ;;
+ esac
+ shift
+ for mf
+ do
+ # Strip MF so we end up with the name of the file.
+ mf=`echo "$mf" | sed -e 's/:.*$//'`
+ # Check whether this is an Automake generated Makefile or not.
+ # We used to match only the files named `Makefile.in', but
+ # some people rename them; so instead we look at the file content.
+ # Grep'ing the first line is not enough: some people post-process
+ # each Makefile.in and add a new line on top of each file to say so.
+ # Grep'ing the whole file is not good either: AIX grep has a line
+ # limit of 2048, but all sed's we know have understand at least 4000.
+ if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
+ dirpart=`$as_dirname -- "$mf" ||
+$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$mf" : 'X\(//\)[^/]' \| \
+ X"$mf" : 'X\(//\)$' \| \
+ X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$mf" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ else
+ continue
+ fi
+ # Extract the definition of DEPDIR, am__include, and am__quote
+ # from the Makefile without running `make'.
+ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+ test -z "$DEPDIR" && continue
+ am__include=`sed -n 's/^am__include = //p' < "$mf"`
+ test -z "am__include" && continue
+ am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+ # When using ansi2knr, U may be empty or an underscore; expand it
+ U=`sed -n 's/^U = //p' < "$mf"`
+ # Find all dependency output files, they are included files with
+ # $(DEPDIR) in their names. We invoke sed twice because it is the
+ # simplest approach to changing $(DEPDIR) to its actual value in the
+ # expansion.
+ for file in `sed -n "
+ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+ # Make sure the directory exists.
+ test -f "$dirpart/$file" && continue
+ fdir=`$as_dirname -- "$file" ||
+$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$file" : 'X\(//\)[^/]' \| \
+ X"$file" : 'X\(//\)$' \| \
+ X"$file" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ as_dir=$dirpart/$fdir; as_fn_mkdir_p
+ # echo "creating $dirpart/$file"
+ echo '# dummy' > "$dirpart/$file"
+ done
+ done
+}
+ ;;
+
+ esac
+done # for ac_tag
+
+
+as_fn_exit 0
+_ACEOF
+ac_clean_files=$ac_clean_files_save
+
+test $ac_write_fail = 0 ||
+ as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
+
+
+# configure is writing to config.log, and then calls config.status.
+# config.status does its own redirection, appending to config.log.
+# Unfortunately, on DOS this fails, as config.log is still kept open
+# by configure, so config.status won't be able to write to it; its
+# output is simply discarded. So we exec the FD to /dev/null,
+# effectively closing config.log, so it can be properly (re)opened and
+# appended to by config.status. When coming back to configure, we
+# need to make the FD available again.
+if test "$no_create" != yes; then
+ ac_cs_success=:
+ ac_config_status_args=
+ test "$silent" = yes &&
+ ac_config_status_args="$ac_config_status_args --quiet"
+ exec 5>/dev/null
+ $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
+ exec 5>>config.log
+ # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+ # would make configure fail if this is the last instruction.
+ $ac_cs_success || as_fn_exit 1
+fi
+if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
+$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
+fi
+
diff --git a/configure.ac b/configure.ac
new file mode 100644
index 0000000..3f0346b
--- /dev/null
+++ b/configure.ac
@@ -0,0 +1,165 @@
+# -*- Autoconf -*-
+# Process this file with autoconf to produce a configure script.
+
+AC_PREREQ([2.67])
+AC_INIT(ProbABEL, 0.4.1, genabel-devel at r-forge.wu-wien.ac.at)
+AM_INIT_AUTOMAKE([silent-rules])
+AM_SILENT_RULES
+AC_CONFIG_SRCDIR([src/data.h])
+AC_CONFIG_HEADERS([src/config.h])
+
+# Add the --disable-maintainer-mode option used by e.g. Debian and
+# Gentoo to disable rebuilding the autotools-generated files after
+# e.g. a patch has been applied to them. The default is 'disabled', we
+# change it here to keep the old behaviour by default.
+AM_MAINTAINER_MODE([enable])
+
+# Checks for programs.
+AC_PROG_CC
+AM_PROG_CC_C_O
+AC_PROG_INSTALL
+AC_PROG_LN_S
+if test -z "$CXXFLAGS"; then
+ # User did not set CXXFLAGS, so we can put in our own defaults
+ CXXFLAGS="-g -O2"
+fi
+if test -z "$CPPFLAGS"; then
+ # User did not set CPPFLAGS, so we can put in our own defaults
+ CPPFLAGS="-Wall"
+fi
+# If CXXFLAGS/CPPFLAGS are already set AC_PROG_CXX will not overwrite them
+# with its own defaults
+AC_PROG_CXX
+
+# Since most of our code is in C++, set that language as the default
+# for the subsequent checks
+AC_LANG_PUSH([C++])
+
+# Checks for libraries.
+
+# Checks for header files.
+AC_FUNC_ALLOCA
+AC_CHECK_HEADERS([float.h inttypes.h libintl.h limits.h stddef.h \
+ stdint.h stdlib.h string.h sys/param.h wchar.h wctype.h])
+
+
+# See if we want use of the Eigen library enabled (yes by default) and if so,
+# whether we can find the library files.
+AC_ARG_WITH([eigen],
+ AS_HELP_STRING([--with-eigen], [Use the Eigen template library for fast \
+ linear algebra (Eigen can be downloaded \
+ from eigen.tuxfamily.org); this is enabled \
+ by default]
+ )
+)
+
+if test "x$with_eigen" != "xno"; then
+ AC_MSG_NOTICE([building using the Eigen headers enabled])
+
+ AC_ARG_WITH([eigen-include-path],
+ [AS_HELP_STRING([--with-eigen-include-path],
+ [location of the Eigen headers, defaults to /usr/include/eigen3])],
+ [CXXFLAGS+=" -I${withval}"
+ CPPFLAGS+=" -I${withval}"],
+ [CXXFLAGS+=' -I/usr/include/eigen3'
+ CPPFLAGS+=' -I/usr/include/eigen3'])
+
+ # Check for the EIGEN header files
+ AC_CHECK_HEADERS([Eigen/Dense Eigen/LU])
+
+ if test x$ac_cv_header_Eigen_Dense = xno; then
+ AC_MSG_ERROR([Could not find the Eigen header files. Did you specify \
+--with-eigen-include-path correctly? Or use --without-eigen \
+to disable use of fast linear algebra.])
+ fi
+else
+ AC_MSG_NOTICE([not using Eigen for linear algebra])
+fi
+AM_CONDITIONAL([WITH_EIGEN], test "x$with_eigen" != "xno")
+
+
+# Checks for typedefs, structures, and compiler characteristics.
+AC_HEADER_STDBOOL
+AC_C_INLINE
+AC_TYPE_OFF_T
+AC_TYPE_SIZE_T
+
+# Checks for library functions.
+AC_FUNC_ERROR_AT_LINE
+AC_FUNC_MALLOC
+AC_CHECK_FUNCS([pow putenv sqrt strdup strncasecmp floor])
+
+# Check if we can use large (>2GB) files on 32 bit platforms
+AC_SYS_LARGEFILE
+if test $ac_cv_sys_file_offset_bits != 'no'; then
+ CPPFLAGS="$CPPFLAGS -D_FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits"
+fi
+AC_FUNC_FSEEKO
+
+
+# Check for presence of sed. Needed to replace path to /etc in probabel.pl
+AC_PROG_SED
+
+# Check for the presence of awk. Needed in the test suite
+AC_PROG_AWK
+
+# Check for presence of pdfLaTeX
+AC_CHECK_PROG(PDFLATEX, pdflatex, pdflatex)
+if test -z "$PDFLATEX"; then
+ AC_MSG_WARN([Unable to create PDF version of the user manual])
+fi
+AM_CONDITIONAL([HAVE_PDFLATEX], test -n "$PDFLATEX")
+
+# Check for presence of R
+AC_CHECK_PROG(R, R, R)
+if test -z "$R"; then
+ AC_MSG_NOTICE([Unable to do tests comparing ProbABEL output against R output])
+fi
+AM_CONDITIONAL([HAVE_R], test -n "$R")
+
+
+# Building of each of the three modules can be disabled on request
+AC_ARG_ENABLE([palinear],
+ [AS_HELP_STRING([--disable-palinear], [disable building the palinear program])],
+ [palinear=no],
+ [palinear=yes])
+
+if test "x$palinear" = "xyes"; then
+ AC_MSG_NOTICE([building of palinear is enabled])
+fi
+AM_CONDITIONAL([BUILD_palinear], test "x$palinear" = "xyes")
+
+AC_ARG_ENABLE([palogist],
+ [AS_HELP_STRING([--disable-palogist], [disable building the palogist program])],
+ [palogist=no],
+ [palogist=yes])
+
+if test "x$palogist" = "xyes"; then
+ AC_MSG_NOTICE([building of palogist is enabled])
+fi
+
+AM_CONDITIONAL([BUILD_palogist], test "x$palogist" = "xyes")
+
+AC_ARG_ENABLE([pacoxph],
+ [AS_HELP_STRING([--disable-pacoxph], [disable building the pacoxph program])],
+ [pacoxph=no],
+ [pacoxph=yes])
+
+if test "x$pacoxph" = "xyes"; then
+ AC_MSG_NOTICE([building of pacoxph is enabled])
+fi
+
+AM_CONDITIONAL([BUILD_pacoxph], test "x$pacoxph" = "xyes")
+
+
+# Files to be generated by autotools
+AC_CONFIG_FILES([
+ Makefile
+ src/Makefile
+ doc/Makefile
+ examples/Makefile
+ checks/Makefile
+])
+
+# Create output files
+AC_OUTPUT
diff --git a/depcomp b/depcomp
new file mode 100755
index 0000000..df8eea7
--- /dev/null
+++ b/depcomp
@@ -0,0 +1,630 @@
+#! /bin/sh
+# depcomp - compile a program generating dependencies as side-effects
+
+scriptversion=2009-04-28.21; # UTC
+
+# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free
+# Software Foundation, Inc.
+
+# 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, 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, see <http://www.gnu.org/licenses/>.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# Originally written by Alexandre Oliva <oliva at dcc.unicamp.br>.
+
+case $1 in
+ '')
+ echo "$0: No command. Try \`$0 --help' for more information." 1>&2
+ exit 1;
+ ;;
+ -h | --h*)
+ cat <<\EOF
+Usage: depcomp [--help] [--version] PROGRAM [ARGS]
+
+Run PROGRAMS ARGS to compile a file, generating dependencies
+as side-effects.
+
+Environment variables:
+ depmode Dependency tracking mode.
+ source Source file read by `PROGRAMS ARGS'.
+ object Object file output by `PROGRAMS ARGS'.
+ DEPDIR directory where to store dependencies.
+ depfile Dependency file to output.
+ tmpdepfile Temporary file to use when outputing dependencies.
+ libtool Whether libtool is used (yes/no).
+
+Report bugs to <bug-automake at gnu.org>.
+EOF
+ exit $?
+ ;;
+ -v | --v*)
+ echo "depcomp $scriptversion"
+ exit $?
+ ;;
+esac
+
+if test -z "$depmode" || test -z "$source" || test -z "$object"; then
+ echo "depcomp: Variables source, object and depmode must be set" 1>&2
+ exit 1
+fi
+
+# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
+depfile=${depfile-`echo "$object" |
+ sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
+tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
+
+rm -f "$tmpdepfile"
+
+# Some modes work just like other modes, but use different flags. We
+# parameterize here, but still list the modes in the big case below,
+# to make depend.m4 easier to write. Note that we *cannot* use a case
+# here, because this file can only contain one case statement.
+if test "$depmode" = hp; then
+ # HP compiler uses -M and no extra arg.
+ gccflag=-M
+ depmode=gcc
+fi
+
+if test "$depmode" = dashXmstdout; then
+ # This is just like dashmstdout with a different argument.
+ dashmflag=-xM
+ depmode=dashmstdout
+fi
+
+cygpath_u="cygpath -u -f -"
+if test "$depmode" = msvcmsys; then
+ # This is just like msvisualcpp but w/o cygpath translation.
+ # Just convert the backslash-escaped backslashes to single forward
+ # slashes to satisfy depend.m4
+ cygpath_u="sed s,\\\\\\\\,/,g"
+ depmode=msvisualcpp
+fi
+
+case "$depmode" in
+gcc3)
+## gcc 3 implements dependency tracking that does exactly what
+## we want. Yay! Note: for some reason libtool 1.4 doesn't like
+## it if -MD -MP comes after the -MF stuff. Hmm.
+## Unfortunately, FreeBSD c89 acceptance of flags depends upon
+## the command line argument order; so add the flags where they
+## appear in depend2.am. Note that the slowdown incurred here
+## affects only configure: in makefiles, %FASTDEP% shortcuts this.
+ for arg
+ do
+ case $arg in
+ -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
+ *) set fnord "$@" "$arg" ;;
+ esac
+ shift # fnord
+ shift # $arg
+ done
+ "$@"
+ stat=$?
+ if test $stat -eq 0; then :
+ else
+ rm -f "$tmpdepfile"
+ exit $stat
+ fi
+ mv "$tmpdepfile" "$depfile"
+ ;;
+
+gcc)
+## There are various ways to get dependency output from gcc. Here's
+## why we pick this rather obscure method:
+## - Don't want to use -MD because we'd like the dependencies to end
+## up in a subdir. Having to rename by hand is ugly.
+## (We might end up doing this anyway to support other compilers.)
+## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
+## -MM, not -M (despite what the docs say).
+## - Using -M directly means running the compiler twice (even worse
+## than renaming).
+ if test -z "$gccflag"; then
+ gccflag=-MD,
+ fi
+ "$@" -Wp,"$gccflag$tmpdepfile"
+ stat=$?
+ if test $stat -eq 0; then :
+ else
+ rm -f "$tmpdepfile"
+ exit $stat
+ fi
+ rm -f "$depfile"
+ echo "$object : \\" > "$depfile"
+ alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
+## The second -e expression handles DOS-style file names with drive letters.
+ sed -e 's/^[^:]*: / /' \
+ -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
+## This next piece of magic avoids the `deleted header file' problem.
+## The problem is that when a header file which appears in a .P file
+## is deleted, the dependency causes make to die (because there is
+## typically no way to rebuild the header). We avoid this by adding
+## dummy dependencies for each header file. Too bad gcc doesn't do
+## this for us directly.
+ tr ' ' '
+' < "$tmpdepfile" |
+## Some versions of gcc put a space before the `:'. On the theory
+## that the space means something, we add a space to the output as
+## well.
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly. Breaking it into two sed invocations is a workaround.
+ sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+ rm -f "$tmpdepfile"
+ ;;
+
+hp)
+ # This case exists only to let depend.m4 do its work. It works by
+ # looking at the text of this script. This case will never be run,
+ # since it is checked for above.
+ exit 1
+ ;;
+
+sgi)
+ if test "$libtool" = yes; then
+ "$@" "-Wp,-MDupdate,$tmpdepfile"
+ else
+ "$@" -MDupdate "$tmpdepfile"
+ fi
+ stat=$?
+ if test $stat -eq 0; then :
+ else
+ rm -f "$tmpdepfile"
+ exit $stat
+ fi
+ rm -f "$depfile"
+
+ if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
+ echo "$object : \\" > "$depfile"
+
+ # Clip off the initial element (the dependent). Don't try to be
+ # clever and replace this with sed code, as IRIX sed won't handle
+ # lines with more than a fixed number of characters (4096 in
+ # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
+ # the IRIX cc adds comments like `#:fec' to the end of the
+ # dependency line.
+ tr ' ' '
+' < "$tmpdepfile" \
+ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
+ tr '
+' ' ' >> "$depfile"
+ echo >> "$depfile"
+
+ # The second pass generates a dummy entry for each header file.
+ tr ' ' '
+' < "$tmpdepfile" \
+ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
+ >> "$depfile"
+ else
+ # The sourcefile does not contain any dependencies, so just
+ # store a dummy comment line, to avoid errors with the Makefile
+ # "include basename.Plo" scheme.
+ echo "#dummy" > "$depfile"
+ fi
+ rm -f "$tmpdepfile"
+ ;;
+
+aix)
+ # The C for AIX Compiler uses -M and outputs the dependencies
+ # in a .u file. In older versions, this file always lives in the
+ # current directory. Also, the AIX compiler puts `$object:' at the
+ # start of each line; $object doesn't have directory information.
+ # Version 6 uses the directory in both cases.
+ dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
+ test "x$dir" = "x$object" && dir=
+ base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
+ if test "$libtool" = yes; then
+ tmpdepfile1=$dir$base.u
+ tmpdepfile2=$base.u
+ tmpdepfile3=$dir.libs/$base.u
+ "$@" -Wc,-M
+ else
+ tmpdepfile1=$dir$base.u
+ tmpdepfile2=$dir$base.u
+ tmpdepfile3=$dir$base.u
+ "$@" -M
+ fi
+ stat=$?
+
+ if test $stat -eq 0; then :
+ else
+ rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+ exit $stat
+ fi
+
+ for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+ do
+ test -f "$tmpdepfile" && break
+ done
+ if test -f "$tmpdepfile"; then
+ # Each line is of the form `foo.o: dependent.h'.
+ # Do two passes, one to just change these to
+ # `$object: dependent.h' and one to simply `dependent.h:'.
+ sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
+ # That's a tab and a space in the [].
+ sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
+ else
+ # The sourcefile does not contain any dependencies, so just
+ # store a dummy comment line, to avoid errors with the Makefile
+ # "include basename.Plo" scheme.
+ echo "#dummy" > "$depfile"
+ fi
+ rm -f "$tmpdepfile"
+ ;;
+
+icc)
+ # Intel's C compiler understands `-MD -MF file'. However on
+ # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
+ # ICC 7.0 will fill foo.d with something like
+ # foo.o: sub/foo.c
+ # foo.o: sub/foo.h
+ # which is wrong. We want:
+ # sub/foo.o: sub/foo.c
+ # sub/foo.o: sub/foo.h
+ # sub/foo.c:
+ # sub/foo.h:
+ # ICC 7.1 will output
+ # foo.o: sub/foo.c sub/foo.h
+ # and will wrap long lines using \ :
+ # foo.o: sub/foo.c ... \
+ # sub/foo.h ... \
+ # ...
+
+ "$@" -MD -MF "$tmpdepfile"
+ stat=$?
+ if test $stat -eq 0; then :
+ else
+ rm -f "$tmpdepfile"
+ exit $stat
+ fi
+ rm -f "$depfile"
+ # Each line is of the form `foo.o: dependent.h',
+ # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
+ # Do two passes, one to just change these to
+ # `$object: dependent.h' and one to simply `dependent.h:'.
+ sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
+ # Some versions of the HPUX 10.20 sed can't process this invocation
+ # correctly. Breaking it into two sed invocations is a workaround.
+ sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
+ sed -e 's/$/ :/' >> "$depfile"
+ rm -f "$tmpdepfile"
+ ;;
+
+hp2)
+ # The "hp" stanza above does not work with aCC (C++) and HP's ia64
+ # compilers, which have integrated preprocessors. The correct option
+ # to use with these is +Maked; it writes dependencies to a file named
+ # 'foo.d', which lands next to the object file, wherever that
+ # happens to be.
+ # Much of this is similar to the tru64 case; see comments there.
+ dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
+ test "x$dir" = "x$object" && dir=
+ base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
+ if test "$libtool" = yes; then
+ tmpdepfile1=$dir$base.d
+ tmpdepfile2=$dir.libs/$base.d
+ "$@" -Wc,+Maked
+ else
+ tmpdepfile1=$dir$base.d
+ tmpdepfile2=$dir$base.d
+ "$@" +Maked
+ fi
+ stat=$?
+ if test $stat -eq 0; then :
+ else
+ rm -f "$tmpdepfile1" "$tmpdepfile2"
+ exit $stat
+ fi
+
+ for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
+ do
+ test -f "$tmpdepfile" && break
+ done
+ if test -f "$tmpdepfile"; then
+ sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
+ # Add `dependent.h:' lines.
+ sed -ne '2,${
+ s/^ *//
+ s/ \\*$//
+ s/$/:/
+ p
+ }' "$tmpdepfile" >> "$depfile"
+ else
+ echo "#dummy" > "$depfile"
+ fi
+ rm -f "$tmpdepfile" "$tmpdepfile2"
+ ;;
+
+tru64)
+ # The Tru64 compiler uses -MD to generate dependencies as a side
+ # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
+ # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
+ # dependencies in `foo.d' instead, so we check for that too.
+ # Subdirectories are respected.
+ dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
+ test "x$dir" = "x$object" && dir=
+ base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
+
+ if test "$libtool" = yes; then
+ # With Tru64 cc, shared objects can also be used to make a
+ # static library. This mechanism is used in libtool 1.4 series to
+ # handle both shared and static libraries in a single compilation.
+ # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
+ #
+ # With libtool 1.5 this exception was removed, and libtool now
+ # generates 2 separate objects for the 2 libraries. These two
+ # compilations output dependencies in $dir.libs/$base.o.d and
+ # in $dir$base.o.d. We have to check for both files, because
+ # one of the two compilations can be disabled. We should prefer
+ # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
+ # automatically cleaned when .libs/ is deleted, while ignoring
+ # the former would cause a distcleancheck panic.
+ tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4
+ tmpdepfile2=$dir$base.o.d # libtool 1.5
+ tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5
+ tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504
+ "$@" -Wc,-MD
+ else
+ tmpdepfile1=$dir$base.o.d
+ tmpdepfile2=$dir$base.d
+ tmpdepfile3=$dir$base.d
+ tmpdepfile4=$dir$base.d
+ "$@" -MD
+ fi
+
+ stat=$?
+ if test $stat -eq 0; then :
+ else
+ rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
+ exit $stat
+ fi
+
+ for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
+ do
+ test -f "$tmpdepfile" && break
+ done
+ if test -f "$tmpdepfile"; then
+ sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
+ # That's a tab and a space in the [].
+ sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
+ else
+ echo "#dummy" > "$depfile"
+ fi
+ rm -f "$tmpdepfile"
+ ;;
+
+#nosideeffect)
+ # This comment above is used by automake to tell side-effect
+ # dependency tracking mechanisms from slower ones.
+
+dashmstdout)
+ # Important note: in order to support this mode, a compiler *must*
+ # always write the preprocessed file to stdout, regardless of -o.
+ "$@" || exit $?
+
+ # Remove the call to Libtool.
+ if test "$libtool" = yes; then
+ while test "X$1" != 'X--mode=compile'; do
+ shift
+ done
+ shift
+ fi
+
+ # Remove `-o $object'.
+ IFS=" "
+ for arg
+ do
+ case $arg in
+ -o)
+ shift
+ ;;
+ $object)
+ shift
+ ;;
+ *)
+ set fnord "$@" "$arg"
+ shift # fnord
+ shift # $arg
+ ;;
+ esac
+ done
+
+ test -z "$dashmflag" && dashmflag=-M
+ # Require at least two characters before searching for `:'
+ # in the target name. This is to cope with DOS-style filenames:
+ # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
+ "$@" $dashmflag |
+ sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile"
+ rm -f "$depfile"
+ cat < "$tmpdepfile" > "$depfile"
+ tr ' ' '
+' < "$tmpdepfile" | \
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly. Breaking it into two sed invocations is a workaround.
+ sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+ rm -f "$tmpdepfile"
+ ;;
+
+dashXmstdout)
+ # This case only exists to satisfy depend.m4. It is never actually
+ # run, as this mode is specially recognized in the preamble.
+ exit 1
+ ;;
+
+makedepend)
+ "$@" || exit $?
+ # Remove any Libtool call
+ if test "$libtool" = yes; then
+ while test "X$1" != 'X--mode=compile'; do
+ shift
+ done
+ shift
+ fi
+ # X makedepend
+ shift
+ cleared=no eat=no
+ for arg
+ do
+ case $cleared in
+ no)
+ set ""; shift
+ cleared=yes ;;
+ esac
+ if test $eat = yes; then
+ eat=no
+ continue
+ fi
+ case "$arg" in
+ -D*|-I*)
+ set fnord "$@" "$arg"; shift ;;
+ # Strip any option that makedepend may not understand. Remove
+ # the object too, otherwise makedepend will parse it as a source file.
+ -arch)
+ eat=yes ;;
+ -*|$object)
+ ;;
+ *)
+ set fnord "$@" "$arg"; shift ;;
+ esac
+ done
+ obj_suffix=`echo "$object" | sed 's/^.*\././'`
+ touch "$tmpdepfile"
+ ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
+ rm -f "$depfile"
+ cat < "$tmpdepfile" > "$depfile"
+ sed '1,2d' "$tmpdepfile" | tr ' ' '
+' | \
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly. Breaking it into two sed invocations is a workaround.
+ sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+ rm -f "$tmpdepfile" "$tmpdepfile".bak
+ ;;
+
+cpp)
+ # Important note: in order to support this mode, a compiler *must*
+ # always write the preprocessed file to stdout.
+ "$@" || exit $?
+
+ # Remove the call to Libtool.
+ if test "$libtool" = yes; then
+ while test "X$1" != 'X--mode=compile'; do
+ shift
+ done
+ shift
+ fi
+
+ # Remove `-o $object'.
+ IFS=" "
+ for arg
+ do
+ case $arg in
+ -o)
+ shift
+ ;;
+ $object)
+ shift
+ ;;
+ *)
+ set fnord "$@" "$arg"
+ shift # fnord
+ shift # $arg
+ ;;
+ esac
+ done
+
+ "$@" -E |
+ sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
+ -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
+ sed '$ s: \\$::' > "$tmpdepfile"
+ rm -f "$depfile"
+ echo "$object : \\" > "$depfile"
+ cat < "$tmpdepfile" >> "$depfile"
+ sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
+ rm -f "$tmpdepfile"
+ ;;
+
+msvisualcpp)
+ # Important note: in order to support this mode, a compiler *must*
+ # always write the preprocessed file to stdout.
+ "$@" || exit $?
+
+ # Remove the call to Libtool.
+ if test "$libtool" = yes; then
+ while test "X$1" != 'X--mode=compile'; do
+ shift
+ done
+ shift
+ fi
+
+ IFS=" "
+ for arg
+ do
+ case "$arg" in
+ -o)
+ shift
+ ;;
+ $object)
+ shift
+ ;;
+ "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
+ set fnord "$@"
+ shift
+ shift
+ ;;
+ *)
+ set fnord "$@" "$arg"
+ shift
+ shift
+ ;;
+ esac
+ done
+ "$@" -E 2>/dev/null |
+ sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
+ rm -f "$depfile"
+ echo "$object : \\" > "$depfile"
+ sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
+ echo " " >> "$depfile"
+ sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
+ rm -f "$tmpdepfile"
+ ;;
+
+msvcmsys)
+ # This case exists only to let depend.m4 do its work. It works by
+ # looking at the text of this script. This case will never be run,
+ # since it is checked for above.
+ exit 1
+ ;;
+
+none)
+ exec "$@"
+ ;;
+
+*)
+ echo "Unknown depmode $depmode" 1>&2
+ exit 1
+ ;;
+esac
+
+exit 0
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
diff --git a/doc/COPYING b/doc/COPYING
new file mode 100644
index 0000000..3912109
--- /dev/null
+++ b/doc/COPYING
@@ -0,0 +1,340 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+ 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 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
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ 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
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) year name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ <signature of Ty Coon>, 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Library General
+Public License instead of this License.
diff --git a/doc/ChangeLog b/doc/ChangeLog
new file mode 100644
index 0000000..2c35f7b
--- /dev/null
+++ b/doc/ChangeLog
@@ -0,0 +1,375 @@
+***** v.0.4.1 (2013.08.29)
+* Fix bug #4854: When using mmscore, there is one (nan) column missing in
+ the output for low-frequency SNPs. Also includes a simplification of the
+ R-based test scripts.
+
+***** v.0.4.0 (2013.08.25)
+* The output files now contain a chi^2 column with the chi^2 value based
+ on the LRT when not using --mmscore. When using --mmscore, the chi^2
+ values are calculated from the Wald statistic (not implemented for the
+ 2df model yet).
+* Fixed long-standing bug #1130: The Cox regression module of ProbABEL
+ crashes (when using filevector files). Actually, the Cox PH module was
+ broken ever since ProbABEL v0.1-9e. Thanks to the Erasmus Medical
+ Center, Rotterdam (the group of prof. C.M. van Duijn) and the Radboud
+ University Medical Center, Nijmegen (the group of prof. Kiemeney) for
+ partially sponsoring the time spent on this fix. Also thanks to Ben
+ Verhaaren and Anne Grotenhuis for testing!
+* Fixed bug #2575: ProbABEL chooses weird file names if the -o option is
+ not specified. As a result of this fix, usage of the -o option with
+ probabel.pl is slightly changed. Before the string specified after -o
+ was added to the name of the phenotype file. Now it indicated the
+ complete start of the file name (as before model-dependant strings like _2df
+ will be added automatically).
+* Fixed bug #2772: palogist with mmscore crashes (memory issue). Thanks to
+ Anuj Goel for reporting this bug.
+* Fixed bug #4700: wrong order of betas and se_betas in header of 2df
+ output files. Thanks to Anne Grotenhuis for reporting this bug and to
+ Yurii Aulchenko for solving it.
+* Fixed bug #4683: probabel.pl writes to the wrong directory if a relative
+ path is given on the command line (Thanks to Aaron Isaacs for reporting
+ this bug). NOTE: As a result of this fix giving the -o option to
+ probabel.pl is no longer interpreted as an addition to the default
+ prefix (which was the name of the phenotype file), but as a full file
+ name (incl. path).
+* Fixed bug #2598: The prepare_data.R script is mentioned in the manual,
+ but not distributed in .deb or .tar.gz
+* Fixed bug #2529: ProbABEL doesn't warn when a required file is not
+ specified on the command line
+* Fix small bug where running "pa{linear,logist,coxph} -h" complained
+ about a missing argument.
+* The examples directory has been cleaned up and the test suite has been
+ moved to a separate directory.
+
+
+***** v.0.3.0 (2013.01.01)
+* This is a major rewrite of several important parts of the ProbABEL
+ code. ProbABEL can now make use of the Eigen matrix library
+ (http://eigen.tuxfamily.org) for matrix operations. Especially when
+ using the mmscore option this makes ProbABEL run ~ 5 times faster.
+ Unfortunately the CoxPH module is still broken.
+ This version completes several months of work by Maarten Kooyman who
+ took up this challenge. Thanks to Maarten!
+* Fixed bug #2436: probabel.pl doesn't overwrite output file (as it used
+ to do before 0.2.2). This bug was introduced with the possibility of
+ using SNP dosages/probabilities that are split into (sub-chromosomal)
+ chunks.
+* Fixed a small bug (without ID) where the column/row addressing of
+ matrices as incorrectly checked (off-by-one error) (svn rev.1056).
+
+
+***** v.0.2.2 (2012.11.05)
+* No change in the code compared to v.0.2.1. Due to a mistake with the
+ Ubuntu packaging (which was based on SVN r997, which contained a
+ major bug in the tests and which was uploaded to the GenABEL PPA)
+ I'm releasing a new package based on the same source code as
+ ProbABEL v.0.2.1 (except for the version numbers of course).
+
+
+***** v.0.2.1 (2012.11.05)
+* Fixed bug #2295: the inverse variance-covariance matrix (used with
+ the --mmscore option) was incorrectly subsetted when NAs are present
+ for one or more SNP dosages (so this is not an issue for people using
+ imputed data). As a result the invvarmatrix that was actually used in
+ the regression contained rows and columns of zeroes. Thanks to Maarten
+ Kooyman for reporting this bug.
+
+* Fixed bug #1186: When .map file is missing (but --map option was
+ given), the wrong error message was displayed. Thanks to Nicola
+ Pirastu for reporting this bug.
+
+* Fixed bug #2147: The value of the Rsq column in the info file should
+ be > 0, unlike what was mentioned in the documentation.
+
+* Update of the probabel.pl script and probabel_config.cfg.
+ The .cfg file now accepts the chr separator in multiple locations in the path
+ (thanks to Marijn Verkerk).
+ probabel.pl can now also run Y chromosome analysis and the help
+ message has been updated.
+
+* probabel.pl and probabel_config.cfg now also accept chunks, where
+ dose, prob, info and map files are split into multiple chunks. This
+ is now the default for people following the 1000 genomes imputation
+ cookbook for MaCH/minimac (the recipe uses the chunkchromosome tool
+ to split the data into smaller pieces, speeding up imputation on
+ computer clusters). See probabel_config.cfg.example for an
+ example. (Lennart)
+
+
+
+***** v.0.2.0 (2012.06.10)
+* The v.0.1-9e fix for working with prob files in pacoxph has been
+ forward-ported to this branch as well (Lennart and Yurii).
+
+* pacoxph will not be built by default, because it is quite buggy. See
+ ./configure notes below on how to enable building it anyway (Lennart).
+
+* ProbABEL can now (experimentally!) analyze binary traits accounting
+ for relationship structure (thanks to Yurii and Nicola Pirastu). This
+ adds '--mmscore' option for logistic regression. Important: compared
+ to 'palinear' the matrix which should be supplied to palogist with
+ --mmscore should contain an inverse of the correlation matrix (not the
+ inverse of var-cov matrix, as is the case for 'palinear' with
+ --mmscore). This matrix can be obtained through (GenABEL notation):
+
+h2.object$InvSigma * h2.object$h2an$estimate[length(h2.object$h2an$estimate)]
+
+ where h2.object is the object returned by 'polygenic()'. Documentation
+ explains this procedure in more details; a wrapper function to prepare
+ and export correct objects for ProbABEL is planned. (thanks to Yurii)
+
+* Small changes (thanks to Lennart).
+- in probabel.pl the location for the probabel config file is now set
+ to /etc/, the default location it will end up. Before it still
+ pointed to the location the probabel.pl file was in. However, a
+ better fix would be to somehow put in the actual value of the
+ --sysconfdir option to ./configure.
+- The PDF of the LaTeX documentation is now only generated if the
+ pdflatex binary can be found. So now we also build the documentation
+ using autotools.
+- On 32bit Linux systems ProbABEL can now also use large (>4GB) input files.
+
+
+* ProbABEL uses autoconf and automake now (thanks to Lennart).
+ After downloading the source from SVN run
+autoreconf -i
+
+ to generate the ./configure script and some other files (this is not
+ necessary when installing from the distributed .tar.gz file).
+
+ To compile and install the package run
+./configure
+make
+make check
+make install
+
+ This will install the binaries (palinear etc.) in /usr/local/bin/,
+ the documentation in /usr/local/share/doc/probabel/, the
+ probabel_config.cfg.example file in /usr/local/etc/, and the examples in
+ /usr/local/share/ProbABEL/examples/. The ./configure script tests
+ for the presence of the pdflatex program. If it is not present the
+ PDF version of the documentation will not be built.
+
+ For more information see the file doc/INSTALL.
+
+In the ProbABEL autotools integration branch:
+- Removed the old Makefile
+- Added configure.ac that servers as input for auto(re)conf
+- Added the Makefile.am files needed by automake to generate the final Makefiles.
+
+
+***** v.0.1-9e (2011.05.15)
+Previous version wouldn't compile because of missing frerror. file.
+Fixes bug #1339 (the bug fix was done a month ago, but no package had
+been release since then).
+
+***** v.0.1-9d (2010.10.08)
+
+fix related to compilation with updated 'filevector' library
+
+***** v.0.1-9c (2010.08.01)
+
+Bug identification and fix by Vadim Pinchuk (McGill). Here is his report:
+
+I have found a small bug that caused reporting of incorrect
+subject IDs in the error message when I tried to run palinear
+analysis. It caused a bit of confusion on my side.
+... I fixed it in downloaded copy of the source code and it reports
+correct subject IDs. We were able to overcome the problems in the data
+after the fix and submit analysis successfully.
+
+Bravo, Vadim! Thumbs up, and many thanks from us (and of course all users)!
+
+
+***** v.0.1-9b (2010.06.02)
+
+changes in filevector part
+
+***** v.0.1-9 (2010.05.28)
+
+changes in filevector part
+
+cox regression does not work
+
+***** v.0.1-8 (2010.05.10)
+
+changes in filevector part
+
+***** v.0.1-6b (2010.04.22)
+
+error message with missing map-file reported absence of
+other file, fixed: thanks to N. Pirastu for noticing!
+
+***** v.0.1-6 (2010.04.02)
+
+bug fix in palogist, coxph (would not run with missing genotypic data present)
+
+Thanks to Ida Surakka, Pau Navarro and Kati Kristiansson for spotting the problem!
+
+***** v.0.1-5 (2010.03.07)
+
+Use of updated FILEVECTOR (r300)
+
+Fixed bug preventing coxph to run
+
+***** v.0.1-4 (2010.02.12)
+
+Instead chi2, log-likelihood is reported
+
+ProbABEL can now work in very low memory mode, using filevector library
+(see examples/prepare_data.R for examples how to convert data from
+MACH to filevector format).
+
+Can also treat missing values (NA, nan)
+
+***** v.0.1-3 (2009.11.25)
+
+This version is courtesy of Han Chen (Nov 9, 2009). The modifications allow
+to extract the covariance between the estimate of beta(SNP) and the estimate
+of beta(interaction). This information can be used to, e.g., to perform a
+rigorous 2df meta-analysis of interactions later on.
+
+Here is a more detailed description of what the changes concern (by Han Chen):
+
+For model
+
+Y = b_0 + b_cov1 * cov1 + b_cov2 * cov2 + ... + b_covN * covN + b_SNP * SNP + b_covX_SNP * covX * SNP
+
+(1<=X<=N, covX can be any covariate in the phenotype file, from cov1 to covN,
+option --interaction=X, see ProbABEL manual for details)
+Or model
+
+Y = b_0 + b_cov1 * cov1 + b_cov2 * cov2 + ... + b_covX-1 * covX-1 + b_covX+1 * covX+1 + ... + b_covN * covN + b_SNP * SNP + b_covX_SNP * covX * SNP
+
+(1<=X<=N, covX can be any covariate in the phenotype file, from cov1 to covN,
+option --interaction_only=X, see ProbABEL manual for details)
+This "plus" version reports naive covariance (default) or robust covariance
+(option --robust) between b_SNP and b_covX_SNP estimates, for palinear and
+palogist (can NOT report covariance for pacoxph, Cox regression).
+Covariances are no reported for options --score, --allcov, --mmscore
+
+LINEAR REGRESSION OR LOGISTIC REGRESSION ONLY
+
+Bravo, Han! -- and many thanks!
+
+
+***** v.0.1-2 (2009.10.19)
+
+Minor bug fix: allele frequency was estimated wrongly when option --ngpreds=2
+was used. The bug had no effect anything else (betas, ses, chi2s were correct).
+Many thanks to Han Chen (Boston University) for identification of this bug
+and providing us with an excellent summary which allowed fixing the bug easily!
+
+***** v.0.1-1 (2009.09.22)
+
+Added "robust" option, which computes SEs using formula
+(X'X)^(-1) (X' V X) (X'X)^(-1) where V is diagonal matrix containing
+squares of residuals. In standard analysis, V is diagonal matrix
+containing constant = RSS/N
+
+***** v.0.1-0 (2009.08.15)
+
+fixed a bug in phedata class: if ID was starting with 'N' or 'n', it
+was counted as NA (thanks to Youfan & Ida Surakka for pointing the
+bug out)
+
+
+***** v.0.0-9 (2009.07.20)
+
+mmscore bug fixed (ses of betas were inflated by sd of the trait's distribution)
+
+
+***** v.0.0-8 (2009.06.09)
+
+1. New interaction option added. Key --interaction_only=<number> allows you to perform interaction analysis without covariate acting in ineraction.
+Examlple: trait ~ cov1 + cov2 + cov3*SNP
+In previos versions only models like trait ~ cov1 + cov2 + cov3 + cov3*SNP were possible
+
+2. mmoscore option modified. Now any amount of covariates is possible.
+
+
+***** v.0.0-7 (2009.03.19)
+
+Bug with interaction in survival analysis fixed.
+
+
+***** v.0.0-6 (2009.01.28)
+
+Added score test for association between a trait and genetic
+polymorphism, in samples of related individuals.
+Use key --mmscore <file with inverse of variance-covariance matrix>
+File must contain the first column with id names like in phenotype file.
+The rest is the matrix itself.
+In case of mmscore phenotype file contain only two columns - id names and trait.
+
+See example/mmscore.R and example/mmscore.sh.
+
+
+***** v.0.0-5d (2009.01.11)
+
+Possibility of analysis for SNP interaction has been added.
+New key is --interaction=<covariate number>.
+Default is --interaction=0. The first covariate is --interaction=1.
+
+Output organizing has been changed. Now there is one file per one model.
+Output file names consist of prefix which goes together with input
+parameter --out and one of following postfixes:
+"_2df.out.txt", "_add.out.txt", "_domin.out.txt", "_recess.out.txt", "_over_domin.out.txt".
+If postfix is not given name "regression" is used.
+
+
+File bin/probabel_system_example.pl has been changedand renamed
+to probabel.pl_example. This script combines all ProbABEL functions and allows
+you to organize work with your MACH output files. Just change configuration
+file probabel_config.cfg_example and probabel.pl_example like it is written in manual.
+
+Now chi2 is likelihood ration test when null model is without SNP and alternative - with SNP and interaction.
+
+
+***** v.0.0-5c (2008.12.05)
+
+Changed presentation of output: effective allele (A1) is mentioned
+in exact manner
+
+
+***** v.0.0-5b (2008.11.20)
+
+Output from analysis with ngpred=2 (MLPROB files) fixed (models were
+named wrongly)
+
+
+***** v.0.0-5a (2008.10.05)
+
+--allcov option added (allows output of estimates for all covariates)
+
+example system-wide perl script running the analysis for
+(potentially multiple cohorts) and joining single-chomosome
+outputs to single file provided
+
+A change in the procedure to read genotypic files, read format of the
+beging of every line changed from "%d->%s" to "%[^->]->%[^->]" (thanks to
+Bertram Muller-Myhsok & Benno Puetz)
+
+
+***** v.0.0-5 (2008.06.07)
+
+More than one genomic predictor per point: possibility to
+work with MLPROB files (options --ngpreds added).
+
+
+***** v.0.0-4 (2008.05.20)
+
+Score test implemented (palinear, palogistic)
+
+Logistic regression: eps-loglikelihood change as convergence criterium
+
+
+***** v.0.0-3
+
+Survival analysis added
+
+SNP Z and Chi-square statistics added to output
+
+Output generated in tab-delimited format
+
+Documentation updated
diff --git a/doc/INSTALL b/doc/INSTALL
new file mode 100644
index 0000000..622ddb4
--- /dev/null
+++ b/doc/INSTALL
@@ -0,0 +1,138 @@
+These instructions show how to build ProbABEL.
+
+* Dependencies
+ ProbABEL can be compiled without depending on other
+ libraries. However, when the Eigen library is present
+ (http://eigen.tuxfamily.org) matrix manipulation is much more
+ efficient and fast. On Debian/Ubuntu systems the Eigen library can
+ be installed in the following way:
+apt-get install libeigen3-dev
+
+ If you install the eigen library by hand (e.g. after downloading the
+ files from the aforementioned website) you have to specify the
+ location of the header files when running ./configure (see below):
+./configure --with-eigen-include-path=/your/path/to/eigen
+ The default for this option is /usr/include/eigen3. This is the
+ directory in which files like Eigen/Dense and Eigen/Cholesky can be
+ found.
+
+ If ./configure cannot find the Eigen library it will say so. To
+ disable the use of Eigen (even if the library is present) use:
+./configure --without-eigen
+
+
+* Compiling for Linux
+ If you downloaded the source from SVN (this is not necessary when
+ installing from the distributed .tar.gz file), run:
+autoreconf -i
+ to generate the ./configure script and some other files.
+
+ Now, you are ready to compile and install the package. Run the
+ following commands:
+./configure
+make
+make check
+make install
+
+ This will install the binaries (palinear etc.) in /usr/local/bin/,
+ the documentation in /usr/local/share/doc/probabel/, the
+ probabel_config.cfg file in /usr/local/etc/, and the examples in
+ /usr/local/share/ProbABEL/examples/. The ./configure script tests
+ for the presence of the pdflatex program. If it is not present the
+ PDF version of the documentation will not be built.
+
+ NOTE: make install will OVERWRITE any file with the same name if it
+ already exists. By default the name of the probabel.pl config file is
+ probabel_config.cfg.example. For probabel.pl to work please rename
+ this file to probabel_config.cfg.
+
+ To see options, run
+
+./configure --help
+
+ The most notable option is
+./configure --prefix=/some/subdirectory
+
+ to install ProbABEL in that subdirectory. Instead of using
+ /usr/local/ as install root directory, it installs in /some/subdirectory.
+
+ ProbABEL consists of three main programs: palinear, palogist and
+ pacoxph. Building of each of these programs can be disabled by
+ adding a --disable- option to configure, for example:
+./configure --disable-palinear
+
+ Another commonly used option is --enable-silent-rules, this reduces
+ the output (sometimes considered to be noise) of the make step:
+./configure --enable-silent-rules
+
+
+* Options for developers
+ To generate a .tar.gz package for distribution run:
+./configure
+make dist
+
+ To test if all your changes to the source files will be packaged
+ into the tar.gz file correctly (as well as several other basic
+ checks) run
+./configure
+make distcheck
+ This will try to build the project in a different (temporary)
+ directory. Since it also runs ./configure in this build directory
+ you may want to specify options to that configure run as well (the
+ ones you specified when running ./configure earlier won't be
+ "transmitted" to this run). This can be done as in the following
+ example:
+DISTCHECK_CONFIGURE_FLAGS="--enable-silent-rules" make distcheck
+
+ To clean up all files generated by ./configure and make, run
+make distclean
+
+ Running
+make uninstall
+ will uninstall the files previously installed by 'make install'.
+
+
+* Making packages for Linux distributions
+ Instructions for creating a package for your favourite Linux
+ distribution can be found in doc/packaging.txt
+
+
+* Cross-compiling for Windows on Linux
+ The following steps show how to compile 32bit windows binaries on a
+ Linux machine.
+ First, install the necessary MINGW32 packages. On Debian/Ubuntu this
+ can be done in the following way:
+apt-get install mingw32{-binutils,-runtime} gcc-mingw32
+ For 64 bit windows install these packages:
+apt-get install binutils-mingw-w64-i686 gcc-mingw-w64-base gcc-mingw-w64-i686 \
+ mingw-w64-dev g++-mingw-w64 binutils-mingw-w64-x86-64 g++-mingw-w64-i686 \
+ g++-mingw-w64-x86-64 gcc-mingw-w64-x86-64
+
+ Now the binaries can be compiled (I've added a prefix so that when
+ running 'make install' the whole directory structure can be zipped
+ easily):
+./configure --host=i686-w64-mingw32 --build=i686-linux-gnu \
+ --prefix=/tmp/PA --sysconfdir=/tmp/PA/ \
+ --datarootdir=/tmp/PA --docdir=/tmp/PA/doc
+
+ The --host option sets the type of the host the programs will be run
+ on, the --build option sets the type of machine you are building the
+ package on (cf. the Autoconf manual:
+ http://www.gnu.org/software/hello/manual/autoconf/Specifying-Target-Triplets.html). In
+ this example I was using a 32bit Ubuntu install. For a 64 bit linux
+ system this will be x86_64-linux-gnu. Note that the values for both
+ these options can be derived from the names of the compiler
+ executables, e.g. the gcc-mingw-w64 Debian package installs the
+ following C++ compilers: /usr/bin/i686-w64-mingw32-c++ and
+ /usr/bin/x86_64-w64-mingw32-c++.
+ The --[somedir] options are used to make the directory structure as
+ flat as possible so that we don't bother Windows users with
+ subdirectories like 'share/' and 'etc/'.
+
+ Now you can run
+make CFLAGS+="-O2 -static-libgcc -static-libstdc++" CXXFLAGS+="-O2 -static-libgcc -static-libstdc++"
+make install
+
+ This creates the binaries pacoxph.exe, palinear.exe and
+ palogist.exe (as well as the examples and documentation). The
+ contents of /tmp/PA can then be zipped and distributed.
diff --git a/doc/LICENSE b/doc/LICENSE
new file mode 100644
index 0000000..6e92483
--- /dev/null
+++ b/doc/LICENSE
@@ -0,0 +1,3 @@
+ProbABEL is distributed under the GNU GENERAL PUBLIC LICENSE v 2 or later
+
+A copy of the license is available in the file ''COPYING''
diff --git a/doc/Makefile.am b/doc/Makefile.am
new file mode 100644
index 0000000..2304012
--- /dev/null
+++ b/doc/Makefile.am
@@ -0,0 +1,63 @@
+## Process this file with automake to produce Makefile.in
+
+dist_doc_DATA = ProbABEL_manual.tex QuickStart.txt \
+ short_coxph_data.txt short_height_base_add.out.txt.save \
+ short_height.txt short_logist_data.txt short_test.mldose test.map \
+ test.mlinfo test_regression.R COPYING LICENSE INSTALL ChangeLog \
+ TODO
+
+man_MANS =
+if BUILD_palinear
+man_MANS += palinear.1
+endif
+if BUILD_palogist
+man_MANS += palogist.1
+endif
+if BUILD_pacoxph
+man_MANS += pacoxph.1
+endif
+
+EXTRA_DIST = $(man_MANS)
+
+if HAVE_PDFLATEX
+MANNAME = ProbABEL_manual
+MANPDF = $(MANNAME).pdf
+MANTEXSRC = $(MANNAME).tex
+MANAUX = $(MANNAME).aux
+doc_DATA = $(MANPDF)
+
+CLEANFILES = $(MANPDF) $(MANNAME).log $(MANNAME).idx $(MANNAME).out \
+ $(MANNAME).toc $(MANNAME).idx $(MANNAME).ilg $(MANNAME).ind $(MANAUX) .btmp
+
+endif
+
+
+# Several make rules to generate the PDF from the LaTeX source
+.aux.pdf:
+ @echo === Making PDF ===
+ $(PDFLATEX) $(srcdir)/$(MANTEXSRC)
+ @while ( grep "Rerun to " \
+ $(MANNAME).log ); do \
+ echo '** Re-running LaTeX **'; \
+ $(PDFLATEX) $(srcdir)/$(MANTEXSRC); \
+ done
+ @echo === Making index ===
+ makeindex $(MANNAME)
+ @echo === Making final PDF ===
+ $(PDFLATEX) $(srcdir)/$(MANTEXSRC)
+
+.tex.aux:
+ @echo === Making $@ file ===
+ $(PDFLATEX) $(srcdir)/$(MANTEXSRC)
+## Look for citations. Make sure grep never returns an error code.
+ @grep "^\\\\citation" $(MANAUX) > .btmp.new || true
+## If the citations are not changed, don't do anything. Otherwise replace
+## the .btmp file to make sure BibTeX will be run.
+ @if ( diff .btmp.new .btmp > /dev/null ); then \
+ rm .btmp.new; \
+ else \
+ mv .btmp.new .btmp; \
+ fi
+
+# A target needed to keep track of the nr. of LaTeX runs
+.btmp:
diff --git a/doc/Makefile.in b/doc/Makefile.in
new file mode 100644
index 0000000..7011d42
--- /dev/null
+++ b/doc/Makefile.in
@@ -0,0 +1,546 @@
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+ at SET_MAKE@
+
+VPATH = @srcdir@
+am__make_dryrun = \
+ { \
+ am__dry=no; \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
+ | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+ *) \
+ for am__flg in $$MAKEFLAGS; do \
+ case $$am__flg in \
+ *=*|--*) ;; \
+ *n*) am__dry=yes; break;; \
+ esac; \
+ done;; \
+ esac; \
+ test $$am__dry = yes; \
+ }
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+ at BUILD_palinear_TRUE@am__append_1 = palinear.1
+ at BUILD_palogist_TRUE@am__append_2 = palogist.1
+ at BUILD_pacoxph_TRUE@am__append_3 = pacoxph.1
+subdir = doc
+DIST_COMMON = $(dist_doc_DATA) $(srcdir)/Makefile.am \
+ $(srcdir)/Makefile.in COPYING ChangeLog INSTALL TODO
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/src/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
+SOURCES =
+DIST_SOURCES =
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
+man1dir = $(mandir)/man1
+am__installdirs = "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(docdir)" \
+ "$(DESTDIR)$(docdir)"
+NROFF = nroff
+MANS = $(man_MANS)
+DATA = $(dist_doc_DATA) $(doc_DATA)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+GREP = @GREP@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PDFLATEX = @PDFLATEX@
+R = @R@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build_alias = @build_alias@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host_alias = @host_alias@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+dist_doc_DATA = ProbABEL_manual.tex QuickStart.txt \
+ short_coxph_data.txt short_height_base_add.out.txt.save \
+ short_height.txt short_logist_data.txt short_test.mldose test.map \
+ test.mlinfo test_regression.R COPYING LICENSE INSTALL ChangeLog \
+ TODO
+
+man_MANS = $(am__append_1) $(am__append_2) $(am__append_3)
+EXTRA_DIST = $(man_MANS)
+ at HAVE_PDFLATEX_TRUE@MANNAME = ProbABEL_manual
+ at HAVE_PDFLATEX_TRUE@MANPDF = $(MANNAME).pdf
+ at HAVE_PDFLATEX_TRUE@MANTEXSRC = $(MANNAME).tex
+ at HAVE_PDFLATEX_TRUE@MANAUX = $(MANNAME).aux
+ at HAVE_PDFLATEX_TRUE@doc_DATA = $(MANPDF)
+ at HAVE_PDFLATEX_TRUE@CLEANFILES = $(MANPDF) $(MANNAME).log $(MANNAME).idx $(MANNAME).out \
+ at HAVE_PDFLATEX_TRUE@ $(MANNAME).toc $(MANNAME).idx $(MANNAME).ilg $(MANNAME).ind $(MANAUX) .btmp
+
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .aux .pdf .tex
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign doc/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+install-man1: $(man_MANS)
+ @$(NORMAL_INSTALL)
+ @list1=''; \
+ list2='$(man_MANS)'; \
+ test -n "$(man1dir)" \
+ && test -n "`echo $$list1$$list2`" \
+ || exit 0; \
+ echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \
+ { for i in $$list1; do echo "$$i"; done; \
+ if test -n "$$list2"; then \
+ for i in $$list2; do echo "$$i"; done \
+ | sed -n '/\.1[a-z]*$$/p'; \
+ fi; \
+ } | while read p; do \
+ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; echo "$$p"; \
+ done | \
+ sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
+ sed 'N;N;s,\n, ,g' | { \
+ list=; while read file base inst; do \
+ if test "$$base" = "$$inst"; then list="$$list $$file"; else \
+ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
+ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \
+ fi; \
+ done; \
+ for i in $$list; do echo "$$i"; done | $(am__base_list) | \
+ while read files; do \
+ test -z "$$files" || { \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \
+ done; }
+
+uninstall-man1:
+ @$(NORMAL_UNINSTALL)
+ @list=''; test -n "$(man1dir)" || exit 0; \
+ files=`{ for i in $$list; do echo "$$i"; done; \
+ l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
+ sed -n '/\.1[a-z]*$$/p'; \
+ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
+ dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir)
+install-dist_docDATA: $(dist_doc_DATA)
+ @$(NORMAL_INSTALL)
+ @list='$(dist_doc_DATA)'; test -n "$(docdir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(docdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(docdir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(docdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(docdir)" || exit $$?; \
+ done
+
+uninstall-dist_docDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(dist_doc_DATA)'; test -n "$(docdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(docdir)'; $(am__uninstall_files_from_dir)
+install-docDATA: $(doc_DATA)
+ @$(NORMAL_INSTALL)
+ @list='$(doc_DATA)'; test -n "$(docdir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(docdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(docdir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(docdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(docdir)" || exit $$?; \
+ done
+
+uninstall-docDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(doc_DATA)'; test -n "$(docdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(docdir)'; $(am__uninstall_files_from_dir)
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+ @list='$(MANS)'; if test -n "$$list"; then \
+ list=`for p in $$list; do \
+ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+ if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \
+ if test -n "$$list" && \
+ grep 'ab help2man is required to generate this page' $$list >/dev/null; then \
+ echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \
+ grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/ /' >&2; \
+ echo " to fix them, install help2man, remove and regenerate the man pages;" >&2; \
+ echo " typically \`make maintainer-clean' will remove them" >&2; \
+ exit 1; \
+ else :; fi; \
+ else :; fi
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(MANS) $(DATA)
+installdirs:
+ for dir in "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(docdir)" "$(DESTDIR)$(docdir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-dist_docDATA install-docDATA install-man
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man: install-man1
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-dist_docDATA uninstall-docDATA uninstall-man
+
+uninstall-man: uninstall-man1
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic distclean \
+ distclean-generic distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am \
+ install-dist_docDATA install-docDATA install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-man1 install-pdf install-pdf-am install-ps \
+ install-ps-am install-strip installcheck installcheck-am \
+ installdirs maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-generic pdf pdf-am ps ps-am uninstall \
+ uninstall-am uninstall-dist_docDATA uninstall-docDATA \
+ uninstall-man uninstall-man1
+
+
+# Several make rules to generate the PDF from the LaTeX source
+.aux.pdf:
+ @echo === Making PDF ===
+ $(PDFLATEX) $(srcdir)/$(MANTEXSRC)
+ @while ( grep "Rerun to " \
+ $(MANNAME).log ); do \
+ echo '** Re-running LaTeX **'; \
+ $(PDFLATEX) $(srcdir)/$(MANTEXSRC); \
+ done
+ @echo === Making index ===
+ makeindex $(MANNAME)
+ @echo === Making final PDF ===
+ $(PDFLATEX) $(srcdir)/$(MANTEXSRC)
+
+.tex.aux:
+ @echo === Making $@ file ===
+ $(PDFLATEX) $(srcdir)/$(MANTEXSRC)
+ @grep "^\\\\citation" $(MANAUX) > .btmp.new || true
+ @if ( diff .btmp.new .btmp > /dev/null ); then \
+ rm .btmp.new; \
+ else \
+ mv .btmp.new .btmp; \
+ fi
+
+# A target needed to keep track of the nr. of LaTeX runs
+.btmp:
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/doc/ProbABEL_manual.tex b/doc/ProbABEL_manual.tex
new file mode 100644
index 0000000..04409b1
--- /dev/null
+++ b/doc/ProbABEL_manual.tex
@@ -0,0 +1,893 @@
+\documentclass[12pt,a4paper]{article}
+
+\title{Manual for ProbABEL v0.4.1}
+\author{\emph{Current Programmers:} Lennart Karssen$^{1}$, Maarten
+ Kooyman$^1$, \\
+ Yurii Aulchenko$^{2}$ \\
+ \emph{Former Programmers:} Maksim Struchalin
+ \\
+ \\
+ $^{1}${\small Erasmus MC, Rotterdam} \\
+ $^{2}${\small Institute of Cytology and Genetics SD RAS, Novosibirsk}
+}
+\date{\today}
+
+\usepackage{verbatim}
+\usepackage{titleref}
+\usepackage{amsmath}
+\usepackage{makeidx}
+\usepackage[dvipsnames]{xcolor}
+\usepackage[pdftex,hyperfootnotes=false,pdfpagelabels]{hyperref}
+\hypersetup{%
+ linktocpage=false, % If true the page numbers in the toc are links
+ % instead of the section headings.
+ pdfstartview=FitH,% pdfstartpage=3,
+ breaklinks=true, pageanchor=true, %
+ pdfpagemode=UseOutlines, plainpages=false, bookmarksnumbered, %
+ bookmarksopen=true, bookmarksopenlevel=1, hypertexnames=true, %
+ pdfhighlight=/O, %hyperfootnotes=true,%nesting=true,%frenchlinks,%
+ pdfauthor={\textcopyright\ Y.~Aulchenko, M.~Struchalin, L.C.~Karssen},
+ pdfsubject={ProbABEL manual},
+ colorlinks=true, urlcolor=MidnightBlue, linkcolor=blue %
+}
+% get the links to the figures and tables right:
+\usepackage[all]{hypcap} % to be loaded after hyperref package
+
+% lowercase letters as footnote numerals (to avoid confusion with powers).
+\renewcommand{\thefootnote}{\alph{footnote}}
+
+\DeclareMathOperator{\var}{\mathbf{var}}
+
+\makeindex
+
+\newcommand{\PA}{\texttt{ProbABEL}}
+\newcommand{\GA}{\texttt{GenABEL}}
+\newcommand{\DA}{\texttt{DatABEL}}
+
+\begin{document}
+\maketitle
+\tableofcontents
+
+%\begin{abstract}
+%This document describes ProbABEL package for analysis
+%of genome-wide imputed data \ldots
+%\end{abstract}
+
+\section{Motivation}
+
+Many statistical and experimental techniques, such as imputations and
+high-throughput sequencing, generate data which are informative for
+genome-wide association analysis and are probabilistic in the nature.
+
+When we work with directly genotyped markers using such techniques as
+SNP or microsatellite typing, we would normally know the genotype of
+a particular person at a particular locus with very high degree of
+confidence, and, in case of biallelic marker, can state whether
+the genotype is $AA$, $AB$ or $BB$.
+
+On the other hand, when dealing with imputed or high-throughput
+sequencing data, the genotypic status of the person is known with a
+much lower confidence. Instead of dealing with
+known genotypes we work with a probability distribution that is based
+on observed information, and we have estimates that the true underlying
+genotype is either $AA$, $AB$ or $BB$. The degree of confidence about
+the real status is measured with the probability distribution
+$\{P(AA), P(AB), P(BB)\}$.
+
+Several techniques may be applied to analyse such data. The most
+simplistic approach would be to pick up the genotype with highest
+probability, i.e.~$\max_g[P(g=AA), P(g=AB), P(g=BB)]$ and then
+analyse the data as if directly typed markers were used. The
+disadvantage of this approach is that it does not take into
+account the probability distribution -- i.e.~the uncertainty
+about the true genotypic status. Such
+analysis is statistically wrong: the estimates of association
+parameters (regression coefficients, odds or hazard ratios, etc.)
+are biased, and the bias becomes more pronounced with greater
+probability distribution uncertainty (entropy).
+
+One of the solutions that generate unbiased estimates
+of association parameters and takes the
+probability distribution into account is achieved by
+performing association analysis by means of regression of the
+outcome of interest onto estimated genotypic probabilities.
+
+The \PA{} package was designed to perform such regression
+in a fast, memory-efficient and, consequently, genome-wide feasible manner.
+Currently, \PA{} implements linear and logistic regression,
+as well as the Cox proportional hazards model. The corresponding analysis
+programs are called \texttt{palinear}, \texttt{palogist},
+and \texttt{pacoxph}.
+
+
+\section{Input files}
+\PA{} takes three files as input: a file containing SNP
+information (e.g.~the MLINFO file of MaCH), a file with genome- or
+chromosome-wide predictor information (e.g.~the MLDOSE or MLPROB file
+of MaCH or \texttt{minimac}),
+and a file containing the phenotype of interest and covariates.
+
+Optionally, the map information can be supplied (e.g.~the "legend"
+files of HapMap).
+
+The dose/probability file may be supplied in filevector format
+in which case \PA{} will operate much faster, and
+in low-RAM mode (approx.~128 MB). See the R libraries \GA{} and
+\DA{} on how to convert MaCH and IMPUTE2 files to
+filevector format (functions: \texttt{mach2databel()} and
+\texttt{impute2databel()}, respectively).
+
+\subsection{SNP information file}
+\label{ssec:infoin}
+In the simplest scenario, the SNP information file is an MLINFO
+file generated by MaCH/\texttt{minimac}. This must be a space or tab-delimited file
+containing SNP name, coding for allele 1 and 2 (e.g.~A, T, G or C),
+frequency of allele 1, minor allele frequency and two quality
+metrics (``Quality'', the average maximum posterior probability and
+``Rsq'', the proportion of variance decrease after imputations).
+
+Actually, for \PA{}, it (almost) does not matter what is written in
+this file -- this information is simply copied to the output. However,
+\textbf{it is critical} that the number of columns is
+seven\footnote{This means that for \texttt{minimac} output files the number of
+ columns needs to be reduced. This can be done using e.g.~GAWK or
+ \texttt{cut}.} and the number of lines in the file is equal to the
+number of SNPs in the corresponding DOSE file (plus one for the header
+line). Also make sure that the ``Rsq'' column contains values $>0$,
+otherwise you will end up with $\beta$'s set to \texttt{nan}.
+
+The example of SNP information file content follows here (also
+to be found in \texttt{ProbABEL/examples/test.mlinfo})
+
+\verbatiminput{test.mlinfo}
+Note that a header line is present in the file. The file describes
+five SNPs.
+
+\subsection{Genomic predictor file}
+\label{ssec:dosein}
+
+Again, in the simplest scenario this is an MLDOSE or MLPROB file
+generated by MaCH and/or \texttt{minimac}. Such file starts with two
+special columns plus, for each of the SNPs under consideration, a
+column containing the estimated allele 1 dose (MLDOSE). In an MLPROB
+file, two columns for each SNP correspond to posterior probability
+that person has two ($P_{A_1A_1}$) or one ($P_{A_1A_2}$) copies of
+allele 1. The first ``special'' column is made of the sequential id,
+followed by an arrow followed by study ID (the one specified in the
+MaCH input files). The second column contains the method keyword
+(e.g.~``MLDOSE'').
+
+An example of the few first lines of an MLDOSE file for
+five SNPs described in SNP information file follows here (also
+to be found in the file \texttt{ProbABEL/examples/test.mldose})
+
+\verbatiminput{short_test.mldose}
+%\immediate\write18{head -n 10 INSTALL > tmp.txt}
+
+
+\textbf{The order of SNPs in the SNP information file and DOSE or PROB
+ file must be the same}. This should be the case if you just used
+MaCH/\texttt{minimac} outputs.
+Consequently, the number of columns in the genomic predictor file
+must be the same as the number of lines in the SNP information file
+plus one in the case of a DOSE file. Similarly, for a PROB file the
+number of columns must be equal to two times the number of SNPs plus
+1.
+
+The dose/probability file may be supplied in filevector format
+(\texttt{.fvi} and \texttt{.fvd} files) in which case
+\texttt{ProbABEL} will operate much faster, and in low-RAM mode
+(approx.~128 MB). On the command line simply specify the \texttt{.fvi}
+file as argument for the \texttt{--dose} option
+(cf.~section~\ref{sec:runanalysis} for more information on the options
+accepted by \texttt{ProbABEL}). See the R libraries \GA{} and
+\DA{} on how to convert MaCH and IMPUTE files to
+filevector format (functions: \texttt{mach2databel()} and
+\texttt{impute2databel()}, respectively).
+
+
+\subsection{Phenotypic file}
+\label{ssec:phenoin}
+
+The phenotypic data file contains phenotypic data, but also specifies
+the analysis model. There is a header line, specifying the variable
+names. The first column should contain personal study IDs. It is
+assumed that \textbf{both the total number and the order of these IDs
+ are exactly the same as in the genomic predictor (DOSE/PROB) file
+ described in previous section}. This is not difficult to arrange
+using e.g.~\texttt{R}; an example is given in the \texttt{examples}
+directory.
+
+\textbf{Missing data should be coded with 'NA', 'N' or 'NaN' codes.} Any
+other coding will be converted to some number which will be used in
+analysis! E.g.~coding missing as '-999.9' will result in an analysis which
+will consider -999.9 as indeed a true measurements of the trait/covariates.
+
+In the case of linear or logistic regression (programs
+\texttt{palinear} and \texttt{palogist}, respectively), the second
+column specifies the trait under analysis, while the third, fourth,
+etc.~provide information on covariates to be included into analysis.
+As an example, a few lines of a phenotypic information file designed
+for linear regression analysis follow here (also to be found in
+\texttt{examples/height.txt})
+
+\verbatiminput{short_height.txt}
+Note again that the order of IDs is the same in the MLDOSE file
+and the phenotypic data file. The model specified by this file is
+\begin{equation*}
+\textrm{height} \sim \mu + \textrm{sex} + \textrm{age},
+\end{equation*}
+where $\mu$ is the intercept.
+
+Clearly, you can for example include \texttt{sex $\times$ age} interaction terms by
+specifying another column having a product of sex and age here.
+
+For logistic regression, it is assumed that in the second column cases are
+coded as ``1'' and controls as ``0''. An couple of example lines of a phenotypic
+information file designed for logistic regression analysis follow here (also
+to be found in \texttt{examples/logist\_data.txt})
+
+\verbatiminput{short_logist_data.txt}
+
+You can see that in the first 10 people, there are three cases, as indicated
+by ''chd'' equal to one. The model specified by this file
+is
+\begin{equation*}
+\textrm{chd} \sim \mu + \textrm{sex} + \textrm{age} +
+\textrm{other cov}.
+\end{equation*}
+
+In case of the Cox proportional hazards model, the composition of the
+phenotypic input file is a bit different. In the second column and
+third column, you need to specify the outcome in terms of follow-up
+time (column two) and event (column three, ``1'' if an event occurred
+and zero if censored). Columns starting from four (inclusive) specify
+covariates to be included into the analysis. An example few lines of
+a phenotypic information file designed for the Cox proportional hazards model
+analysis follow here (also to be found in
+\texttt{examples/coxph\_data.txt})
+
+\verbatiminput{short_coxph_data.txt}
+You can see that for the first ten people, the event occurs for three of
+them, while for the other seven there is no event during the follow-up
+time, as indicated by the ``chd'' column. Follow-up time is specified in the preceding
+column. The covariates included into the model are age (presumably
+at baseline), sex and ``othercov''; thus the model, in terms of
+\texttt{R/survival} is
+\begin{equation*}
+\textrm{Surv}(\textrm{fuptime\_chd}, \textrm{chd})
+\sim \textrm{sex} + \textrm{age} + \textrm{other cov}.
+\end{equation*}
+
+\subsection{Optional map file}
+If you would like map information (e.g.~base pair position) to
+be included in your outputs, you can supply a map file. These follow
+HapMap "legend" file format. For example, for the five SNPs we considered
+the map-file may look like (example can be found in
+\texttt{examples/test.map})
+
+\verbatiminput{test.map}
+
+The order of the SNPs in the map file should follow that in the SNP information
+file. Only information from the second column -- the SNP location -- is
+actually used to generate the output.
+
+\section{Running an analysis}
+\label{sec:runanalysis}
+To run linear regression, you should use the program called
+\texttt{palinear}; for logistic analysis use \texttt{palogist}, and
+for the Cox proportional hazards model use \texttt{pacoxph} (all are
+found in the \texttt{bin/} directory after you have compiled the
+program).
+
+There are in total 11 command line options you can specify to the
+\PA{} analysis functions \texttt{palinear} or \texttt{palogist}. If
+you run either program with the \texttt{--help} option, you will get a
+short explanation to the command line options:
+\begin{verbatim}
+user at server:~$ palogist --help
+probabel v. 0.4.1
+(C) Yurii Aulchenko, Lennart C. Karssen, Maksim Struchalin, EMCR
+
+Using EIGEN version 3.1.2 for matrix operations
+
+Usage: src/palogist options
+Options:
+ --pheno : phenotype file name
+ --info : information (e.g. MLINFO) file name
+ --dose : predictor (e.g. MLDOSE/MLPROB) file name
+ --map : [optional] map file name
+ --nids : [optional] number of people to analyse
+ --chrom : [optional] chromosome (to be passed to output)
+ --out : [optional] output file name (default is regression.out.txt)
+ --skipd : [optional] how many columns to skip in the predictor
+ (dose/prob) file (default 2)
+ --ntraits : [optional] how many traits are analysed (default 1)
+ --ngpreds : [optional] how many predictor columns per marker
+ (default 1 = MLDOSE; else use 2 for MLPROB)
+ --separat : [optional] character to separate fields (default is space)
+ --score : use score test
+ --no-head : do not report header line
+ --allcov : report estimates for all covariates (large outputs!)
+ --interaction: Which covariate to use for interaction with SNP analysis (default is no interaction, 0)
+ --interaction_only: like previous but without covariate acting in interaction with SNP (default is no interaction, 0)
+ --mmscore : score test in samples of related individuals. File with inverse of variance-covariance matrix (for palinear) or inverse correlation (for palogist) as input parameter
+ --robust : report robust (aka sandwich, aka Hubert-White) standard errors
+ --help : print help
+\end{verbatim}
+More information on the options can also be found in the manual page
+of each of the programs. For example, to access the manual page for
+\texttt{palinear} on a Linux system run\footnote{Use the \texttt{q}
+ key to quit the man page viewer.}:
+\begin{verbatim}
+user at server$ man palinear
+\end{verbatim}
+
+
+\subsection{Basic analysis options}
+However, for a simple run only three options are mandatory, which
+specify the necessary files needed to run the regression analysis.
+
+These options are
+\texttt{--dose} (or \texttt{-d}),
+specifying the genomic predictor/MLDOSE file described in section \ref{ssec:dosein};
+\texttt{--pheno} (or \texttt{-p}),
+specifying the phenotypic data file described in section \ref{ssec:phenoin}; and
+\texttt{--info} (or \texttt{-i}),
+specifying the SNP information file described in section \ref{ssec:infoin}.
+
+If you change to the \texttt{examples} directory you can run
+an analysis of height by running
+\begin{verbatim}
+user at server:~/ProbABEL/examples/$ ../bin/palinear -p height.txt \
+ -d test.mldose -i test.mlinfo
+\end{verbatim}
+Output from the analysis will be directed to the
+\texttt{regression.out.csv} file.
+
+The analysis of a binary trait (e.g.~chd) can be run with
+\begin{verbatim}
+user at server:~/ProbABEL/examples/$ ../bin/palogist -p logist_data.txt \
+ -d test.mldose -i test.mlinfo
+\end{verbatim}
+
+To run a Cox proportional hazards model, try
+\begin{verbatim}
+user at server:~/ProbABEL/examples/$ ../bin/pacoxph -p coxph_data.txt \
+ -d test.mldose -i test.mlinfo
+\end{verbatim}
+
+Please have a look at the shell script files \texttt{example\_qt.sh},
+\texttt{example\_bt.sh} and \texttt{example\_all.sh} to have
+a better overview of the analysis options.
+
+To run an analysis with MLPROB files, you need specify the MLPROB file
+with the \texttt{-d} option and also specify that there are two
+genetic predictors per SNP, e.g.~you can run linear model with
+\begin{verbatim}
+user at server:~/ProbABEL/examples/$ ../bin/palinear -p height.txt \
+ -d test.mlprob -i test.mlinfo \
+ --ngpreds=2
+\end{verbatim}
+
+\subsection{Advanced analysis options}
+The option \texttt{--interaction} allows you to include interaction
+between SNPs and any covariate. If for example your model is
+\begin{equation*}
+ \textrm{trait} \sim \textrm{sex} + \textrm{age} + \textrm{SNP},
+\end{equation*}
+running the program with the option \texttt{--interaction=2} will model
+\begin{equation*}
+ \textrm{trait} \sim \textrm{sex} + \textrm{age} + \textrm{SNP} +
+ \textrm{age} \times \mathrm{SNP}.
+\end{equation*}
+The option \texttt{--robust} allows you to compute so-called
+``robust'' (a.k.a.~``sandwich'', a.k.a.~Hubert-White) standard errors
+(cf.~section \ref{sec:methodology} ``Methodology'' for details).
+
+With the option \texttt{--mmscore} a score test for association
+between a trait and genetic polymorphisms in samples of related
+individuals is performed. For quantitative traits (\texttt{palinear})
+a file with the inverse of the variance-covariance matrix goes as input
+parameter with that option, e.g.~\texttt{--mmscore <filename>}. The
+file has to contain the first column with id names exactly like in
+phenotype file, BUT OMITTING people with no measured phenotype. The
+rest is a matrix. The phenotype file in case of using the
+\texttt{--mmscore} argument may contain any amount of covariates (this
+is different from previous versions). The first column contains id
+names, the second the trait. The others are covariates.
+
+For binary traits (\texttt{palogist}) the file should contain the
+inverse of the correlation matrix. \textbf{Note: this is an
+ experimental feature!} This matrix can be obtained through (in
+GenABEL notation):
+\begin{verbatim}
+ h2.obj$InvSigma * h2.obj$h2an$estimate[length(h2.obj$h2an$estimate)]
+\end{verbatim}
+where \texttt{h2.obj} is the object returned by GenABEL's
+\texttt{polygenic()}. The GenABEL documentation explains this
+procedure in more detail.
+
+An example of how a polygenic object estimated by \GA{} can be used
+with ProbABEL is provided in \texttt{examples/mmscore.R}
+
+Though technically \texttt{--mmscore} allows for inclusion of multiple
+covariates, these should be kept to minimum as this is a score test. We
+suggest that any covariates explaining an essential proportion of
+variance should be fit as part of \GA{}'s
+\texttt{polygenic} procedure.
+
+%Option \texttt{--interaction\_only} is like \texttt{--interaction} but does not
+%include in the model the main effect of the covariate, which is acting in
+%interaction with SNP. This option is useful when running \texttt{--mmscore},
+%in which case the main effect should normally estimated in the polygenic
+%model and only the interaction term in the \PA{} analysis.
+
+\subsection{Running multiple analyses at once: \texttt{probabel.pl}}
+The Perl script \texttt{bin/probabel.pl} represents a handy wraper for
+\PA{} functions. To start using it the configuration file
+\texttt{etc/probabel\_config.cfg.example} needs to be edited and
+renamed to \texttt{etc/probabel\_config.cfg}. The configuration file
+consists of five columns, separated by commas. Each column except the
+first is a pattern for files produced by MaCH or \texttt{minimac}
+(imputation tools). The column named ``cohort'' is an identifying name
+of a population (``STUDY\_1'' in the example), the column
+``info\_path'' is the full path to ``info'' files, including a pattern
+where the chromosome number has been replaced by
+\texttt{\_.\_chr\_.\_}. In case the imputations were run on chunks of
+chromosomes, the pattern \texttt{\_.\_chunk\_.\_} will be replaced
+with the corresponding chunk number. Chunk numbers should start at 1
+for each chromosome. The columns ``dose\_path'', ``prob\_path''
+and ``legend\_path'' are paths and patterns for ``dose'', ``prob'' and
+``legend'' files, respectively. These also need to include the pattern
+for the chromosome as used in the column for the ``info'' files.
+Empty lines and lines starting with a \texttt{\#} are ignored.
+
+The \texttt{make install} installation procedure should have set all
+paths in the \texttt{probabel.pl} script correctly. If that is not the
+case you will have to change the variable \texttt{\$config} in the
+script to point to the full path of the configuration file and the
+variables \texttt{\$base\_path} and \texttt{@anprog} to point the full
+path to the \PA{} scripts.
+
+
+\section{Output file format}
+Let us consider what comes out of the linear regression analysis
+described in the previous section. After the analysis has run, in
+the output file you will find something like
+\begin{small}
+\verbatiminput{short_height_base_add.out.txt.save}
+\end{small}
+
+Here, only the first three lines of output have been shown. Note that lines
+starting with \texttt{+>} are actually the ones continuing the
+previous line -- they have just been wrapped so we can see
+these long lines.
+
+The header provides a short description of what can be found in a
+specific column. The first column provides the SNP name and
+next six are descriptions which were taken directly from the
+SNP information file. Therefore, these describe allele frequencies and
+the quality in your total imputations, not necessarily in the data under
+analysis.
+
+In contrast, starting with the next column, named \texttt{n},
+the output concerns the data analysed. Column 8 (\texttt{n}) tells the
+number of subjects for whom complete phenotypic information was
+available. At this point, unless you have complete measurements on all
+subjects, you should feel alarmed if the number here is exactly the
+number of people in the file -- this may indicate you did not code
+missing values according to \PA{} format ('NA', 'NaN', or 'N').
+
+The next column, nine (``Mean\_predictor\_allele''), gives the estimated
+frequency of the predictor allele (\texttt{A1}) in subjects with complete
+phenotypic data.
+
+If the \texttt{--chrom} option was used, in the next column you will
+find the value specified by this option. If \texttt{--map} option was
+used, in the subsequent column you will find map location taken from
+the map-file. The subsequent columns provide coefficients of
+regression of the phenotype onto the genotype ($\beta$), corresponding
+standard errors ($\text{SE}_\beta$), and the $\chi^2$ test value based
+on the likelihood ratio test. Note that for the additive, recessive,
+dominant and overdominant genetic models this is a $\chi^2$ of 1
+degree of freedom (df), whereas for the genotypic model this is a
+$\chi^2$ of 2df. If the \texttt{--mmscore} option is used, the
+$\chi^2$ values are calculated from the Wald statistic
+(1df)\footnote{For the genotypic (2df) model the $\chi^2$ values can't
+ be simply calculated using the Wald statistic, consequently the
+ $\chi^2$ values are set to \texttt{nan}. A fix for this needs to be
+ implemented still.}.
+
+\section{Preparing input files}
+After installing \PA{} you can find the \texttt{prepare\_data.R} file
+in the \texttt{scripts} directory. It is an R script that arranges
+phenotypic data in the right format. Please read this script for
+details.
+
+\section{Memory use and performance}
+Maximum likelihood regression is implemented in
+\PA{}. With 6,000 people and 2.5 million SNPs, a
+genome-wide scan is completed in less that an hour for a linear model
+with 1-2 covariates and overnight for logistic regression or the Cox
+proportional hazards model (figures for a PC bought back in 2007).
+
+Memory may be an issue with \PA{} if you use MaCH/\texttt{minimac}
+text dose/probability files, e.g. for large chromosomes, such as
+chromosome one consumed up to 5 GB of RAM with 6,000 people.
+
+We suggest that the genotype dosage/probability file is to be supplied
+in filevector format in which case \PA{} will operate about 2-3 times
+faster, and in low-RAM mode (approx.~128 MB). See the R libraries
+\GA{} and \DA{} on how to convert MaCH and IMPUTE files to filevector
+format (functions: \texttt{mach2databel()} and
+\texttt{impute2databel()}, respectively).
+
+When the \texttt{--mmscore} option is used, the analysis takes
+more time.
+
+\section{Methodology}
+\label{sec:methodology}
+\subsection{Analysis of population-based data}
+\subsubsection{Linear regression assuming normal distribution}
+Standard linear regression theory is used to estimate coefficients of
+regression and their standard errors. We assume a linear model with
+expectation
+\begin{equation}
+ E[\mathbf{Y}] = \mathbf{X}\, \boldsymbol{\beta}
+\label{eq:expectation}
+\end{equation}
+and variance-covariance matrix
+$$
+\mathbf{V} = \sigma^2 \mathbf{I},
+$$
+where $\mathbf{Y}$ is the vector of phenotypes of interest,
+$\mathbf{X}$ is the design matrix, $\boldsymbol{\beta}$ is the vector
+of regression parameters, $\sigma^2$ is the variance and $\mathbf{I}$
+is the identity matrix.
+
+The maximum likelihood estimates (MLEs) for the regression parameters
+are given by
+\begin{equation}
+ \hat{\beta} = (\mathbf{X}^T \mathbf{X})^{-1} \mathbf{X}^T \mathbf{Y}
+\end{equation}
+and the MLE of the residual variance is
+\begin{equation}
+ \hat{\sigma}^2 = \frac{(\mathbf{Y} - \mathbf{X}\hat{\beta})^T
+ (\mathbf{Y} - \mathbf{X}\hat{\beta})} {N-r_X},
+\end{equation}
+where $N$ is the number of observations and $r_X$ is the rank of
+$\mathbf{X}$ (i.e.~the number of columns of the design matrix).
+
+The variance-covariance matrix for the parameter estimates under
+alternative hypothesis can be computed as
+\begin{equation}
+\var_{\hat{\beta}} = \hat{\sigma}^2 (\mathbf{X}^T\mathbf{X})^{-1}.
+\end{equation}
+
+For the $j$-the element $\hat{\beta}(j)$ of the vector of estimates the standard
+error under the alternative hypothesis is given by the square root of the
+corresponding diagonal element of the above matrix, $\var_{\hat{\beta}}(jj)$,
+and the Wald test can be computed with
+$$
+T^2(j) = \frac{ \hat{\beta}(j)^2 }{ \var_{\hat{\beta}}(jj) },
+$$
+which asymptotically follows the $\chi^2$ distribution with one degree of
+freedom under the null hypothesis.
+
+When testing significance for more than one parameter simultaneously,
+several alternatives are available. Let us first partition the vector of
+parameters into two components, $\beta = (\beta_g,\beta_x)$, and our
+interest is testing the parameters contained in $\beta_g$ (SNP effects),
+while $\beta_x$ (e.g. effects of sex, age, etc.) are considered nuisance
+parameters. Let us define the vector of the parameters of interest
+which are fixed to certain values under the null hypothesis as
+$\beta_{g,0}$.
+
+Firstly, the likelihood ratio test can be obtained with
+$$
+LRT = 2 \left(\mathrm{logLik}(\hat{\beta}_g,\hat{\beta}_x) -
+\mathrm{logLik}(\beta_{g,0},\hat{\beta}_x) \right),
+$$
+which under the null hypothesis is asymptotically distributed as
+$\chi^2$ with the
+number of degrees of freedom equal to the number of parameters specified
+by $\beta_g$. Assuming the normal distribution, the log-likelihood of a
+model specified by the vector of parameters $\beta$ and residual variance
+$\sigma^2$ can be computed as
+$$
+\mathrm{logLik}(\beta,\sigma^2) =
+-\frac{1}{2} \left( N \cdot \log_e \sigma^2 +
+(\mathbf{Y} - \beta \mathbf{X})^T (\mathbf{I}/\sigma^2) (\mathbf{Y} -
+\beta \mathbf{X}) \right).
+$$
+
+Secondly, the Wald test can be used; for that the inverse
+variance-covariance matrix of $\hat{\beta}_g$ should be computed as
+$$
+\var_{\hat{\beta}_g}^{-1} = \var_{\hat{\beta}}^{-1}(g,g) -
+\var_{\hat{\beta}}^{-1}(g,x) \left(
+ \var_{\hat{\beta}}^{-1}(x,x) \right)^{-1}
+ \var_{\hat{\beta}}^{-1}(x,g),
+$$
+where $\var_{\hat{\beta}}^{-1}(a,b)$ correspond to sub-matrices of the
+inverse of the variance-covariance matrix of $\hat{\beta}$, involving
+either only parameters of interest $(g,g)$, nuisance parameters
+$(x,x)$ or combination of these $(x,g)$, $(g,x)$.
+
+The Wald test statistics is then computed as
+$$
+W^2 = (\hat{\beta}_g - \beta_{g,0})^T \,
+\var_{\hat{\beta}_g}^{-1} (\hat{\beta}_g - \beta_{g,0}),
+$$
+which asymptotically follows the $\chi^2$ distribution with the number
+of degrees of freedom equal to the number of parameters specified by
+$\beta_g$. The Wald test generally is computationally easier than the
+LRT, because it avoids estimation of the model specified by the
+parameter's vector $(\beta_{g,0},\hat{\beta}_x)$.
+
+Lastly, similar to the Wald test, the score test can be performed by use
+of $\var_{(\beta_{g,0},\hat{\beta}_x)}$ instead of $\var_{\hat{\beta}}$.
+
+%% Comparative advantages of these testing approaches in the context of GWAS will be discussed in
+%% ''\titleref{implementation}'' section (\ref{implementation}).
+
+\subsubsection{Logistic regression}
+For logistic regression, the procedure to obtain
+parameters estimates, their variance-covariance matrix, and tests are
+similar to these outlined above with several modifications.
+
+The expectation of the binary trait is defined as the expected
+probability of the event as defined by the logistic
+function
+$$
+E[\mathbf{Y}] = \pi = \frac{ 1 }{ 1 + e^{-(\mathbf{X}\beta)} }.
+$$
+The estimates of the parameters are obtained not in one
+step, as is the case of the linear model, but using an iterative
+procedure (iteratively re-weighted least squares). This
+procedure is not described here for the sake of brevity.
+
+The log-likelihood of the data is computed using the
+binomial probability formula:
+$$
+\mathrm{logLik}(\beta) = \mathbf{Y}^T \log_e \pi + (\mathbf{1} -
+\mathbf{Y})^T \log_e (\mathbf{1}-\pi),
+$$
+where $\log_e \pi$ is a vector obtained by taking the natural
+logarithm of every value contained in the vector $\pi$.
+
+\subsubsection{Robust variance-covariance matrix of parameter estimates}
+For a linear model, these are computed using the equation
+$$
+\var_r = (\mathbf{X}^T\mathbf{X})^{-1} (\mathbf{X}^T\mathbf{R}\mathbf{X})
+(\mathbf{X}^T\mathbf{X})^{-1},
+$$
+where $\mathbf{R}$ is a diagonal matrix containing squares of residuals
+of $\mathbf{Y}$. The
+same equation may be used for ``standard'' analysis, in which case
+the elements of the $\mathbf{R}$ matrix are constant, namely the mean
+residual sum of squares (the estimate of $\sigma^2$).
+
+Similar to that, the robust matrix is computed for logistic regression with
+$$
+\var_r = (\mathbf{X}^T \mathbf{W} \mathbf{X})^{-1} (\mathbf{X}^T\mathbf{R}\mathbf{X})
+(\mathbf{X}^T \mathbf{W} \mathbf{X})^{-1},
+$$
+where $\mathbf{1}$ is the vector of ones and $\mathbf{W}$ is the diagonal matrix
+of ''weights'' used in logistic regression.
+
+
+\subsubsection{Cox proportional hazards model}
+The implementation of the Cox proportional hazard model used
+\index{Cox proportional hazards model}
+\index{proportional hazards model}
+\index{regression!Cox proportional hazards}
+in \PA{} is entirely based on the code of \texttt{R}
+library \texttt{survival} developed by Thomas Lumley
+(function \texttt{coxfit2}), and is therefore not described here.
+
+Many thanks to Thomas for making his code available under GNU GPL!
+
+\subsection{Analysis of pedigree data}
+The framework for analysis of pedigree data follows the two-step logic
+developed in the works of Aulchenko \emph{et al}. (2007) and Chen and
+Abecasis (2007). The general analysis model is a linear mixed model
+where the expectation of the trait is defined as
+$$
+E[\mathbf{Y}] = \mathbf{X} \mathbf{\beta},
+$$
+identical to that defined for a linear model
+(cf.~Eq.~\ref{eq:expectation}). To account for correlations between
+the phenotypes of relatives which may be induced by family relations
+the variance-covariance matrix is defined to be proportional to the
+linear combination of the identity matrix $\mathbf{I}$ and the
+relationship matrix $\mathbf{\Phi}$:
+$$
+\mathbf{V}_{\sigma^2,h^2} = \sigma^2 \left( 2 h^2 \mathbf{\Phi} + (1-h^2)
+\mathbf{I} \right),
+$$
+where $h^2$ is the heritability of the trait. The relationship matrix
+$\mathbf{\Phi}$ is twice the matrix containing the coefficients of
+kinship between all pairs of individuals under consideration; its
+estimation is discussed separately in section \ref{kinship}.
+
+Estimation of a model defined in such a way is possible by numerical
+maximization of the likelihood function, however, the estimation of
+this model for large pedigrees is laborious, and is not
+computationally feasible for hundreds of thousands to millions of SNPs
+to be tested in the context of GWAS, as we have demonstrated
+previously (Aulchenko \emph{et al}., 2007).
+
+\subsubsection{Two-step score test for association}
+A two-step score test approach is therefore used to decrease the
+computational burden. Let us first re-define the expectation of the
+trait by splitting the design matrix in two parts, the ``base'' part
+$\mathbf{X}_x$, which includes all terms not changing across all SNP
+models fit in GWAS (e.g.\ effects of sex, age, etc.), and the part
+including SNP information, $\mathbf{X_g}$:
+$$
+E[\mathbf{Y}] = \mathbf{X}_x \mathbf{\beta}_x +
+\mathbf{X}_g \mathbf{\beta}_g.
+$$
+Note that the latter design matrix may include not only the main SNP
+effect, but e.g.\ SNP by environment interaction terms.
+
+In the first step, a linear mixed model not including SNP effects
+$$
+E[\mathbf{Y}] = \mathbf{X}_x \mathbf{\beta}_x
+$$
+is fitted. The maximum likelihood estimates (MLEs) of the model
+parameters (regression coefficients for the fixed effects
+$\hat{\mathbf{\beta}}_x$, the residual variance $\hat{\sigma}^2_x$ and
+the heritability $\hat{h}^2_x$) can be obtained by numerical
+maximization of the likelihood function
+$$
+\mathrm{logLik}(\beta_x,h^2,\sigma^2) = -\frac{1}{2} \left(
+ \log_e|\mathbf{V}_{\sigma^2,h^2}| + (\mathbf{Y} - \beta_x
+ \mathbf{X}_x)^T \, \mathbf{V}_{\sigma^2,h^2}^{-1} \, (\mathbf{Y} -
+ \beta_x \mathbf{X}_x) \right ),
+$$
+where $\mathbf{V}_{\sigma^2,h^2}^{-1}$ is the inverse and
+$|\mathbf{V}_{\sigma^2,h^2}|$ is the determinant of the
+variance-covariance matrix.
+
+In the second step, the unbiased estimates of the fixed effects of the
+terms involving SNP are obtained with
+$$
+\hat{\beta}_g = (\mathbf{X}^T_g
+\mathbf{V}^{-1}_{\hat{\sigma}^2,\hat{h}^2}
+\mathbf{X}_g)^{-1}
+\mathbf{X}^T_g \mathbf{V}^{-1}_{\hat{\sigma}^2,\hat{h}^2}
+\mathbf{R}_{\hat{\beta}_x},
+$$
+where $\mathbf{V}^{-1}_{\hat{\sigma}^2,\hat{h}^2}$ is the inverse
+variance-covariance matrix at the point of the MLE estimates of
+$\hat{h}^2_x$ and $\hat{\sigma}^2_x$, and $\mathbf{R}_{\hat{\beta}_x}
+= \mathbf{Y} - \hat{\beta}_x \mathbf{X}_x$ is the vector of residuals
+obtained from the base regression model. Under the null model, the
+inverse variance-covariance matrix of the parameter's estimates is
+defined as
+$$
+\var_{\hat{\beta}_g} = \hat{\sigma}^2_x (\mathbf{X}^T_g \mathbf{V}^{-1}_{\hat{\sigma}^2,\hat{h}^2} \mathbf{X}_g)^{-1}.
+$$
+Thus the score test for joint significance of the terms involving SNP
+can be obtained with
+$$
+T^2 = (\hat{\beta}_g - \beta_{g,0})^T \,
+\var_{\hat{\beta}_g}^{-1} (\hat{\beta}_g - \beta_{g,0}),
+$$
+where $\beta_{g,0}$ are the values of parameters fixed under the null
+model. Under the null hypothesis this test statistic asymptotically
+follows the $\chi^2$ distribution with the number of degrees of
+freedom equal to the number of parameters tested. The significance of
+an individual $j$-th element of the vector $\hat{\beta}_g$ can be
+tested with
+$$
+T^2_j = \hat{\beta}_{g}^2(j) \var_{\hat{\beta}_g}^{-1}(jj),
+$$
+where $\hat{\beta}_{g}^2(j)$ is the square of the $j$-th element of
+the vector of estimates $\hat{\beta}_{g}$, and
+$\var_{\hat{\beta}_g}^{-1}(jj)$ corresponds to the $j$-th diagonal
+element of $\var_{\hat{\beta}_g}^{-1}$. The latter statistic
+asymptotically follows $\chi^2_1$.
+
+\subsubsection{Estimation of the kinship matrix}
+\label{kinship}
+
+The relationship matrix $\mathbf{\Phi}$ used in estimation of the
+linear mixed model for pedigree data is twice the matrix containing
+the coefficients of kinship between all pairs of individuals under consideration.
+This coefficient is defined as the probability that two gametes randomly sampled
+from each member of the pair are identical-by-descent (IBD), that is they are copies
+of exactly the same ancestral allele. The expectation of kinship
+can be estimated from pedigree data using standard methods, for example the
+kinship for two outbred sibs is $1/4$, for grandchild-grandparent is $1/8$, etc.
+For an outbred person, the kinship coefficient is $1/2$ -- that is two gametes
+sampled from this person at random are IBD only if the same gamete is
+sampled. However, if the person is inbred, there is a chance that a maternal
+and paternal chromosomes are also IBD. The probability of this is characterized
+by kinship between individual's parents, which is defined as the individual's
+inbreeding coefficient, $F$. In this case, the kinship coefficient for the
+individual is $F + 1/2$. Similar logic applies to computation of the kinship
+coefficient for other types of pairs in inbred pedigrees.
+
+The kinship matrix can be computed using the pedigree data using standard methods.
+However, in many cases, pedigree information may be absent, incomplete, or not
+reliable. Moreover, the estimates obtained using pedigree data reflect the
+expectation of the kinship, while the true realization of kinship may vary
+around this expectation. In presence of genomic data it may therefore be
+desirable to estimate the kinship coefficient from these, and not from pedigree.
+It can be demonstrated that unbiased and positive semi-definite estimator
+of the kinship matrix can be obtained (Astle and Balding, 2010; Amin \emph{et al.}, 2007)
+by computing the kinship coefficients between individuals $i$ and $j$ with
+$$
+\hat{K}_{ij} = \frac{1}{L} \sum_{l=1}^L \frac{ (g_{l,i} - p_l) (g_{l,j} - p_l) }{ p_l (1-p_l) }
+$$
+where $L$ is the number of loci, $p_l$ is the allelic frequency at $l$-th locus
+and $g_{l,j}$ is the genotype of $j$-th person at the $l$-th locus, coded
+as $0$, $1/2$, and $1$, corresponding to the homozygous, heterozygous, and
+other type of homozygous genotype. The frequency is computed for the allele
+which, when homozygous, corresponds to the genotype coded as ``1''.
+
+
+\section{How to cite}
+
+If you used \PA{} for your analysis please give a link to the
+\texttt{GenABEL project} home page
+\begin{quote}
+\url{http://www.genabel.org/}
+\end{quote}
+and cite the \PA{} paper to give us some credit:
+\begin{quote}
+Aulchenko YS, Struchalin MV, van Duijn CM.\\
+\emph{ProbABEL package for genome-wide association analysis of imputed data.}\\
+BMC Bioinformatics. 2010, 11:134.
+\end{quote}
+A proper reference may look like
+\begin{quote}
+For the analysis of imputed data, we used the \PA{} v.0.4.1
+from the \texttt{GenABEL} suite of programs (Aulchenko \emph{et al.}, 2010).
+\end{quote}
+
+If you have used the Cox proportional hazard model, please mention the
+\texttt{R} package \texttt{survival} by Thomas Lumley. Additionally
+to the above citation, please include
+\begin{quote}
+The Cox proportional hazards model implemented in \PA{}
+makes use of the source code of the \texttt{R} package ''\texttt{survival}''
+as implemented by T. Lumley.
+\end{quote}
+
+
+%\subsection{Generalized linear models}
+
+%Let us define linear predictor $\eta$ as
+%$$
+%\eta = \mathbf{X} \beta
+%$$
+%For regular linear regression model described in previous section
+%this linear predictor models the expectation of the trait of interest,
+%while
+
+%\begin{table}
+%\begin{center}
+%\caption{Link .. functions}
+%\begin{tabular}{lccc}
+%\hline
+%Distribution & $\mu$ & $\tau^2$ & $v(\mu)$ \\
+%\hline
+%Normal & $\eta$ & $\sigma^2$ & \\
+%Binomial & $1/(1+e^{-\eta})$ & & \\
+%Poisson & $e^{\eta}$ & & \\
+%\hline
+%\end{tabular}
+%\end{center}
+%\end{table}
+
+%Iteratively re-weighted least squares are used to obtain parameters'
+%estimates.
+
+\printindex
+
+\end{document}
diff --git a/doc/QuickStart.txt b/doc/QuickStart.txt
new file mode 100644
index 0000000..95d0a61
--- /dev/null
+++ b/doc/QuickStart.txt
@@ -0,0 +1,9 @@
+- Read the doc/INSTALL file for instructions on how to compile the program.
+- Go to the "example" directory
+- Run a binary trait analysis by typing:
+ sh example_bt.sh
+- Run a quantitative trait analysis with
+ sh example_qt.sh
+- Run complete analysis including preparing the files with
+ sh example_all.sh
+- Inspect the .sh files to understand how to run the programs.
diff --git a/doc/TODO b/doc/TODO
new file mode 100644
index 0000000..1adce4f
--- /dev/null
+++ b/doc/TODO
@@ -0,0 +1,3 @@
+* Repeated measurements / GEE
+* Robust variances for Cox
+* Add p-values to the output
diff --git a/doc/pacoxph.1 b/doc/pacoxph.1
new file mode 100644
index 0000000..952b0a8
--- /dev/null
+++ b/doc/pacoxph.1
@@ -0,0 +1,79 @@
+.TH pacoxph 1 "29 August 2013"
+.SH NAME
+pacoxph \- Perform Genome-Wide Association Analysis using a linear model
+.SH SYNOPSIS
+.B pacoxph
+.RI "[ " "command-line options" " ]"
+.SH DESCRIPTION
+.I pacoxph
+runs a linear regression on large imputed data sets in an efficient way.
+.SH Options
+.SS Required command line options
+.TP
+.BI "\-p, \-\^\-pheno" " FILE"
+Read phenotype data from
+.I FILE
+.TP
+.BI "\-i, \-\^\-info" " FILE"
+Read SNP information from
+.I FILE
+(e.g. MLINFO file).
+.TP
+.BI "\-d, \-\^\-dose" " FILE"
+SNP predictor (e.g. MLDOSE/MLPROB) file name.
+.SS Optional command line options
+.TP
+.BI "\-m, \-\^\-map" " FILE"
+Map file name, containing base pair positions for each SNP.
+.TP
+.BI "\-n, \-\^\-nids" " NUMBER"
+Number of people to analyse.
+.TP
+.BI "\-c, \-\^\-chrom" " FILE"
+Chromosome (to be passed to output).
+.TP
+.BI "\-o, \-\^\-out" " FILE"
+Output file name (default is
+.B regression.out.txt
+).
+.TP
+.BI "\-s, \-\^\-skipd" " NUMBER"
+How many columns to skip in predictor (dose/prob) file (default is 2).
+.TP
+.BI "\-t, \-\^\-ntraits" " NUMBER"
+How many traits are analysed (default is 2).
+.TP
+.BI "\-g, \-\^\-ngpreds" " NUMBER"
+How many predictor columns per marker (default 1 = MLDOSE; else use 2 for MLPROB).
+.TP
+.B "\-a, \-\^\-separat" " FILE"
+Character to separate fields (default is space).
+.TP
+.B \-r, \-\^\-score
+Use the score test.
+.TP
+.B \-e, \-\^\-no-head
+Do not report header line in the output.
+.TP
+.B \-l \-\^\-allcov
+Report estimates for all covariates (large outputs!).
+.TP
+.B \-b, \-\^\-interaction
+Which covariate to use for interaction with SNP analysis (default is no interaction, 0).
+.TP
+.B \-k, \-\^\-interaction_only
+Like
+.B \-\^\-interaction
+but without covariate acting in interaction with SNP (default is no interaction, 0).
+.TP
+.B \-\^\-help
+Print help.
+
+.SH "SEE ALSO"
+palinear(1), palogist(1)
+.SH BUGS
+The bugtracker is located at
+.br
+https://r-forge.r-project.org/tracker/?group_id=505
+.SH AUTHORS
+Lennart C. Karssen
diff --git a/doc/palinear.1 b/doc/palinear.1
new file mode 100644
index 0000000..36b5fd0
--- /dev/null
+++ b/doc/palinear.1
@@ -0,0 +1,85 @@
+.TH palinear 1 "29 August 2013"
+.SH NAME
+palinear \- Perform Genome-Wide Association Analysis using a linear model
+.SH SYNOPSIS
+.B palinear
+.RI "[ " "command-line options" " ]"
+.SH DESCRIPTION
+.I palinear
+runs a linear regression on large imputed data sets in an efficient way.
+.SH Options
+.SS Required command line options
+.TP
+.BI "\-p, \-\^\-pheno" " FILE"
+Read phenotype data from
+.I FILE
+.TP
+.BI "\-i, \-\^\-info" " FILE"
+Read SNP information from
+.I FILE
+(e.g. MLINFO file).
+.TP
+.BI "\-d, \-\^\-dose" " FILE"
+SNP predictor (e.g. MLDOSE/MLPROB) file name.
+.SS Optional command line options
+.TP
+.BI "\-m, \-\^\-map" " FILE"
+Map file name, containing base pair positions for each SNP.
+.TP
+.BI "\-n, \-\^\-nids" " NUMBER"
+Number of people to analyse.
+.TP
+.BI "\-c, \-\^\-chrom" " FILE"
+Chromosome (to be passed to output).
+.TP
+.BI "\-o, \-\^\-out" " FILE"
+Output file name (default is
+.B regression.out.txt
+).
+.TP
+.BI "\-s, \-\^\-skipd" " NUMBER"
+How many columns to skip in predictor (dose/prob) file (default is 2).
+.TP
+.BI "\-t, \-\^\-ntraits" " NUMBER"
+How many traits are analysed (default is 1).
+.TP
+.BI "\-g, \-\^\-ngpreds" " NUMBER"
+How many predictor columns per marker (default 1 = MLDOSE; else use 2 for MLPROB).
+.TP
+.B "\-a, \-\^\-separat" " FILE"
+Character to separate fields (default is space).
+.TP
+.B \-r, \-\^\-score
+Use the score test.
+.TP
+.B \-e, \-\^\-no-head
+Do not report header line in the output.
+.TP
+.B \-l \-\^\-allcov
+Report estimates for all covariates (large outputs!).
+.TP
+.B \-b, \-\^\-interaction
+Which covariate to use for interaction with SNP analysis (default is no interaction, 0).
+.TP
+.B \-k, \-\^\-interaction_only
+Like
+.B \-\^\-interaction
+but without covariate acting in interaction with SNP (default is no interaction, 0).
+.TP
+.BI "\-v, \-\^\-mmscore" " FILE"
+Score test in samples of related individuals. The FILE argument is the name of a file with the inverse of the variance-covariance matrix.
+.TP
+.B \-u, \-\^\-robust
+Report robust (a.k.a. sandwich, a.k.a. Hubert-White) standard errors.
+.TP
+.B \-\^\-help
+Print help.
+
+.SH "SEE ALSO"
+palogist(1), pacoxph(1)
+.SH BUGS
+The bugtracker is located at
+.br
+https://r-forge.r-project.org/tracker/?group_id=505
+.SH AUTHORS
+Lennart C. Karssen
diff --git a/doc/palogist.1 b/doc/palogist.1
new file mode 100644
index 0000000..00794f0
--- /dev/null
+++ b/doc/palogist.1
@@ -0,0 +1,85 @@
+.TH palogist 1 "29 August 2013"
+.SH NAME
+palogist \- Perform Genome-Wide Association Analysis using a linear model
+.SH SYNOPSIS
+.B palogist
+.RI "[ " "command-line options" " ]"
+.SH DESCRIPTION
+.I palogist
+runs a linear regression on large imputed data sets in an efficient way.
+.SH Options
+.SS Required command line options
+.TP
+.BI "\-p, \-\^\-pheno" " FILE"
+Read phenotype data from
+.I FILE
+.TP
+.BI "\-i, \-\^\-info" " FILE"
+Read SNP information from
+.I FILE
+(e.g. MLINFO file).
+.TP
+.BI "\-d, \-\^\-dose" " FILE"
+SNP predictor (e.g. MLDOSE/MLPROB) file name.
+.SS Optional command line options
+.TP
+.BI "\-m, \-\^\-map" " FILE"
+Map file name, containing base pair positions for each SNP.
+.TP
+.BI "\-n, \-\^\-nids" " NUMBER"
+Number of people to analyse.
+.TP
+.BI "\-c, \-\^\-chrom" " FILE"
+Chromosome (to be passed to output).
+.TP
+.BI "\-o, \-\^\-out" " FILE"
+Output file name (default is
+.B regression.out.txt
+).
+.TP
+.BI "\-s, \-\^\-skipd" " NUMBER"
+How many columns to skip in predictor (dose/prob) file (default is 2).
+.TP
+.BI "\-t, \-\^\-ntraits" " NUMBER"
+How many traits are analysed (default is 1).
+.TP
+.BI "\-g, \-\^\-ngpreds" " NUMBER"
+How many predictor columns per marker (default 1 = MLDOSE; else use 2 for MLPROB).
+.TP
+.B "\-a, \-\^\-separat" " FILE"
+Character to separate fields (default is space).
+.TP
+.B \-r, \-\^\-score
+Use the score test.
+.TP
+.B \-e, \-\^\-no-head
+Do not report header line in the output.
+.TP
+.B \-l \-\^\-allcov
+Report estimates for all covariates (large outputs!).
+.TP
+.B \-b, \-\^\-interaction
+Which covariate to use for interaction with SNP analysis (default is no interaction, 0).
+.TP
+.B \-k, \-\^\-interaction_only
+Like
+.B \-\^\-interaction
+but without covariate acting in interaction with SNP (default is no interaction, 0).
+.TP
+.BI "\-v, \-\^\-mmscore" " FILE"
+Score test in samples of related individuals. The FILE argument is the name of a file with the inverse correlation matrix. NOTE THAT THIS FEATURE IS STILL EXPERIMENTAL!
+.TP
+.B \-\^\-robust
+Report robust (a.k.a. sandwich, a.k.a. Hubert-White) standard errors.
+.TP
+.B \-\^\-help
+Print help.
+
+.SH "SEE ALSO"
+palinear(1), pacoxph(1)
+.SH BUGS
+The bugtracker is located at
+.br
+https://r-forge.r-project.org/tracker/?group_id=505
+.SH AUTHORS
+Lennart C. Karssen
diff --git a/doc/short_coxph_data.txt b/doc/short_coxph_data.txt
new file mode 100644
index 0000000..d1362a8
--- /dev/null
+++ b/doc/short_coxph_data.txt
@@ -0,0 +1,11 @@
+id fupt_chd chd sex age othercov
+id636728 3.187930645 0 0 56.56648772 -0.61664922
+id890314 2.099691952 0 0 74.83119715 0.695315865
+id102874 9.133488079 1 1 45.24780518 -0.919192365
+id200949 7.525406804 0 0 46.73626511 -0.623212537
+id336491 6.798229522 0 1 61.27433188 -0.083574435
+id988766 6.149545358 0 1 43.97949245 -0.360419163
+id21999 1.013546103 1 0 64.84209419 -0.180940347
+id433893 1.282853098 0 1 49.25264441 0.126374732
+id688932 8.340206657 0 0 50.39544176 1.06437576
+id394203 3.392345681 1 1 71.64985029 -1.182264985
diff --git a/doc/short_height.txt b/doc/short_height.txt
new file mode 100644
index 0000000..bd7b116
--- /dev/null
+++ b/doc/short_height.txt
@@ -0,0 +1,11 @@
+id height sex age
+id636728 174.429795159687 0 56.5664877162697
+id890314 168.176943059097 0 74.8311971509938
+id102874 178.612190619767 1 45.2478051768211
+id200949 171.770230117638 0 46.7362651142108
+id336491 185.941629656499 1 61.2743318817997
+id988766 173.159286450017 1 43.9794924518567
+id21999 167.478282481124 0 64.842094190157
+id433893 168.33178468379 1 49.2526444099125
+id688932 171.691587811178 0 50.3954417563357
+id394203 173.491495887183 1 71.6498502881161
diff --git a/doc/short_height_base_add.out.txt.save b/doc/short_height_base_add.out.txt.save
new file mode 100644
index 0000000..e75b96a
--- /dev/null
+++ b/doc/short_height_base_add.out.txt.save
@@ -0,0 +1,6 @@
+name A1 A2 Freq1 MAF Quality Rsq n Mean_predictor_allele chrom
++> position beta_SNP_add sebeta_SNP_add chi2_SNP
+rs7247199 G A 0.5847 0.415 0.9299 0.8666 182 0.564439 19
++> 204938 -0.218693 0.734966 0.0905063
+rs8102643 C T 0.5847 0.415 0.9308 0.8685 182 0.564412 19
++> 207859 -0.218352 0.734214 0.0904094
diff --git a/doc/short_logist_data.txt b/doc/short_logist_data.txt
new file mode 100644
index 0000000..f26b566
--- /dev/null
+++ b/doc/short_logist_data.txt
@@ -0,0 +1,11 @@
+id chd sex age othercov
+id636728 0 0 56.5664877162697 -0.616649220436139
+id890314 0 0 74.8311971509938 0.695315865158652
+id102874 1 1 45.2478051768211 -0.919192364890525
+id200949 0 0 46.7362651142108 -0.623212536893650
+id336491 0 1 61.2743318817997 -0.0835744351009496
+id988766 0 1 43.9794924518567 -0.360419162609288
+id21999 1 0 64.842094190157 -0.180940346913155
+id433893 0 1 49.2526444099125 0.126374731789777
+id688932 0 0 50.3954417563357 1.06437576032067
+id394203 1 1 71.6498502881161 -1.18226498491599
diff --git a/doc/short_test.mldose b/doc/short_test.mldose
new file mode 100644
index 0000000..152034e
--- /dev/null
+++ b/doc/short_test.mldose
@@ -0,0 +1,11 @@
+1->id636728 MLDOSE 0.974 0.974 0.968 0.971 2
+2->id890314 MLDOSE 0.947 0.947 0.113 0.944 1.094
+3->id102874 MLDOSE 1.005 1.004 NaN 1.002 2
+4->id200949 MLDOSE 1.968 1.969 1.973 1.977 2
+5->id336491 MLDOSE 1.007 1.006 1.001 1.004 2
+6->id988766 MLDOSE 1.006 1.006 1 1.003 2
+7->id21999 MLDOSE 1.968 1.969 1.973 1.977 2
+8->id433893 MLDOSE 1.006 1.006 1.001 1.004 2
+9->id688932 MLDOSE 1.006 1.006 1.001 1.004 2
+10->id394203 MLDOSE 1.967 1.968 1.972 1.976 1.999
+11->id995678 MLDOSE 1.014 1.014 1.006 1.009 2
diff --git a/doc/test.map b/doc/test.map
new file mode 100644
index 0000000..d640156
--- /dev/null
+++ b/doc/test.map
@@ -0,0 +1,6 @@
+rs position 0 1
+rs7247199 204938 A G
+rs8102643 207859 C T
+rs8102615 211970 A T
+rs8105536 212033 A G
+rs2312724 217034 C T
diff --git a/doc/test.mlinfo b/doc/test.mlinfo
new file mode 100644
index 0000000..7b179f1
--- /dev/null
+++ b/doc/test.mlinfo
@@ -0,0 +1,6 @@
+SNP Al1 Al2 Freq1 MAF Quality Rsq
+rs7247199 G A 0.5847 0.4150 0.9299 0.8666
+rs8102643 C T 0.5847 0.4150 0.9308 0.8685
+rs8102615 T A 0.5006 0.4702 0.9375 0.8932
+rs8105536 G A 0.5783 0.4213 0.9353 0.8832
+rs2312724 T C 0.9122 0.0877 0.9841 0.9232
diff --git a/doc/test_regression.R b/doc/test_regression.R
new file mode 100644
index 0000000..d91fcd1
--- /dev/null
+++ b/doc/test_regression.R
@@ -0,0 +1,71 @@
+
+library(MASS)
+NCOV = 2
+NOBS <- 1000
+beta <- c(0,0,.1)
+rvar <- 1
+X <- matrix(c(rep(1,NOBS),rnorm(NCOV*NOBS)),ncol=NCOV+1)
+Y <- X %*% beta + rnorm(NOBS,sd=sqrt(rvar))
+lmf <- lm(Y ~ X[,c(2:(NCOV+1))])
+slmf <- summary(lmf)
+
+slmf$sigma
+slmf$cov
+sqrt(slmf$sigma*diag(slmf$cov)*NOBS/(NOBS-NCOV-1))
+
+XpX <- t(X) %*% X
+# == slmf$cov
+XpX_i <- ginv(XpX)
+slmf$cov
+XpX_i
+# estimate of beta == smlf$coef
+estbeta <- XpX_i %*% (t(X) %*% Y)
+slmf$coef
+estbeta
+# residuals == slmf$resid
+resid <- Y - X %*% estbeta
+slmf$resid[1:10]
+resid[1:10]
+# residual variance == slmf$sigma^2
+estsigma2 <- as.numeric(t(resid) %*% resid / (NOBS-NCOV-1))
+slmf$sigma^2
+estsigma2
+# inverse of var/covar matrix for parame estimates
+estvc <- estsigma2 * XpX_i
+slmf$sigma*slmf$cov
+estvc
+# standard errors
+estse <- sqrt(diag(estvc))
+slmf$coef[,2]
+slmf$sigma*sqrt(diag(slmf$cov))
+estse
+
+# Wald test on covariates
+# inverse estvc
+estvc_i <- ginv(estvc)
+estvc_i
+1/estse
+1/sqrt(diag(estvc))
+sqrt(diag(estvc_i))
+sqrt(diag(ginv(estvc[c(2:(NCOV+1)),c(2:(NCOV+1))])))
+
+testbeta <- estbeta
+testbeta[2:(NCOV+1)] <- 0
+t2 <- t(estbeta-testbeta) %*% estvc_i %*% (estbeta-testbeta)
+t2
+pchisq(t2,NCOV,low=F)
+
+
+null <- lm(Y~1)
+anova(null,lmf,test="Chisq")
+
+fisherI <- estvc_i[c(2,3,1),c(2,3,1)]
+I11 <- fisherI[1:2,1:2]
+I12 <- fisherI[1:2,3]
+I21 <- fisherI[3,1:2]
+I22 <- fisherI[3,3]
+I1 <- I11 - I12 %*% ginv(I22) %*% I21
+t2 <- t(estbeta[2:(NCOV+1)]) %*% I1 %*% estbeta[2:(NCOV+1)]
+t2
+pchisq(t2,NCOV,low=F)
+
diff --git a/examples/Makefile.am b/examples/Makefile.am
new file mode 100644
index 0000000..4771ca7
--- /dev/null
+++ b/examples/Makefile.am
@@ -0,0 +1,42 @@
+## Process this file with automake to produce Makefile.in
+
+AUTOMAKE_OPTIONS = foreign
+
+phenofiles = height.txt \
+ logist_data.txt \
+ mmscore_pheno.PHE \
+ coxph_data.txt
+
+gtdatadir = gtdata
+genofiles = $(gtdatadir)/test.mldose \
+ $(gtdatadir)/test.mlprob \
+ $(gtdatadir)/test.mlinfo \
+ $(gtdatadir)/test.map \
+ $(gtdatadir)/test.dose.fvi \
+ $(gtdatadir)/test.dose.fvd \
+ $(gtdatadir)/test.prob.fvi \
+ $(gtdatadir)/test.prob.fvd \
+ $(gtdatadir)/mmscore_gen.mlinfo \
+ $(gtdatadir)/mmscore_gen.mldose \
+ $(gtdatadir)/mmscore_gen.mlprob \
+ $(gtdatadir)/mmscore_gen.dose.fvi \
+ $(gtdatadir)/mmscore_gen.dose.fvd \
+ $(gtdatadir)/mmscore_gen.prob.fvi \
+ $(gtdatadir)/mmscore_gen.prob.fvd
+
+
+additional_files = mmscore.R \
+ mmscore_InvSigma_aj.sex.age.dat \
+ README
+
+example_scripts = example_qt.sh \
+ example_bt.sh \
+ example_cox.sh \
+ example_mmscore.sh
+
+exampledir = $(pkgdatadir)/examples
+dist_example_DATA = $(phenofiles) $(additional_files)
+dist_example_SCRIPTS = $(example_scripts)
+
+gdatadir = $(pkgdatadir)/examples/gtdata
+dist_gdata_DATA = $(genofiles)
diff --git a/examples/Makefile.in b/examples/Makefile.in
new file mode 100644
index 0000000..03ad1de
--- /dev/null
+++ b/examples/Makefile.in
@@ -0,0 +1,514 @@
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+ at SET_MAKE@
+
+
+VPATH = @srcdir@
+am__make_dryrun = \
+ { \
+ am__dry=no; \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
+ | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+ *) \
+ for am__flg in $$MAKEFLAGS; do \
+ case $$am__flg in \
+ *=*|--*) ;; \
+ *n*) am__dry=yes; break;; \
+ esac; \
+ done;; \
+ esac; \
+ test $$am__dry = yes; \
+ }
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+subdir = examples
+DIST_COMMON = README $(dist_example_DATA) $(dist_example_SCRIPTS) \
+ $(dist_gdata_DATA) $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/src/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
+am__installdirs = "$(DESTDIR)$(exampledir)" "$(DESTDIR)$(exampledir)" \
+ "$(DESTDIR)$(gdatadir)"
+SCRIPTS = $(dist_example_SCRIPTS)
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
+SOURCES =
+DIST_SOURCES =
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+DATA = $(dist_example_DATA) $(dist_gdata_DATA)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+GREP = @GREP@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PDFLATEX = @PDFLATEX@
+R = @R@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build_alias = @build_alias@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host_alias = @host_alias@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+AUTOMAKE_OPTIONS = foreign
+phenofiles = height.txt \
+ logist_data.txt \
+ mmscore_pheno.PHE \
+ coxph_data.txt
+
+gtdatadir = gtdata
+genofiles = $(gtdatadir)/test.mldose \
+ $(gtdatadir)/test.mlprob \
+ $(gtdatadir)/test.mlinfo \
+ $(gtdatadir)/test.map \
+ $(gtdatadir)/test.dose.fvi \
+ $(gtdatadir)/test.dose.fvd \
+ $(gtdatadir)/test.prob.fvi \
+ $(gtdatadir)/test.prob.fvd \
+ $(gtdatadir)/mmscore_gen.mlinfo \
+ $(gtdatadir)/mmscore_gen.mldose \
+ $(gtdatadir)/mmscore_gen.mlprob \
+ $(gtdatadir)/mmscore_gen.dose.fvi \
+ $(gtdatadir)/mmscore_gen.dose.fvd \
+ $(gtdatadir)/mmscore_gen.prob.fvi \
+ $(gtdatadir)/mmscore_gen.prob.fvd
+
+additional_files = mmscore.R \
+ mmscore_InvSigma_aj.sex.age.dat \
+ README
+
+example_scripts = example_qt.sh \
+ example_bt.sh \
+ example_cox.sh \
+ example_mmscore.sh
+
+exampledir = $(pkgdatadir)/examples
+dist_example_DATA = $(phenofiles) $(additional_files)
+dist_example_SCRIPTS = $(example_scripts)
+gdatadir = $(pkgdatadir)/examples/gtdata
+dist_gdata_DATA = $(genofiles)
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign examples/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign examples/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+install-dist_exampleSCRIPTS: $(dist_example_SCRIPTS)
+ @$(NORMAL_INSTALL)
+ @list='$(dist_example_SCRIPTS)'; test -n "$(exampledir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(exampledir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(exampledir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \
+ done | \
+ sed -e 'p;s,.*/,,;n' \
+ -e 'h;s|.*|.|' \
+ -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \
+ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \
+ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+ if ($$2 == $$4) { files[d] = files[d] " " $$1; \
+ if (++n[d] == $(am__install_max)) { \
+ print "f", d, files[d]; n[d] = 0; files[d] = "" } } \
+ else { print "f", d "/" $$4, $$1 } } \
+ END { for (d in files) print "f", d, files[d] }' | \
+ while read type dir files; do \
+ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+ test -z "$$files" || { \
+ echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(exampledir)$$dir'"; \
+ $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(exampledir)$$dir" || exit $$?; \
+ } \
+ ; done
+
+uninstall-dist_exampleSCRIPTS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(dist_example_SCRIPTS)'; test -n "$(exampledir)" || exit 0; \
+ files=`for p in $$list; do echo "$$p"; done | \
+ sed -e 's,.*/,,;$(transform)'`; \
+ dir='$(DESTDIR)$(exampledir)'; $(am__uninstall_files_from_dir)
+install-dist_exampleDATA: $(dist_example_DATA)
+ @$(NORMAL_INSTALL)
+ @list='$(dist_example_DATA)'; test -n "$(exampledir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(exampledir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(exampledir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(exampledir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(exampledir)" || exit $$?; \
+ done
+
+uninstall-dist_exampleDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(dist_example_DATA)'; test -n "$(exampledir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(exampledir)'; $(am__uninstall_files_from_dir)
+install-dist_gdataDATA: $(dist_gdata_DATA)
+ @$(NORMAL_INSTALL)
+ @list='$(dist_gdata_DATA)'; test -n "$(gdatadir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(gdatadir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(gdatadir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(gdatadir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(gdatadir)" || exit $$?; \
+ done
+
+uninstall-dist_gdataDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(dist_gdata_DATA)'; test -n "$(gdatadir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(gdatadir)'; $(am__uninstall_files_from_dir)
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(SCRIPTS) $(DATA)
+installdirs:
+ for dir in "$(DESTDIR)$(exampledir)" "$(DESTDIR)$(exampledir)" "$(DESTDIR)$(gdatadir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-dist_exampleDATA install-dist_exampleSCRIPTS \
+ install-dist_gdataDATA
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-dist_exampleDATA uninstall-dist_exampleSCRIPTS \
+ uninstall-dist_gdataDATA
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic distclean \
+ distclean-generic distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am \
+ install-dist_exampleDATA install-dist_exampleSCRIPTS \
+ install-dist_gdataDATA install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
+ pdf-am ps ps-am uninstall uninstall-am \
+ uninstall-dist_exampleDATA uninstall-dist_exampleSCRIPTS \
+ uninstall-dist_gdataDATA
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/examples/README b/examples/README
new file mode 100644
index 0000000..45490cd
--- /dev/null
+++ b/examples/README
@@ -0,0 +1,3 @@
+This directory contains several examples of how to run ProbABEL (in
+the .sh files). The example_qt.sh files contains the most elaborate
+set of examples. See also the QuickStart.txt file in the doc/ directory.
diff --git a/examples/coxph_data.txt b/examples/coxph_data.txt
new file mode 100644
index 0000000..8c8fa78
--- /dev/null
+++ b/examples/coxph_data.txt
@@ -0,0 +1,201 @@
+id fupt_chd chd sex age othercov
+id636728 3.187930645 0 0 56.56648772 -0.61664922
+id890314 2.099691952 0 0 74.83119715 0.695315865
+id102874 9.133488079 1 1 45.24780518 -0.919192365
+id200949 7.525406804 0 0 46.73626511 -0.623212537
+id336491 6.798229522 0 1 61.27433188 -0.083574435
+id988766 6.149545358 0 1 43.97949245 -0.360419163
+id21999 1.013546103 1 0 64.84209419 -0.180940347
+id433893 1.282853098 0 1 49.25264441 0.126374732
+id688932 8.340206657 0 0 50.39544176 1.06437576
+id394203 3.392345681 1 1 71.64985029 -1.182264985
+id995678 9.587748608 0 0 8.398698382 -0.440232098
+id694339 1.25827049 0 0 50.09983553 -0.913499416
+id256455 5.414840139 0 0 42.68207853 -0.162365026
+id14836 6.177914833 1 1 35.84982537 0.149157063
+id817128 2.940033056 1 1 75.1778848 0.675429226
+id803325 9.619267566 0 0 28.61686675 -1.315061617
+id521287 0.320487323 1 1 51.20354955 1.778334153
+id701472 7.101945547 0 1 71.31774815 -0.314768649
+id850010 6.780876558 1 1 54.17089131 0.975698727
+id268483 7.903947419 0 1 64.67225478 -0.064047105
+id738781 1.086018804 0 0 55.82666815 -1.098353458
+id28411 1.254350142 1 0 55.23446835 -0.984911296
+id541635 9.057035035 1 1 60.09431049 -0.749064941
+id751101 1.303018406 0 0 56.07175009 1.517225868
+id826300 6.735484141 1 1 63.66504025 0.050258809
+id884387 9.097303962 0 0 51.49224163 -0.337897966
+id492414 4.756845946 0 0 58.90861602 0.318430413
+id268871 4.018189958 0 0 47.04004888 1.456136311
+id627354 8.874035732 0 0 34.53902661 -1.704446804
+id503932 0.091310535 0 0 57.97305684 0.765871754
+id163442 3.240808272 0 0 36.95176985 0.583651461
+id317797 9.050109718 0 0 26.91605573 -0.738359283
+id687857 7.992764162 0 0 55.98526811 -0.92303971
+id871570 2.353719529 0 1 55.97214144 0.862168022
+id724067 1.617985994 1 1 56.16962211 -0.340689098
+id874076 3.099430273 0 1 59.6796615 -0.585406451
+id927863 3.64738684 0 0 66.58040185 -0.109081372
+id369805 0.973580503 0 0 40.90600185 -1.592199675
+id668376 0.567035975 0 1 70.0289032 -1.377198946
+id717362 6.77104712 1 1 43.29380008 -1.247049307
+id665504 8.956792361 0 1 48.18902184 -0.403151482
+id336637 7.196501733 0 0 46.38184549 0.748159201
+id60633 5.086557706 0 0 23.30351479 -1.053958731
+id848600 8.270336349 1 1 67.46842732 -0.787160472
+id169514 9.421256192 0 0 69.14850279 -0.067323962
+id690732 9.952887485 0 0 58.60119974 0.70281019
+id684760 3.361963101 0 0 35.01819588 0.480066432
+id553502 5.557606017 1 1 69.02154551 -0.048946478
+id214917 6.535326783 0 0 64.57921366 0.674035037
+id849169 7.903922417 1 1 85.13788975 -1.490951619
+id941921 2.305853849 0 0 53.93061678 -0.527425267
+id784646 3.120883065 1 1 61.07773845 0.753698501
+id520954 8.756848347 1 1 75.18776222 0.657838317
+id996355 7.326814334 0 1 68.46424937 0.01877424
+id96730 6.664821662 0 0 57.11963725 1.82995714
+id673442 3.081616083 0 1 65.36648075 0.388257821
+id68305 3.525197877 1 1 71.49266177 0.693170774
+id653025 7.231586593 0 0 70.38446147 -1.049563634
+id208543 4.622250109 0 0 42.72731305 1.944598197
+id335725 5.924295793 1 1 59.07501676 -0.704001509
+id980400 2.35961827 0 0 49.57427645 0.326888204
+id869939 0.736202662 0 0 51.23048818 -0.692132702
+id297563 6.641749611 0 0 58.77625334 -1.463874347
+id852663 5.124175591 0 1 73.64350795 0.264913757
+id162070 7.910906314 0 0 58.53952137 -0.407761026
+id272875 9.825455416 1 1 49.58760449 -0.021488334
+id163787 2.471002157 0 0 68.89089799 0.337573959
+id422204 2.915218179 0 0 58.28230991 0.154530631
+id120197 3.367355865 0 0 48.35873939 0.265014737
+id33660 4.407010904 1 1 34.56964559 -0.60471311
+id803855 8.755961077 0 0 48.4657306 -2.780806865
+id255048 7.749378138 0 0 35.65335784 -1.677944311
+id690936 7.543593942 0 0 65.16588832 0.156852373
+id126807 0.251036587 0 1 64.14491359 1.611910965
+id99016 6.491002725 0 0 83.12867651 -1.11934754
+id883847 1.088929613 0 0 32.87683139 1.34130244
+id354523 9.618060855 1 1 56.55761125 0.270839152
+id737255 4.133744506 1 1 63.15486373 0.196647531
+id990941 5.646270286 0 1 51.27571506 -1.026606104
+id25464 8.272429793 0 0 65.87092242 -0.01260022
+id918375 0.723567779 0 0 72.03830977 -0.957166164
+id537828 4.0147246 0 1 47.95536826 0.058331817
+id682778 9.130628394 0 1 30.7120816 -0.912082258
+id587547 7.44191196 0 0 21.78560627 -0.834787422
+id670874 4.512303089 0 0 79.512448 0.21142704
+id444459 8.723388559 0 0 24.92599405 0.076058464
+id777456 4.115325335 1 1 49.26588181 -1.346748454
+id452384 2.067203142 0 1 55.67012814 -1.425079358
+id826975 8.348432332 0 0 65.40756831 1.36872787
+id519567 6.785076383 0 0 43.0203775 -0.446585446
+id84292 7.634117891 0 0 53.82871397 -0.499295706
+id124432 5.099839207 1 1 56.29638 -0.107080192
+id800145 8.551368147 0 0 37.61331158 1.588466893
+id153857 3.556301609 0 0 22.40008844 1.034357361
+id587157 8.758929135 1 0 52.68038782 0.359925837
+id506262 6.238330685 1 1 64.6329004 1.533370783
+id634462 0.905623161 0 0 48.92290318 -0.350929199
+id687592 0.290071515 0 0 52.49986348 -0.076496734
+id955526 1.838730964 0 0 55.50289717 0.960896716
+id181850 0.144560173 1 1 36.985872 0.446563113
+id159506 6.045008786 1 1 74.44795352 0.189484766
+id609051 6.873427527 1 1 65.77800431 -0.970684546
+id963886 0.853758289 0 0 49.53098132 -0.142315317
+id405792 3.909860553 1 1 45.49262346 0.829045752
+id494172 7.480072965 0 1 76.85791854 0.316447087
+id964637 3.816858446 0 0 45.86472878 0.835064702
+id799355 1.226117869 1 1 44.80572519 0.621012074
+id157111 4.166491482 1 0 62.03415458 0.73942218
+id114524 8.645968152 0 0 58.04499469 -0.788319625
+id954931 0.158490245 0 0 68.17803378 0.24955587
+id827034 0.702377072 0 1 77.97595754 0.982511494
+id689645 2.0658374 0 0 65.08441243 0.631945706
+id281585 4.640052191 1 1 42.95649827 -1.914229131
+id885624 3.615978697 0 0 47.94643735 -1.040361995
+id577871 2.230068497 0 0 33.49614447 0.186792844
+id238796 5.161400753 0 1 65.11885588 -1.680225999
+id481035 7.693009686 0 0 54.90423144 0.456361082
+id972713 6.34411768 1 1 65.77146215 -1.56740652
+id905484 4.55801149 0 1 71.64264756 -0.119411982
+id713511 6.721560405 1 1 61.07996274 0.759855863
+id512328 4.431789868 0 0 73.71727581 -1.386889284
+id703534 8.974882244 1 1 72.23683472 -0.236310232
+id409904 4.845419164 0 0 73.99231758 -1.196145554
+id577169 1.384047668 0 0 60.88096407 1.173421654
+id813971 6.785385478 0 0 84.1336254 -0.537161205
+id558483 0.27946972 0 0 47.22470442 1.205383654
+id892784 1.505769901 0 0 67.17447402 1.16829745
+id611178 3.97305697 1 1 37.0445777 -1.133099386
+id192732 7.859877791 0 0 59.33695807 -2.140778416
+id917280 1.39759155 0 0 58.04360792 -0.534198958
+id435876 4.928142177 0 0 84.74305698 -0.689898601
+id980722 0.72730016 1 0 86.01933179 -1.182084131
+id308273 3.466919258 1 1 67.97071165 1.943821736
+id476685 8.925909139 0 0 54.70635894 -0.941828992
+id315883 7.79623385 0 0 73.32239976 0.338196923
+id935945 3.491058239 1 1 52.11810768 1.336771018
+id991781 6.268341084 0 0 54.65314357 0.534529904
+id65199 2.65595714 0 1 49.87811635 0.034379059
+id226233 6.409789501 0 0 42.43817668 -0.071010961
+id860183 7.567894972 0 0 68.84622681 -0.737998085
+id295209 0.983143735 1 1 78.65652745 -0.107026407
+id544964 1.927387219 0 0 60.76270896 1.709977405
+id648663 7.914653713 0 0 75.01901109 -0.496659516
+id710165 9.981244413 0 0 63.98553777 0.201892862
+id392593 7.418579368 0 1 68.29945776 -1.802781379
+id129945 9.344802496 0 0 65.4500187 1.659394491
+id382621 1.828452452 0 0 67.685774 -0.308226365
+id901440 9.496967232 0 0 42.90926699 1.406153843
+id39847 8.962161053 0 0 47.40927402 -1.457910128
+id526460 1.855905599 0 1 37.11596757 0.585429137
+id477473 1.89081994 1 1 49.97724655 0.859328937
+id448194 4.814151059 0 1 45.88643326 2.316588612
+id904184 8.028988991 1 0 72.72579194 -1.446103016
+id747852 3.836260637 1 1 55.07676604 -0.045937532
+id711012 0.341281233 0 1 52.74453257 0.460500113
+id683879 9.297243459 0 0 53.30884634 0.267430174
+id789575 5.098990324 0 0 91.4953003 0.594398849
+id650729 7.941450537 0 0 60.95976566 -0.466440434
+id934302 9.134082902 1 1 50.38866747 -0.273038964
+id555013 8.812444844 1 1 64.16747524 1.900709264
+id82779 7.657743527 0 0 44.69858439 0.389805705
+id771444 6.664855358 1 1 46.55641254 0.769566642
+id821562 5.19036265 0 0 48.10395008 -0.824659658
+id292809 9.909691181 1 1 37.56731882 -0.985460186
+id645690 6.515405399 0 0 53.468881 -0.627722469
+id223901 6.355198262 1 1 42.93323368 0.10243281
+id41320 0.397540162 1 1 42.44110357 -2.147092339
+id96181 3.155308448 1 1 68.94074654 0.608235371
+id147900 4.719584771 0 0 40.88539124 1.844140836
+id702917 7.72554794 0 1 47.49668711 -1.204688707
+id150640 6.511110099 1 1 38.62528192 1.050329822
+id518391 9.626758766 0 1 49.68351553 0.398484046
+id879076 7.61506094 0 0 67.01328156 0.229427772
+id952031 4.87888217 1 1 65.70367124 -1.089108069
+id10055 5.724749579 0 0 62.16837685 1.750147555
+id727213 5.731963291 1 1 71.45678853 -0.429042806
+id41961 6.818411434 0 0 20.08262865 0.470401854
+id257209 9.897638239 1 1 45.85619304 1.048942715
+id995361 3.151184642 0 0 63.05059972 -0.433651964
+id957918 5.30099154 0 0 99.08050609 -1.322437014
+id975370 9.047264812 0 0 57.53802446 0.00732409
+id889896 9.578142144 1 1 59.22640818 1.545908006
+id978164 4.726348119 0 0 77.64204249 0.091141017
+id90359 6.237920077 0 0 37.75315297 -1.284611338
+id307158 5.49680528 0 0 63.09805553 -2.165456982
+id755940 1.683472511 0 1 20.3119087 0.350642962
+id995582 1.486566562 0 0 51.82892731 -0.515896073
+id363965 7.723182293 1 0 71.77219463 0.763895485
+id729124 6.861379688 0 0 71.23766916 -0.736515537
+id871963 1.399526332 1 1 52.94172118 -0.309489611
+id475172 2.745065294 0 0 37.3297063 0.043872807
+id804699 8.378029915 1 1 54.20314757 -0.329259789
+id625843 4.925798265 1 1 42.87948106 -0.082585412
+id595713 3.273883772 0 0 46.40565632 -1.383808366
+id462604 5.541305429 0 1 38.20727564 0.687340331
+id106141 9.529928524 0 1 54.1103592 -1.145673714
+id689349 9.243194854 0 0 69.78707904 -0.490029778
+id639003 6.594759182 1 1 73.84356933 -0.863976195
+id393896 8.69916317 1 1 59.45681813 0.260745271
+id450307 7.291170542 1 1 47.03196269 -0.241913128
diff --git a/examples/example_bt.sh b/examples/example_bt.sh
new file mode 100755
index 0000000..e70244a
--- /dev/null
+++ b/examples/example_bt.sh
@@ -0,0 +1,54 @@
+#!/bin/bash
+# This script shows some examples on how to run ProbABEL's palogist
+# module for binary traits.
+
+# Set the name of the directory with the genotype data files
+gtdatadir="gtdata"
+
+# Set the path to the executables (palinear/palogist/pacoxph). If you
+# installed ProbABEL according to the instructions in the doc/INSTALL
+# file, or installed it via your Linux distribution's package manager,
+# you can leave this variable empty.
+padir="../src/"
+
+
+# Using text-based dosage genotype files as input
+${padir}palogist \
+ -p logist_data.txt \
+ -d ${inputdir}/test.mldose \
+ -i ${inputdir}/test.mlinfo \
+ -m ${inputdir}/test.map \
+ -c 19 \
+ -o logist
+
+
+# Using filevector (DatABEL) files as dosage genotype input
+${padir}palogist \
+ -p logist_data.txt \
+ -d ${inputdir}/test.dose.fvi \
+ -i ${inputdir}/test.mlinfo \
+ -m ${inputdir}/test.map \
+ -c 19 \
+ -o logist_fv
+
+
+# Using text-based probability files as genotype input
+${padir}palogist \
+ -p logist_data.txt \
+ -d ${inputdir}/test.mlprob \
+ -i ${inputdir}/test.mlinfo \
+ -m ${inputdir}/test.map \
+ --ngpreds=2 \
+ -c 19 \
+ -o logist_prob
+
+
+# Using filevector (DatABEL) probability files as genotype input
+${padir}palogist \
+ -p logist_data.txt \
+ -d ${inputdir}/test.prob.fvi \
+ -i ${inputdir}/test.mlinfo \
+ -m ${inputdir}/test.map \
+ --ngpreds=2 \
+ -c 19 \
+ -o logist_prob_fv
diff --git a/examples/example_cox.sh b/examples/example_cox.sh
new file mode 100755
index 0000000..3f164cc
--- /dev/null
+++ b/examples/example_cox.sh
@@ -0,0 +1,53 @@
+#!/bin/bash
+# This script shows some examples for ProbABEL's pacoxph module
+
+# Set the name of the directory with the genotype data files
+gtdatadir="gtdata"
+
+# Set the path to the executables (palinear/palogist/pacoxph). If you
+# installed ProbABEL according to the instructions in the doc/INSTALL
+# file, or installed it via your Linux distribution's package manager,
+# you can leave this variable empty.
+padir="../src/"
+
+
+# Using text-based dosage genotype files as input
+${padir}pacoxph \
+ -p coxph_data.txt \
+ -d ${inputdir}/test.mldose \
+ -i ${inputdir}/test.mlinfo \
+ -m ${inputdir}/test.map \
+ -c 19 \
+ -o coxph_dose
+
+
+# Using filevector (DatABEL) files as dosage genotype input
+${padir}pacoxph \
+ -p coxph_data.txt \
+ -d ${inputdir}/test.dose.fvi \
+ -i ${inputdir}/test.mlinfo \
+ -m ${inputdir}/test.map \
+ -c 19 \
+ -o coxph_dose_fv
+
+
+# Using text-based probability files as genotype input
+${padir}pacoxph \
+ -p coxph_data.txt \
+ -d ${inputdir}/test.mlprob \
+ -i ${inputdir}/test.mlinfo \
+ -m ${inputdir}/test.map \
+ --ngpreds=2 \
+ -c 19 \
+ -o coxph_prob
+
+
+# Using filevector (DatABEL) probability files as genotype input
+${padir}pacoxph \
+ -p coxph_data.txt \
+ -d ${inputdir}/test.prob.fvi \
+ -i ${inputdir}/test.mlinfo \
+ -m ${inputdir}/test.map \
+ --ngpreds=2 \
+ -c 19 \
+ -o coxph_prob_fv
diff --git a/examples/example_mmscore.sh b/examples/example_mmscore.sh
new file mode 100755
index 0000000..a24f96f
--- /dev/null
+++ b/examples/example_mmscore.sh
@@ -0,0 +1,54 @@
+#!/bin/bash
+# This script shows some examples on how to run ProbABEL's palinear
+# module for quantitative traits combined with the mmscore option. See
+# also the mmscore.R file on how to prepare the phenotype and
+# inverse-sigma files.
+
+# Set the name of the directory with the genotype data files
+gtdatadir="gtdata"
+
+# Set the path to the executables (palinear/palogist/pacoxph). If you
+# installed ProbABEL according to the instructions in the doc/INSTALL
+# file, or installed it via your Linux distribution's package manager,
+# you can leave this variable empty.
+padir="../src/"
+
+
+# Using text-based dosage genotype files as input
+${padir}palinear \
+ -p mmscore_pheno.PHE \
+ -i ${gtdatadir}/mmscore_gen.mlinfo \
+ -d ${gtdatadir}/mmscore_gen.mldose \
+ --sep="," \
+ -o mmscore_dose \
+ --mmscore mmscore_InvSigma_aj.sex.age.dat
+
+
+# Using filevector (DatABEL) files as dosage genotype input
+${padir}palinear \
+ -p mmscore_pheno.PHE \
+ -i ${gtdatadir}/mmscore_gen.mlinfo \
+ -d ${gtdatadir}/mmscore_gen.dose.fvi \
+ --sep="," \
+ -o mmscore_dose_fv \
+ --mmscore mmscore_InvSigma_aj.sex.age.dat
+
+
+# Using text-based probability files as genotype input
+${padir}palinear \
+ -p mmscore_pheno.PHE \
+ -i ${gtdatadir}/mmscore_gen.mlinfo \
+ -d ${gtdatadir}/mmscore_gen.mlprob \
+ --ngpreds=2 --sep="," \
+ -o mmscore_prob \
+ --mmscore mmscore_InvSigma_aj.sex.age.dat
+
+
+# Using filevector (DatABEL) probability files as genotype input
+${padir}palinear \
+ -p mmscore_pheno.PHE \
+ -i ${gtdatadir}/mmscore_gen.mlinfo \
+ -d ${gtdatadir}/mmscore_gen.prob.fvi \
+ --ngpreds=2 --sep="," \
+ -o mmscore_prob_fv \
+ --mmscore mmscore_InvSigma_aj.sex.age.dat
diff --git a/examples/example_qt.sh b/examples/example_qt.sh
new file mode 100755
index 0000000..be49c40
--- /dev/null
+++ b/examples/example_qt.sh
@@ -0,0 +1,134 @@
+#!/bin/bash
+# This script shows some examples on how to run ProbABEL's palinear
+# module for quantitative traits.
+
+
+# Set the name of the directory with the genotype data files
+gtdatadir="gtdata"
+
+# Set the path to the executables (palinear/palogist/pacoxph). If you
+# installed ProbABEL according to the instructions in the doc/INSTALL
+# file, or installed it via your Linux distribution's package manager,
+# you can leave this variable empty.
+padir="${padir}"
+
+# Using text-based dosage genotype files as input
+echo "basic analysis"
+${padir}palinear \
+ -p height.txt \
+ -d ${inputdir}/test.mldose \
+ -i ${inputdir}/test.mlinfo \
+ -m ${inputdir}/test.map \
+ -c 19 \
+ -o height_base
+
+
+# Using filevector (DatABEL) files as dosage genotype input
+${padir}palinear \
+ -p height.txt \
+ -d ${inputdir}/test.dose.fvi \
+ -i ${inputdir}/test.mlinfo \
+ -m ${inputdir}/test.map \
+ -c 19 \
+ -o height_base_fv
+
+
+echo "Option --allcov"
+${padir}palinear \
+ -p height.txt \
+ -d ${inputdir}/test.dose.fvi \
+ -i ${inputdir}/test.mlinfo \
+ -m ${inputdir}/test.map \
+ -c 19 --allcov \
+ -o height_allcov_fv
+
+
+echo "Option --interaction=1"
+${padir}palinear \
+ -p height.txt \
+ -d ${inputdir}/test.dose.fvi \
+ -i ${inputdir}/test.mlinfo \
+ -m ${inputdir}/test.map \
+ -c 19 --interaction=1 \
+ -o height_int1_fv
+
+
+echo "Option --robust"
+${padir}palinear \
+ -p height.txt \
+ -d ${inputdir}/test.dose.fvi \
+ -i ${inputdir}/test.mlinfo \
+ -m ${inputdir}/test.map \
+ -c 19 --robust \
+ -o height_robust_fv
+
+
+echo "Option --robust --interaction=1"
+${padir}palinear \
+ -p height.txt \
+ -d ${inputdir}/test.dose.fvi \
+ -i ${inputdir}/test.mlinfo \
+ -m ${inputdir}/test.map \
+ -c 19 --robust --interaction=1 \
+ -o height_robust_int1_fv
+
+
+# Using text-based probability files as genotype input
+echo "Option --ngp=2, mlprob file"
+${padir}palinear \
+ -p height.txt \
+ -d ${inputdir}/test.mlprob \
+ -i ${inputdir}/test.mlinfo \
+ -m ${inputdir}/test.map \
+ -c 19 --ngp=2 \
+ -o height_ngp2
+
+
+# Using filevector (DatABEL) probability files as genotype input
+${padir}palinear \
+ -p height.txt \
+ -d ${inputdir}/test.prob.fvi \
+ -i ${inputdir}/test.mlinfo \
+ -m ${inputdir}/test.map \
+ -c 19 --ngp=2 \
+ -o height_ngp2_fv
+
+
+echo "Option --ngp=2 --allcov"
+${padir}palinear \
+ -p height.txt \
+ -d ${inputdir}/test.prob.fvi \
+ -i ${inputdir}/test.mlinfo \
+ -m ${inputdir}/test.map \
+ -c 19 --ngp=2 --allcov \
+ -o height_ngp2_allcov_fv
+
+
+echo "Option --ngp=2 --interaction=1"
+${padir}palinear \
+ -p height.txt \
+ -d ${inputdir}/test.prob.fvi \
+ -i ${inputdir}/test.mlinfo \
+ -m ${inputdir}/test.map \
+ -c 19 --ngp=2 --interaction=1 \
+ -o height_ngp2_int1_fv
+
+
+echo "Option --ngp=2 --robust"
+${padir}palinear \
+ -p height.txt \
+ -d ${inputdir}/test.prob.fvi \
+ -i ${inputdir}/test.mlinfo \
+ -m ${inputdir}/test.map \
+ -c 19 --ngp=2 --robust \
+ -o height_ngp2_robust_fv
+
+
+echo "Option --ngp=2 --robust --interaction=1"
+${padir}palinear \
+ -p height.txt \
+ -d ${inputdir}/test.prob.fvi \
+ -i ${inputdir}/test.mlinfo \
+ -m ${inputdir}/test.map \
+ -c 19 --ngp=2 --robust --interaction=1 \
+ -o height_ngp2_robust_int1_fv
diff --git a/examples/gtdata/mmscore_gen.dose.fvd b/examples/gtdata/mmscore_gen.dose.fvd
new file mode 100644
index 0000000..c16de62
Binary files /dev/null and b/examples/gtdata/mmscore_gen.dose.fvd differ
diff --git a/examples/gtdata/mmscore_gen.dose.fvi b/examples/gtdata/mmscore_gen.dose.fvi
new file mode 100644
index 0000000..1dee4bb
Binary files /dev/null and b/examples/gtdata/mmscore_gen.dose.fvi differ
diff --git a/examples/gtdata/mmscore_gen.mldose b/examples/gtdata/mmscore_gen.mldose
new file mode 100644
index 0000000..712a01c
--- /dev/null
+++ b/examples/gtdata/mmscore_gen.mldose
@@ -0,0 +1,500 @@
+1->id4 MLDOSE 1 0 2 0 1
+1->id10 MLDOSE 2 2 1 2 0
+1->id25 MLDOSE 1 2 0 2 0
+1->id33 MLDOSE 1 0 2 0 0
+1->id35 MLDOSE 1 0 0 0 0
+1->id58 MLDOSE 2 1 1 0 0
+1->id68 MLDOSE 0 1 1 0 1
+1->id74 MLDOSE 1 0 0 0 0
+1->id107 MLDOSE 1 0 0 1 0
+1->id119 MLDOSE 2 1 0 0 0
+1->id145 MLDOSE 1 0 1 1 1
+1->id188 MLDOSE 0 0 1 1 0
+1->id199 MLDOSE 0 2 1 0 1
+1->id266 MLDOSE 0 0 1 0 1
+1->id300 MLDOSE 2 0 0 0 0
+1->id327 MLDOSE 2 1 0 1 0
+1->id345 MLDOSE 1 0 0 0 0
+1->id386 MLDOSE 1 0 1 0 1
+1->id392 MLDOSE 0 1 1 0 1
+1->id403 MLDOSE 0 1 2 2 2
+1->id415 MLDOSE 1 1 1 0 0
+1->id496 MLDOSE 2 0 1 1 0
+1->id497 MLDOSE 1 0 2 1 1
+1->id504 MLDOSE 0 2 1 0 NaN
+1->id542 MLDOSE 0 1 2 1 1
+1->id575 MLDOSE 2 1 1 NaN 0
+1->id586 MLDOSE 1 1 0 0 0
+1->id608 MLDOSE 0 1 2 0 1
+1->id617 MLDOSE 2 1 0 0 0
+1->id666 MLDOSE 1 0 1 2 0
+1->id689 MLDOSE 2 0 0 1 0
+1->id722 MLDOSE 1 1 0 2 0
+1->id765 MLDOSE 2 0 1 0 0
+1->id780 MLDOSE 0 0 0 0 0
+1->id796 MLDOSE 2 0 NaN 1 0
+1->id802 MLDOSE 2 1 1 0 0
+1->id812 MLDOSE 1 1 2 0 1
+1->id830 MLDOSE 2 1 0 1 0
+1->id835 MLDOSE 1 1 1 1 0
+1->id892 MLDOSE 2 1 0 0 0
+1->id908 MLDOSE 1 NaN 0 0 0
+1->id938 MLDOSE 1 0 0 0 0
+1->id980 MLDOSE 0 0 0 0 0
+1->id994 MLDOSE 1 1 0 0 0
+1->id1047 MLDOSE 1 2 0 1 0
+1->id1052 MLDOSE 1 0 2 0 0
+1->id1055 MLDOSE 1 2 1 0 0
+1->id1068 MLDOSE 1 0 0 0 0
+1->id1076 MLDOSE 0 1 2 1 0
+1->id1109 MLDOSE 1 1 1 0 0
+1->id1156 MLDOSE 1 0 0 0 0
+1->id1176 MLDOSE 0 2 1 1 0
+1->id1186 MLDOSE 2 0 1 0 0
+1->id1193 MLDOSE 1 0 1 0 1
+1->id1251 MLDOSE 1 0 1 0 0
+1->id1265 MLDOSE 2 0 0 1 0
+1->id1382 MLDOSE 2 0 0 0 0
+1->id1394 MLDOSE 0 0 1 1 0
+1->id1408 MLDOSE NaN 0 1 0 0
+1->id1423 MLDOSE 1 1 0 0 0
+1->id1457 MLDOSE 0 0 0 0 0
+1->id1469 MLDOSE 0 1 1 0 0
+1->id1477 MLDOSE 1 0 1 1 0
+1->id1505 MLDOSE 1 2 2 0 0
+1->id1509 MLDOSE 1 1 1 0 1
+1->id1514 MLDOSE 1 2 0 0 0
+1->id1591 MLDOSE 1 2 0 0 0
+1->id1593 MLDOSE 2 0 0 0 0
+1->id1653 MLDOSE 1 1 1 0 1
+1->id1656 MLDOSE 1 1 1 NaN 0
+1->id1737 MLDOSE 2 2 0 1 0
+1->id1760 MLDOSE 2 1 1 1 0
+1->id1784 MLDOSE 2 0 0 1 0
+1->id1827 MLDOSE 2 1 1 0 0
+1->id1841 MLDOSE 0 1 0 0 0
+1->id1895 MLDOSE 1 0 1 1 1
+1->id1897 MLDOSE 2 0 0 0 0
+1->id1910 MLDOSE 0 1 1 1 0
+1->id1918 MLDOSE 1 1 0 1 0
+1->id1950 MLDOSE 1 2 2 1 0
+1->id1983 MLDOSE 0 1 1 0 1
+1->id1995 MLDOSE 1 1 0 0 0
+1->id2012 MLDOSE 1 2 0 1 0
+1->id2049 MLDOSE 1 0 2 0 1
+1->id2054 MLDOSE 1 0 0 1 0
+1->id2056 MLDOSE 1 1 NaN 0 0
+1->id2068 MLDOSE 1 1 0 0 0
+1->id2089 MLDOSE 0 1 1 1 1
+1->id2094 MLDOSE 1 0 0 1 0
+1->id2151 MLDOSE 1 0 1 0 0
+1->id2173 MLDOSE 1 0 0 1 0
+1->id2242 MLDOSE 1 1 0 0 0
+1->id2245 MLDOSE 2 2 1 1 0
+1->id2317 MLDOSE 0 1 2 0 0
+1->id2328 MLDOSE 1 1 1 0 1
+1->id2348 MLDOSE 1 2 2 0 1
+1->id2351 MLDOSE 1 2 0 1 1
+1->id2428 MLDOSE 1 1 0 0 0
+1->id2444 MLDOSE 0 1 0 0 0
+1->id2476 MLDOSE 2 0 1 0 0
+1->id2514 MLDOSE 2 2 0 0 0
+1->id2520 MLDOSE 2 1 0 0 0
+1->id2524 MLDOSE 1 1 1 0 0
+1->id2531 MLDOSE 1 1 0 0 0
+1->id2558 MLDOSE 1 0 0 0 0
+1->id2589 MLDOSE 0 1 1 0 0
+1->id2618 MLDOSE 1 0 NaN 1 0
+1->id2653 MLDOSE 1 1 1 0 0
+1->id2654 MLDOSE 1 0 0 0 0
+1->id2681 MLDOSE 2 1 0 1 0
+1->id2689 MLDOSE 2 2 1 0 0
+1->id2693 MLDOSE 2 1 0 0 0
+1->id2708 MLDOSE 0 1 1 0 1
+1->id2741 MLDOSE 2 2 1 1 0
+1->id2842 MLDOSE 2 1 0 1 NaN
+1->id2862 MLDOSE 2 1 0 0 0
+1->id2894 MLDOSE 0 2 NaN 0 0
+1->id2901 MLDOSE 2 0 1 0 0
+1->id2925 MLDOSE 1 2 1 0 0
+1->id2932 MLDOSE 1 0 0 0 0
+1->id2973 MLDOSE 2 1 0 0 0
+1->id2985 MLDOSE 1 1 1 0 1
+1->id3056 MLDOSE 2 1 0 0 0
+1->id3111 MLDOSE 1 2 1 0 0
+1->id3129 MLDOSE 0 1 1 0 1
+1->id3139 MLDOSE 1 2 0 0 0
+1->id3189 MLDOSE 2 1 0 2 0
+1->id3219 MLDOSE 1 1 1 0 0
+1->id3263 MLDOSE 1 0 1 0 0
+1->id3267 MLDOSE 1 1 2 1 1
+1->id3305 MLDOSE 1 1 0 0 0
+1->id3323 MLDOSE 2 1 0 0 0
+1->id3330 MLDOSE 0 1 0 1 0
+1->id3354 MLDOSE NaN 1 0 0 NaN
+1->id3371 MLDOSE 1 1 1 0 0
+1->id3398 MLDOSE 1 1 2 1 NaN
+1->id3400 MLDOSE 1 2 0 1 0
+1->id3417 MLDOSE 1 1 0 1 0
+1->id3465 MLDOSE 1 1 0 1 0
+1->id3521 MLDOSE 2 0 0 0 0
+1->id3573 MLDOSE 1 1 1 0 0
+1->id3593 MLDOSE 2 1 1 0 0
+1->id3630 MLDOSE 2 2 0 0 0
+1->id3635 MLDOSE 1 1 0 1 0
+1->id3641 MLDOSE 2 0 0 1 0
+1->id3657 MLDOSE 1 1 2 0 1
+1->id3692 MLDOSE 2 1 0 0 0
+1->id3701 MLDOSE 1 2 2 1 1
+1->id3709 MLDOSE 2 1 0 0 0
+1->id3735 MLDOSE 1 1 1 0 0
+1->id3809 MLDOSE 0 1 2 0 0
+1->id3820 MLDOSE 2 0 1 0 0
+1->id3823 MLDOSE 0 1 2 1 2
+1->id3828 MLDOSE 0 0 0 0 0
+1->id3831 MLDOSE 0 1 1 0 1
+1->id3847 MLDOSE 1 0 0 0 0
+1->id3857 MLDOSE 1 2 0 1 0
+1->id3933 MLDOSE 0 2 0 0 0
+1->id3934 MLDOSE 1 1 1 0 1
+1->id3942 MLDOSE 2 1 1 0 0
+1->id3957 MLDOSE 1 1 1 0 1
+1->id3970 MLDOSE 0 1 2 0 2
+1->id3983 MLDOSE 1 1 0 1 0
+1->id4008 MLDOSE 0 1 1 1 0
+1->id4024 MLDOSE 1 1 1 0 0
+1->id4031 MLDOSE 1 0 2 0 1
+1->id4067 MLDOSE 2 1 1 0 0
+1->id4097 MLDOSE 1 2 1 1 0
+1->id4225 MLDOSE 2 2 0 0 0
+1->id4229 MLDOSE 2 1 0 0 0
+1->id4233 MLDOSE 0 1 0 0 0
+1->id4254 MLDOSE 1 1 0 0 0
+1->id4259 MLDOSE 1 0 0 0 0
+1->id4261 MLDOSE 2 1 1 0 0
+1->id4284 MLDOSE 1 0 2 1 0
+1->id4287 MLDOSE 1 1 1 0 1
+1->id4288 MLDOSE 0 0 1 0 1
+1->id4309 MLDOSE 2 1 1 0 0
+1->id4328 MLDOSE 0 2 0 1 0
+1->id4337 MLDOSE 1 0 1 0 0
+1->id4363 MLDOSE 0 1 2 1 1
+1->id4380 MLDOSE 0 1 1 0 1
+1->id4395 MLDOSE 0 1 0 0 0
+1->id4416 MLDOSE 0 2 1 0 0
+1->id4446 MLDOSE 1 1 0 0 0
+1->id4449 MLDOSE 1 2 1 0 1
+1->id4512 MLDOSE 1 1 1 0 0
+1->id4552 MLDOSE 1 1 1 1 0
+1->id4561 MLDOSE 2 1 0 0 0
+1->id4606 MLDOSE 1 1 1 1 1
+1->id4629 MLDOSE 2 1 1 0 0
+1->id4645 MLDOSE 2 1 1 1 0
+1->id4652 MLDOSE 0 2 1 1 1
+1->id4673 MLDOSE 0 0 2 1 1
+1->id4675 MLDOSE 1 0 0 0 0
+1->id4689 MLDOSE 2 NaN 1 0 0
+1->id4705 MLDOSE 1 0 1 1 0
+1->id4710 MLDOSE 2 2 0 0 0
+1->id4717 MLDOSE 2 0 0 0 0
+1->id4734 MLDOSE 0 0 0 0 0
+1->id4751 MLDOSE 1 2 1 0 1
+1->id4781 MLDOSE 2 1 0 0 0
+1->id4798 MLDOSE 2 0 0 0 0
+1->id4806 MLDOSE 0 1 1 2 0
+1->id4807 MLDOSE 1 0 1 0 1
+1->id4812 MLDOSE 1 1 1 0 1
+1->id4834 MLDOSE 2 0 1 0 0
+1->id4842 MLDOSE NaN 1 1 1 1
+1->id4883 MLDOSE 1 0 0 0 0
+1->id4904 MLDOSE 2 0 1 1 0
+1->id4934 MLDOSE 2 2 1 0 0
+1->id4959 MLDOSE 1 1 0 0 0
+1->id4961 MLDOSE 2 0 0 0 0
+1->id5014 MLDOSE 0 1 0 0 0
+1->id5055 MLDOSE 0 1 1 0 0
+1->id5078 MLDOSE 1 1 1 1 0
+1->id5150 MLDOSE 0 1 0 0 0
+1->id5263 MLDOSE 1 1 1 0 0
+1->id5274 MLDOSE 2 1 1 0 0
+1->id5275 MLDOSE 1 1 1 1 1
+1->id5324 MLDOSE 2 0 0 0 0
+1->id5385 MLDOSE 2 0 0 0 0
+1->id5398 MLDOSE 0 1 1 0 1
+1->id5407 MLDOSE 1 2 2 0 0
+1->id5444 MLDOSE 0 2 1 0 1
+1->id5454 MLDOSE 1 2 0 0 0
+1->id5495 MLDOSE 1 0 0 0 0
+1->id5496 MLDOSE 0 1 1 0 0
+1->id5517 MLDOSE 2 2 0 0 0
+1->id5522 MLDOSE 0 1 2 0 1
+1->id5598 MLDOSE 2 0 NaN 0 0
+1->id5627 MLDOSE 0 1 1 0 0
+1->id5672 MLDOSE 1 1 1 0 0
+1->id5736 MLDOSE 1 0 2 0 0
+1->id5739 MLDOSE 1 2 1 2 1
+1->id5764 MLDOSE 0 1 0 1 0
+1->id5770 MLDOSE 1 0 1 0 0
+1->id5844 MLDOSE 1 1 1 0 0
+1->id5853 MLDOSE 0 2 0 0 0
+1->id5890 MLDOSE 1 0 0 1 0
+1->id5912 MLDOSE 2 2 1 0 0
+1->id5926 MLDOSE 1 0 1 1 0
+1->id5966 MLDOSE 1 1 1 0 1
+1->id5969 MLDOSE 0 2 1 2 0
+1->id5989 MLDOSE 1 0 0 0 0
+1->id5991 MLDOSE 1 2 1 2 0
+1->id6002 MLDOSE 2 1 2 1 0
+1->id6009 MLDOSE NaN 2 1 0 1
+1->id6011 MLDOSE 1 1 1 0 0
+1->id6020 MLDOSE 1 0 2 0 1
+1->id6043 MLDOSE 2 1 1 1 0
+1->id6051 MLDOSE 1 1 0 0 0
+1->id6139 MLDOSE 2 1 1 0 0
+1->id6141 MLDOSE 1 2 0 NaN 0
+1->id6208 MLDOSE 1 2 0 1 0
+1->id6221 MLDOSE 1 1 0 0 0
+1->id6222 MLDOSE 0 2 1 0 1
+1->id6237 MLDOSE 1 0 0 0 0
+1->id6243 MLDOSE 0 NaN 1 0 0
+1->id6244 MLDOSE 1 2 2 0 1
+1->id6255 MLDOSE 1 1 1 0 1
+1->id6270 MLDOSE 2 1 1 0 0
+1->id6278 MLDOSE 2 2 1 0 0
+1->id6290 MLDOSE 1 0 1 0 0
+1->id6306 MLDOSE 2 1 0 0 0
+1->id6333 MLDOSE 0 1 1 1 1
+1->id6352 MLDOSE 2 0 0 0 0
+1->id6386 MLDOSE 1 0 1 0 0
+1->id6443 MLDOSE 0 1 0 2 0
+1->id6488 MLDOSE 2 1 0 0 0
+1->id6499 MLDOSE 1 0 1 0 0
+1->id6501 MLDOSE 2 0 1 0 0
+1->id6506 MLDOSE 2 0 1 0 0
+1->id6544 MLDOSE 0 2 1 1 0
+1->id6554 MLDOSE 0 0 0 1 0
+1->id6588 MLDOSE 0 1 1 0 1
+1->id6603 MLDOSE 2 1 1 0 0
+1->id6641 MLDOSE 1 2 2 0 1
+1->id6645 MLDOSE 1 1 0 0 0
+1->id6651 MLDOSE 1 2 0 0 0
+1->id6661 MLDOSE 1 2 0 0 0
+1->id6663 MLDOSE 0 0 0 0 0
+1->id6709 MLDOSE 2 1 2 0 NaN
+1->id6723 MLDOSE 0 2 0 0 0
+1->id6740 MLDOSE 1 1 1 0 0
+1->id6773 MLDOSE 1 1 1 1 0
+1->id6802 MLDOSE 0 1 0 0 0
+1->id6820 MLDOSE 0 2 0 0 0
+1->id6829 MLDOSE 2 1 0 0 0
+1->id6840 MLDOSE 0 0 0 0 0
+1->id6847 MLDOSE 2 1 1 0 0
+1->id6857 MLDOSE 1 1 1 0 0
+1->id6866 MLDOSE 2 0 NaN 0 0
+1->id6950 MLDOSE 2 1 1 1 0
+1->id6998 MLDOSE 2 1 0 1 0
+1->id7036 MLDOSE 0 2 2 1 2
+1->id7038 MLDOSE 1 1 1 1 0
+1->id7063 MLDOSE 1 0 0 0 0
+1->id7072 MLDOSE 1 1 1 0 0
+1->id7094 MLDOSE 1 1 1 0 0
+1->id7100 MLDOSE 1 1 0 1 0
+1->id7139 MLDOSE 2 1 0 0 0
+1->id7147 MLDOSE 2 1 0 0 0
+1->id7157 MLDOSE 1 1 1 0 1
+1->id7173 MLDOSE 1 2 1 0 0
+1->id7202 MLDOSE 1 2 0 0 0
+1->id7212 MLDOSE 2 1 0 0 0
+1->id7249 MLDOSE 1 1 0 1 0
+1->id7255 MLDOSE 1 1 1 0 1
+1->id7257 MLDOSE 0 2 2 1 1
+1->id7333 MLDOSE 1 1 0 1 0
+1->id7355 MLDOSE 1 1 1 0 0
+1->id7369 MLDOSE 1 0 1 0 0
+1->id7415 MLDOSE 2 0 0 0 0
+1->id7451 MLDOSE 1 2 1 1 1
+1->id7499 MLDOSE 0 0 0 0 0
+1->id7507 MLDOSE 1 2 0 0 0
+1->id7514 MLDOSE 2 2 0 0 0
+1->id7528 MLDOSE 1 0 0 0 0
+1->id7541 MLDOSE 0 2 0 0 0
+1->id7546 MLDOSE 0 0 2 1 2
+1->id7563 MLDOSE 0 1 1 0 0
+1->id7570 MLDOSE 2 1 1 0 0
+1->id7589 MLDOSE 1 1 0 0 0
+1->id7598 MLDOSE 2 1 0 0 0
+1->id7607 MLDOSE 1 0 2 0 0
+1->id7623 MLDOSE 1 1 0 1 0
+1->id7652 MLDOSE 0 2 1 1 1
+1->id7733 MLDOSE 2 1 1 0 0
+1->id7737 MLDOSE 0 1 1 0 1
+1->id7738 MLDOSE 1 0 0 0 0
+1->id7771 MLDOSE 0 2 1 0 1
+1->id7772 MLDOSE 1 0 0 0 0
+1->id7801 MLDOSE 1 1 1 0 0
+1->id7814 MLDOSE 0 0 1 0 1
+1->id7835 MLDOSE 1 0 0 2 0
+1->id7850 MLDOSE 0 1 0 0 0
+1->id7868 MLDOSE 1 0 1 0 1
+1->id7909 MLDOSE 1 1 0 0 0
+1->id7939 MLDOSE 2 0 0 0 0
+1->id7949 MLDOSE 1 0 0 0 0
+1->id7952 MLDOSE 1 1 1 1 1
+1->id8059 MLDOSE 1 0 1 1 1
+1->id8109 MLDOSE 1 1 0 0 0
+1->id8115 MLDOSE 1 1 1 1 0
+1->id8128 MLDOSE 1 0 0 0 0
+1->id8136 MLDOSE 2 1 0 0 0
+1->id8138 MLDOSE 2 0 1 1 0
+1->id8143 MLDOSE 1 1 1 0 0
+1->id8208 MLDOSE 2 0 0 1 0
+1->id8213 MLDOSE 1 0 1 0 0
+1->id8268 MLDOSE 2 0 0 0 0
+1->id8281 MLDOSE 1 1 0 0 0
+1->id8286 MLDOSE 1 1 0 0 0
+1->id8326 MLDOSE 2 1 1 0 0
+1->id8400 MLDOSE 2 0 0 2 0
+1->id8423 MLDOSE 0 1 0 0 0
+1->id8433 MLDOSE 1 0 0 0 0
+1->id8517 MLDOSE 0 1 1 1 0
+1->id8583 MLDOSE 1 0 0 1 0
+1->id8604 MLDOSE 1 1 1 0 0
+1->id8614 MLDOSE 1 1 1 0 0
+1->id8690 MLDOSE 0 1 1 0 0
+1->id8693 MLDOSE 2 1 0 0 0
+1->id8729 MLDOSE 0 2 1 0 1
+1->id8752 MLDOSE 1 0 2 0 0
+1->id8753 MLDOSE 1 0 0 1 0
+1->id8772 MLDOSE 1 2 1 0 1
+1->id8801 MLDOSE 0 0 0 1 0
+1->id8819 MLDOSE 1 0 1 1 0
+1->id8842 MLDOSE 2 1 0 0 0
+1->id8859 MLDOSE NaN 0 1 1 0
+1->id8865 MLDOSE 1 1 2 0 0
+1->id8880 MLDOSE 1 1 0 0 0
+1->id8890 MLDOSE 1 1 1 0 0
+1->id8894 MLDOSE 1 0 0 1 0
+1->id8917 MLDOSE 1 2 1 0 0
+1->id8930 MLDOSE 1 1 0 0 0
+1->id8935 MLDOSE 1 1 0 1 0
+1->id8957 MLDOSE 2 1 1 0 0
+1->id8996 MLDOSE 1 2 0 0 0
+1->id9020 MLDOSE 1 0 0 0 0
+1->id9026 MLDOSE 2 1 0 0 0
+1->id9033 MLDOSE 2 1 0 0 0
+1->id9058 MLDOSE 2 0 1 0 0
+1->id9061 MLDOSE 1 1 1 0 1
+1->id9082 MLDOSE 1 1 0 0 0
+1->id9132 MLDOSE 2 1 0 0 0
+1->id9166 MLDOSE 2 1 1 0 0
+1->id9178 MLDOSE 1 0 0 0 0
+1->id9234 MLDOSE 1 0 1 0 0
+1->id9238 MLDOSE 0 2 1 0 0
+1->id9242 MLDOSE 1 1 0 0 0
+1->id9259 MLDOSE 1 1 0 0 0
+1->id9266 MLDOSE 2 1 1 0 0
+1->id9321 MLDOSE 2 2 0 0 0
+1->id9340 MLDOSE 1 1 1 0 0
+1->id9408 MLDOSE 1 1 1 0 0
+1->id9410 MLDOSE 1 1 0 0 0
+1->id9411 MLDOSE 1 1 0 1 0
+1->id9449 MLDOSE 1 0 NaN 0 0
+1->id9487 MLDOSE 1 1 2 1 NaN
+1->id9511 MLDOSE 1 1 0 0 0
+1->id9570 MLDOSE 1 2 0 1 0
+1->id9588 MLDOSE 2 1 1 0 0
+1->id9614 MLDOSE 1 1 1 0 0
+1->id9643 MLDOSE 2 1 1 0 0
+1->id9658 MLDOSE 2 1 1 1 NaN
+1->id9760 MLDOSE 1 0 0 1 0
+1->id9800 MLDOSE 0 2 0 0 0
+1->id9851 MLDOSE 1 0 1 0 1
+1->id9852 MLDOSE 1 0 1 1 0
+1->id9859 MLDOSE 2 1 1 1 0
+1->id9862 MLDOSE 0 1 1 0 1
+1->id9877 MLDOSE 1 1 1 1 0
+1->id9883 MLDOSE 2 0 0 0 0
+1->id9893 MLDOSE 2 0 1 1 0
+1->id9901 MLDOSE 1 1 0 0 0
+1->id9906 MLDOSE 1 0 1 0 0
+1->id9918 MLDOSE 0 1 1 0 1
+1->id9930 MLDOSE 1 1 0 0 0
+1->id9956 MLDOSE 0 0 0 0 0
+1->id9990 MLDOSE 1 1 1 0 1
+1->id9997 MLDOSE 1 0 1 0 1
+1->id5465 MLDOSE 0 2 1 0 0
+1->id4625 MLDOSE 0 0 1 0 1
+1->id7159 MLDOSE 0 0 1 0 0
+1->id8416 MLDOSE NaN 0 1 0 0
+1->id9444 MLDOSE 1 1 0 0 0
+1->id2622 MLDOSE 1 1 0 1 0
+1->id7493 MLDOSE 1 1 0 0 0
+1->id1102 MLDOSE 0 2 0 0 0
+1->id3210 MLDOSE 2 1 1 0 0
+1->id541 MLDOSE 1 1 0 0 0
+1->id6471 MLDOSE 1 0 0 0 0
+1->id697 MLDOSE 1 2 1 0 0
+1->id6924 MLDOSE 0 0 2 0 0
+1->id8060 MLDOSE 2 1 1 0 0
+1->id2004 MLDOSE 2 1 0 1 0
+1->id7534 MLDOSE 1 1 0 0 0
+1->id9836 MLDOSE 0 2 1 0 1
+1->id1389 MLDOSE 1 1 0 1 0
+1->id6062 MLDOSE 1 2 1 0 0
+1->id5546 MLDOSE 0 1 NaN 0 0
+1->id4096 MLDOSE 1 0 0 0 0
+1->id9185 MLDOSE 1 2 0 0 0
+1->id3917 MLDOSE 1 1 1 1 0
+1->id5941 MLDOSE 2 0 0 0 0
+1->id5701 MLDOSE 1 2 1 0 0
+1->id4711 MLDOSE 1 1 1 1 1
+1->id5689 MLDOSE 2 1 0 1 0
+1->id7947 MLDOSE 1 1 0 0 0
+1->id5556 MLDOSE 0 2 1 1 0
+1->id5472 MLDOSE 2 1 0 0 0
+1->id1482 MLDOSE 2 0 1 1 0
+1->id8034 MLDOSE NaN 2 0 0 0
+1->id6609 MLDOSE 1 0 0 NaN 0
+1->id2181 MLDOSE 1 1 0 0 0
+1->id226 MLDOSE 1 0 0 1 0
+1->id4947 MLDOSE 2 2 0 0 0
+1->id9626 MLDOSE 0 1 1 0 1
+1->id3825 MLDOSE 0 0 0 0 0
+1->id5114 MLDOSE 1 0 0 1 0
+1->id3059 MLDOSE 2 0 1 0 0
+1->id967 MLDOSE 1 2 1 0 0
+1->id4505 MLDOSE 1 1 1 0 0
+1->id455 MLDOSE 2 0 0 0 0
+1->id6934 MLDOSE 1 1 2 0 0
+1->id8474 MLDOSE 1 0 1 0 0
+1->id5971 MLDOSE 2 1 1 0 0
+1->id283 MLDOSE 1 0 1 0 0
+1->id2338 MLDOSE 1 1 1 0 1
+1->id4484 MLDOSE 2 2 0 0 0
+1->id1515 MLDOSE 1 1 1 0 0
+1->id9678 MLDOSE 1 1 0 0 0
+1->id2837 MLDOSE 2 0 0 0 0
+1->id8545 MLDOSE 1 0 1 1 0
+1->id4474 MLDOSE 0 1 1 1 0
+1->id2606 MLDOSE 0 1 1 1 0
+1->id4211 MLDOSE 2 1 0 0 0
+1->id992 MLDOSE 2 1 1 0 0
+1->id5334 MLDOSE 0 0 0 0 0
+1->id2605 MLDOSE 0 0 0 0 0
+1->id8351 MLDOSE 2 1 1 1 0
+1->id4425 MLDOSE 1 2 0 0 0
+1->id6808 MLDOSE 1 1 0 0 0
+1->id9406 MLDOSE 2 1 0 1 0
+1->id5419 MLDOSE 2 1 0 0 0
+1->id620 MLDOSE 1 1 0 1 0
+1->id6359 MLDOSE 2 1 1 1 0
+1->id2418 MLDOSE 0 1 1 0 0
+1->id7928 MLDOSE 2 1 0 0 0
+1->id4935 MLDOSE 2 1 0 0 0
+1->id1791 MLDOSE 1 0 0 0 0
+1->id6424 MLDOSE NaN 0 0 0 0
+1->id8618 MLDOSE 2 2 2 0 0
+1->id1449 MLDOSE 0 1 1 0 0
+1->id8737 MLDOSE 2 1 0 0 0
+1->id517 MLDOSE 0 0 1 0 0
+1->id1960 MLDOSE NaN 2 0 0 0
diff --git a/examples/gtdata/mmscore_gen.mlinfo b/examples/gtdata/mmscore_gen.mlinfo
new file mode 100644
index 0000000..eaa07fa
--- /dev/null
+++ b/examples/gtdata/mmscore_gen.mlinfo
@@ -0,0 +1,6 @@
+SNP Al1 Al2 Freq1 MAF Quality Rsq
+rs735579 A B 0.5847 0.5847 0.5847 0.5847
+rs9088604 A B 0.5847 0.5847 0.5847 0.5847
+rs1413801 A B 0.5847 0.5847 0.5847 0.5847
+rs4911638 A B 0.5847 0.5847 0.5847 0.5847
+rs70099 A B 0.5847 0.5847 0.5847 0.5847
diff --git a/examples/gtdata/mmscore_gen.mlprob b/examples/gtdata/mmscore_gen.mlprob
new file mode 100644
index 0000000..06fa6fb
--- /dev/null
+++ b/examples/gtdata/mmscore_gen.mlprob
@@ -0,0 +1,500 @@
+1->id4 MLPROB 0 1 0 0 1 0 0 0 0 1
+1->id10 MLPROB 1 0 1 0 0 1 1 0 0 0
+1->id25 MLPROB 0 1 1 0 0 0 1 0 0 0
+1->id33 MLPROB 0 1 0 0 1 0 0 0 0 0
+1->id35 MLPROB 0 1 0 0 0 0 0 0 0 0
+1->id58 MLPROB 1 0 0 1 0 1 0 0 0 0
+1->id68 MLPROB 0 0 0 1 0 1 0 0 0 1
+1->id74 MLPROB 0 1 0 0 0 0 0 0 0 0
+1->id107 MLPROB 0 1 0 0 0 0 0 1 0 0
+1->id119 MLPROB 1 0 0 1 0 0 0 0 0 0
+1->id145 MLPROB 0 1 0 0 0 1 0 1 0 1
+1->id188 MLPROB 0 0 0 0 0 1 0 1 0 0
+1->id199 MLPROB 0 0 1 0 0 1 0 0 0 1
+1->id266 MLPROB 0 0 0 0 0 1 0 0 0 1
+1->id300 MLPROB 1 0 0 0 0 0 0 0 0 0
+1->id327 MLPROB 1 0 0 1 0 0 0 1 0 0
+1->id345 MLPROB 0 1 0 0 0 0 0 0 0 0
+1->id386 MLPROB 0 1 0 0 0 1 0 0 0 1
+1->id392 MLPROB 0 0 0 1 0 1 0 0 0 1
+1->id403 MLPROB 0 0 0 1 1 0 1 0 1 0
+1->id415 MLPROB 0 1 0 1 0 1 0 0 0 0
+1->id496 MLPROB 1 0 0 0 0 1 0 1 0 0
+1->id497 MLPROB 0 1 0 0 1 0 0 1 0 1
+1->id504 MLPROB 0 0 1 0 0 1 0 0 NaN NaN
+1->id542 MLPROB 0 0 0 1 1 0 0 1 0 1
+1->id575 MLPROB 1 0 0 1 0 1 NaN NaN 0 0
+1->id586 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id608 MLPROB 0 0 0 1 1 0 0 0 0 1
+1->id617 MLPROB 1 0 0 1 0 0 0 0 0 0
+1->id666 MLPROB 0 1 0 0 0 1 1 0 0 0
+1->id689 MLPROB 1 0 0 0 0 0 0 1 0 0
+1->id722 MLPROB 0 1 0 1 0 0 1 0 0 0
+1->id765 MLPROB 1 0 0 0 0 1 0 0 0 0
+1->id780 MLPROB 0 0 0 0 0 0 0 0 0 0
+1->id796 MLPROB 1 0 0 0 NaN NaN 0 1 0 0
+1->id802 MLPROB 1 0 0 1 0 1 0 0 0 0
+1->id812 MLPROB 0 1 0 1 1 0 0 0 0 1
+1->id830 MLPROB 1 0 0 1 0 0 0 1 0 0
+1->id835 MLPROB 0 1 0 1 0 1 0 1 0 0
+1->id892 MLPROB 1 0 0 1 0 0 0 0 0 0
+1->id908 MLPROB 0 1 NaN NaN 0 0 0 0 0 0
+1->id938 MLPROB 0 1 0 0 0 0 0 0 0 0
+1->id980 MLPROB 0 0 0 0 0 0 0 0 0 0
+1->id994 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id1047 MLPROB 0 1 1 0 0 0 0 1 0 0
+1->id1052 MLPROB 0 1 0 0 1 0 0 0 0 0
+1->id1055 MLPROB 0 1 1 0 0 1 0 0 0 0
+1->id1068 MLPROB 0 1 0 0 0 0 0 0 0 0
+1->id1076 MLPROB 0 0 0 1 1 0 0 1 0 0
+1->id1109 MLPROB 0 1 0 1 0 1 0 0 0 0
+1->id1156 MLPROB 0 1 0 0 0 0 0 0 0 0
+1->id1176 MLPROB 0 0 1 0 0 1 0 1 0 0
+1->id1186 MLPROB 1 0 0 0 0 1 0 0 0 0
+1->id1193 MLPROB 0 1 0 0 0 1 0 0 0 1
+1->id1251 MLPROB 0 1 0 0 0 1 0 0 0 0
+1->id1265 MLPROB 1 0 0 0 0 0 0 1 0 0
+1->id1382 MLPROB 1 0 0 0 0 0 0 0 0 0
+1->id1394 MLPROB 0 0 0 0 0 1 0 1 0 0
+1->id1408 MLPROB NaN NaN 0 0 0 1 0 0 0 0
+1->id1423 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id1457 MLPROB 0 0 0 0 0 0 0 0 0 0
+1->id1469 MLPROB 0 0 0 1 0 1 0 0 0 0
+1->id1477 MLPROB 0 1 0 0 0 1 0 1 0 0
+1->id1505 MLPROB 0 1 1 0 1 0 0 0 0 0
+1->id1509 MLPROB 0 1 0 1 0 1 0 0 0 1
+1->id1514 MLPROB 0 1 1 0 0 0 0 0 0 0
+1->id1591 MLPROB 0 1 1 0 0 0 0 0 0 0
+1->id1593 MLPROB 1 0 0 0 0 0 0 0 0 0
+1->id1653 MLPROB 0 1 0 1 0 1 0 0 0 1
+1->id1656 MLPROB 0 1 0 1 0 1 NaN NaN 0 0
+1->id1737 MLPROB 1 0 1 0 0 0 0 1 0 0
+1->id1760 MLPROB 1 0 0 1 0 1 0 1 0 0
+1->id1784 MLPROB 1 0 0 0 0 0 0 1 0 0
+1->id1827 MLPROB 1 0 0 1 0 1 0 0 0 0
+1->id1841 MLPROB 0 0 0 1 0 0 0 0 0 0
+1->id1895 MLPROB 0 1 0 0 0 1 0 1 0 1
+1->id1897 MLPROB 1 0 0 0 0 0 0 0 0 0
+1->id1910 MLPROB 0 0 0 1 0 1 0 1 0 0
+1->id1918 MLPROB 0 1 0 1 0 0 0 1 0 0
+1->id1950 MLPROB 0 1 1 0 1 0 0 1 0 0
+1->id1983 MLPROB 0 0 0 1 0 1 0 0 0 1
+1->id1995 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id2012 MLPROB 0 1 1 0 0 0 0 1 0 0
+1->id2049 MLPROB 0 1 0 0 1 0 0 0 0 1
+1->id2054 MLPROB 0 1 0 0 0 0 0 1 0 0
+1->id2056 MLPROB 0 1 0 1 NaN NaN 0 0 0 0
+1->id2068 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id2089 MLPROB 0 0 0 1 0 1 0 1 0 1
+1->id2094 MLPROB 0 1 0 0 0 0 0 1 0 0
+1->id2151 MLPROB 0 1 0 0 0 1 0 0 0 0
+1->id2173 MLPROB 0 1 0 0 0 0 0 1 0 0
+1->id2242 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id2245 MLPROB 1 0 1 0 0 1 0 1 0 0
+1->id2317 MLPROB 0 0 0 1 1 0 0 0 0 0
+1->id2328 MLPROB 0 1 0 1 0 1 0 0 0 1
+1->id2348 MLPROB 0 1 1 0 1 0 0 0 0 1
+1->id2351 MLPROB 0 1 1 0 0 0 0 1 0 1
+1->id2428 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id2444 MLPROB 0 0 0 1 0 0 0 0 0 0
+1->id2476 MLPROB 1 0 0 0 0 1 0 0 0 0
+1->id2514 MLPROB 1 0 1 0 0 0 0 0 0 0
+1->id2520 MLPROB 1 0 0 1 0 0 0 0 0 0
+1->id2524 MLPROB 0 1 0 1 0 1 0 0 0 0
+1->id2531 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id2558 MLPROB 0 1 0 0 0 0 0 0 0 0
+1->id2589 MLPROB 0 0 0 1 0 1 0 0 0 0
+1->id2618 MLPROB 0 1 0 0 NaN NaN 0 1 0 0
+1->id2653 MLPROB 0 1 0 1 0 1 0 0 0 0
+1->id2654 MLPROB 0 1 0 0 0 0 0 0 0 0
+1->id2681 MLPROB 1 0 0 1 0 0 0 1 0 0
+1->id2689 MLPROB 1 0 1 0 0 1 0 0 0 0
+1->id2693 MLPROB 1 0 0 1 0 0 0 0 0 0
+1->id2708 MLPROB 0 0 0 1 0 1 0 0 0 1
+1->id2741 MLPROB 1 0 1 0 0 1 0 1 0 0
+1->id2842 MLPROB 1 0 0 1 0 0 0 1 NaN NaN
+1->id2862 MLPROB 1 0 0 1 0 0 0 0 0 0
+1->id2894 MLPROB 0 0 1 0 NaN NaN 0 0 0 0
+1->id2901 MLPROB 1 0 0 0 0 1 0 0 0 0
+1->id2925 MLPROB 0 1 1 0 0 1 0 0 0 0
+1->id2932 MLPROB 0 1 0 0 0 0 0 0 0 0
+1->id2973 MLPROB 1 0 0 1 0 0 0 0 0 0
+1->id2985 MLPROB 0 1 0 1 0 1 0 0 0 1
+1->id3056 MLPROB 1 0 0 1 0 0 0 0 0 0
+1->id3111 MLPROB 0 1 1 0 0 1 0 0 0 0
+1->id3129 MLPROB 0 0 0 1 0 1 0 0 0 1
+1->id3139 MLPROB 0 1 1 0 0 0 0 0 0 0
+1->id3189 MLPROB 1 0 0 1 0 0 1 0 0 0
+1->id3219 MLPROB 0 1 0 1 0 1 0 0 0 0
+1->id3263 MLPROB 0 1 0 0 0 1 0 0 0 0
+1->id3267 MLPROB 0 1 0 1 1 0 0 1 0 1
+1->id3305 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id3323 MLPROB 1 0 0 1 0 0 0 0 0 0
+1->id3330 MLPROB 0 0 0 1 0 0 0 1 0 0
+1->id3354 MLPROB NaN NaN 0 1 0 0 0 0 NaN NaN
+1->id3371 MLPROB 0 1 0 1 0 1 0 0 0 0
+1->id3398 MLPROB 0 1 0 1 1 0 0 1 NaN NaN
+1->id3400 MLPROB 0 1 1 0 0 0 0 1 0 0
+1->id3417 MLPROB 0 1 0 1 0 0 0 1 0 0
+1->id3465 MLPROB 0 1 0 1 0 0 0 1 0 0
+1->id3521 MLPROB 1 0 0 0 0 0 0 0 0 0
+1->id3573 MLPROB 0 1 0 1 0 1 0 0 0 0
+1->id3593 MLPROB 1 0 0 1 0 1 0 0 0 0
+1->id3630 MLPROB 1 0 1 0 0 0 0 0 0 0
+1->id3635 MLPROB 0 1 0 1 0 0 0 1 0 0
+1->id3641 MLPROB 1 0 0 0 0 0 0 1 0 0
+1->id3657 MLPROB 0 1 0 1 1 0 0 0 0 1
+1->id3692 MLPROB 1 0 0 1 0 0 0 0 0 0
+1->id3701 MLPROB 0 1 1 0 1 0 0 1 0 1
+1->id3709 MLPROB 1 0 0 1 0 0 0 0 0 0
+1->id3735 MLPROB 0 1 0 1 0 1 0 0 0 0
+1->id3809 MLPROB 0 0 0 1 1 0 0 0 0 0
+1->id3820 MLPROB 1 0 0 0 0 1 0 0 0 0
+1->id3823 MLPROB 0 0 0 1 1 0 0 1 1 0
+1->id3828 MLPROB 0 0 0 0 0 0 0 0 0 0
+1->id3831 MLPROB 0 0 0 1 0 1 0 0 0 1
+1->id3847 MLPROB 0 1 0 0 0 0 0 0 0 0
+1->id3857 MLPROB 0 1 1 0 0 0 0 1 0 0
+1->id3933 MLPROB 0 0 1 0 0 0 0 0 0 0
+1->id3934 MLPROB 0 1 0 1 0 1 0 0 0 1
+1->id3942 MLPROB 1 0 0 1 0 1 0 0 0 0
+1->id3957 MLPROB 0 1 0 1 0 1 0 0 0 1
+1->id3970 MLPROB 0 0 0 1 1 0 0 0 1 0
+1->id3983 MLPROB 0 1 0 1 0 0 0 1 0 0
+1->id4008 MLPROB 0 0 0 1 0 1 0 1 0 0
+1->id4024 MLPROB 0 1 0 1 0 1 0 0 0 0
+1->id4031 MLPROB 0 1 0 0 1 0 0 0 0 1
+1->id4067 MLPROB 1 0 0 1 0 1 0 0 0 0
+1->id4097 MLPROB 0 1 1 0 0 1 0 1 0 0
+1->id4225 MLPROB 1 0 1 0 0 0 0 0 0 0
+1->id4229 MLPROB 1 0 0 1 0 0 0 0 0 0
+1->id4233 MLPROB 0 0 0 1 0 0 0 0 0 0
+1->id4254 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id4259 MLPROB 0 1 0 0 0 0 0 0 0 0
+1->id4261 MLPROB 1 0 0 1 0 1 0 0 0 0
+1->id4284 MLPROB 0 1 0 0 1 0 0 1 0 0
+1->id4287 MLPROB 0 1 0 1 0 1 0 0 0 1
+1->id4288 MLPROB 0 0 0 0 0 1 0 0 0 1
+1->id4309 MLPROB 1 0 0 1 0 1 0 0 0 0
+1->id4328 MLPROB 0 0 1 0 0 0 0 1 0 0
+1->id4337 MLPROB 0 1 0 0 0 1 0 0 0 0
+1->id4363 MLPROB 0 0 0 1 1 0 0 1 0 1
+1->id4380 MLPROB 0 0 0 1 0 1 0 0 0 1
+1->id4395 MLPROB 0 0 0 1 0 0 0 0 0 0
+1->id4416 MLPROB 0 0 1 0 0 1 0 0 0 0
+1->id4446 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id4449 MLPROB 0 1 1 0 0 1 0 0 0 1
+1->id4512 MLPROB 0 1 0 1 0 1 0 0 0 0
+1->id4552 MLPROB 0 1 0 1 0 1 0 1 0 0
+1->id4561 MLPROB 1 0 0 1 0 0 0 0 0 0
+1->id4606 MLPROB 0 1 0 1 0 1 0 1 0 1
+1->id4629 MLPROB 1 0 0 1 0 1 0 0 0 0
+1->id4645 MLPROB 1 0 0 1 0 1 0 1 0 0
+1->id4652 MLPROB 0 0 1 0 0 1 0 1 0 1
+1->id4673 MLPROB 0 0 0 0 1 0 0 1 0 1
+1->id4675 MLPROB 0 1 0 0 0 0 0 0 0 0
+1->id4689 MLPROB 1 0 NaN NaN 0 1 0 0 0 0
+1->id4705 MLPROB 0 1 0 0 0 1 0 1 0 0
+1->id4710 MLPROB 1 0 1 0 0 0 0 0 0 0
+1->id4717 MLPROB 1 0 0 0 0 0 0 0 0 0
+1->id4734 MLPROB 0 0 0 0 0 0 0 0 0 0
+1->id4751 MLPROB 0 1 1 0 0 1 0 0 0 1
+1->id4781 MLPROB 1 0 0 1 0 0 0 0 0 0
+1->id4798 MLPROB 1 0 0 0 0 0 0 0 0 0
+1->id4806 MLPROB 0 0 0 1 0 1 1 0 0 0
+1->id4807 MLPROB 0 1 0 0 0 1 0 0 0 1
+1->id4812 MLPROB 0 1 0 1 0 1 0 0 0 1
+1->id4834 MLPROB 1 0 0 0 0 1 0 0 0 0
+1->id4842 MLPROB NaN NaN 0 1 0 1 0 1 0 1
+1->id4883 MLPROB 0 1 0 0 0 0 0 0 0 0
+1->id4904 MLPROB 1 0 0 0 0 1 0 1 0 0
+1->id4934 MLPROB 1 0 1 0 0 1 0 0 0 0
+1->id4959 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id4961 MLPROB 1 0 0 0 0 0 0 0 0 0
+1->id5014 MLPROB 0 0 0 1 0 0 0 0 0 0
+1->id5055 MLPROB 0 0 0 1 0 1 0 0 0 0
+1->id5078 MLPROB 0 1 0 1 0 1 0 1 0 0
+1->id5150 MLPROB 0 0 0 1 0 0 0 0 0 0
+1->id5263 MLPROB 0 1 0 1 0 1 0 0 0 0
+1->id5274 MLPROB 1 0 0 1 0 1 0 0 0 0
+1->id5275 MLPROB 0 1 0 1 0 1 0 1 0 1
+1->id5324 MLPROB 1 0 0 0 0 0 0 0 0 0
+1->id5385 MLPROB 1 0 0 0 0 0 0 0 0 0
+1->id5398 MLPROB 0 0 0 1 0 1 0 0 0 1
+1->id5407 MLPROB 0 1 1 0 1 0 0 0 0 0
+1->id5444 MLPROB 0 0 1 0 0 1 0 0 0 1
+1->id5454 MLPROB 0 1 1 0 0 0 0 0 0 0
+1->id5495 MLPROB 0 1 0 0 0 0 0 0 0 0
+1->id5496 MLPROB 0 0 0 1 0 1 0 0 0 0
+1->id5517 MLPROB 1 0 1 0 0 0 0 0 0 0
+1->id5522 MLPROB 0 0 0 1 1 0 0 0 0 1
+1->id5598 MLPROB 1 0 0 0 NaN NaN 0 0 0 0
+1->id5627 MLPROB 0 0 0 1 0 1 0 0 0 0
+1->id5672 MLPROB 0 1 0 1 0 1 0 0 0 0
+1->id5736 MLPROB 0 1 0 0 1 0 0 0 0 0
+1->id5739 MLPROB 0 1 1 0 0 1 1 0 0 1
+1->id5764 MLPROB 0 0 0 1 0 0 0 1 0 0
+1->id5770 MLPROB 0 1 0 0 0 1 0 0 0 0
+1->id5844 MLPROB 0 1 0 1 0 1 0 0 0 0
+1->id5853 MLPROB 0 0 1 0 0 0 0 0 0 0
+1->id5890 MLPROB 0 1 0 0 0 0 0 1 0 0
+1->id5912 MLPROB 1 0 1 0 0 1 0 0 0 0
+1->id5926 MLPROB 0 1 0 0 0 1 0 1 0 0
+1->id5966 MLPROB 0 1 0 1 0 1 0 0 0 1
+1->id5969 MLPROB 0 0 1 0 0 1 1 0 0 0
+1->id5989 MLPROB 0 1 0 0 0 0 0 0 0 0
+1->id5991 MLPROB 0 1 1 0 0 1 1 0 0 0
+1->id6002 MLPROB 1 0 0 1 1 0 0 1 0 0
+1->id6009 MLPROB NaN NaN 1 0 0 1 0 0 0 1
+1->id6011 MLPROB 0 1 0 1 0 1 0 0 0 0
+1->id6020 MLPROB 0 1 0 0 1 0 0 0 0 1
+1->id6043 MLPROB 1 0 0 1 0 1 0 1 0 0
+1->id6051 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id6139 MLPROB 1 0 0 1 0 1 0 0 0 0
+1->id6141 MLPROB 0 1 1 0 0 0 NaN NaN 0 0
+1->id6208 MLPROB 0 1 1 0 0 0 0 1 0 0
+1->id6221 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id6222 MLPROB 0 0 1 0 0 1 0 0 0 1
+1->id6237 MLPROB 0 1 0 0 0 0 0 0 0 0
+1->id6243 MLPROB 0 0 NaN NaN 0 1 0 0 0 0
+1->id6244 MLPROB 0 1 1 0 1 0 0 0 0 1
+1->id6255 MLPROB 0 1 0 1 0 1 0 0 0 1
+1->id6270 MLPROB 1 0 0 1 0 1 0 0 0 0
+1->id6278 MLPROB 1 0 1 0 0 1 0 0 0 0
+1->id6290 MLPROB 0 1 0 0 0 1 0 0 0 0
+1->id6306 MLPROB 1 0 0 1 0 0 0 0 0 0
+1->id6333 MLPROB 0 0 0 1 0 1 0 1 0 1
+1->id6352 MLPROB 1 0 0 0 0 0 0 0 0 0
+1->id6386 MLPROB 0 1 0 0 0 1 0 0 0 0
+1->id6443 MLPROB 0 0 0 1 0 0 1 0 0 0
+1->id6488 MLPROB 1 0 0 1 0 0 0 0 0 0
+1->id6499 MLPROB 0 1 0 0 0 1 0 0 0 0
+1->id6501 MLPROB 1 0 0 0 0 1 0 0 0 0
+1->id6506 MLPROB 1 0 0 0 0 1 0 0 0 0
+1->id6544 MLPROB 0 0 1 0 0 1 0 1 0 0
+1->id6554 MLPROB 0 0 0 0 0 0 0 1 0 0
+1->id6588 MLPROB 0 0 0 1 0 1 0 0 0 1
+1->id6603 MLPROB 1 0 0 1 0 1 0 0 0 0
+1->id6641 MLPROB 0 1 1 0 1 0 0 0 0 1
+1->id6645 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id6651 MLPROB 0 1 1 0 0 0 0 0 0 0
+1->id6661 MLPROB 0 1 1 0 0 0 0 0 0 0
+1->id6663 MLPROB 0 0 0 0 0 0 0 0 0 0
+1->id6709 MLPROB 1 0 0 1 1 0 0 0 NaN NaN
+1->id6723 MLPROB 0 0 1 0 0 0 0 0 0 0
+1->id6740 MLPROB 0 1 0 1 0 1 0 0 0 0
+1->id6773 MLPROB 0 1 0 1 0 1 0 1 0 0
+1->id6802 MLPROB 0 0 0 1 0 0 0 0 0 0
+1->id6820 MLPROB 0 0 1 0 0 0 0 0 0 0
+1->id6829 MLPROB 1 0 0 1 0 0 0 0 0 0
+1->id6840 MLPROB 0 0 0 0 0 0 0 0 0 0
+1->id6847 MLPROB 1 0 0 1 0 1 0 0 0 0
+1->id6857 MLPROB 0 1 0 1 0 1 0 0 0 0
+1->id6866 MLPROB 1 0 0 0 NaN NaN 0 0 0 0
+1->id6950 MLPROB 1 0 0 1 0 1 0 1 0 0
+1->id6998 MLPROB 1 0 0 1 0 0 0 1 0 0
+1->id7036 MLPROB 0 0 1 0 1 0 0 1 1 0
+1->id7038 MLPROB 0 1 0 1 0 1 0 1 0 0
+1->id7063 MLPROB 0 1 0 0 0 0 0 0 0 0
+1->id7072 MLPROB 0 1 0 1 0 1 0 0 0 0
+1->id7094 MLPROB 0 1 0 1 0 1 0 0 0 0
+1->id7100 MLPROB 0 1 0 1 0 0 0 1 0 0
+1->id7139 MLPROB 1 0 0 1 0 0 0 0 0 0
+1->id7147 MLPROB 1 0 0 1 0 0 0 0 0 0
+1->id7157 MLPROB 0 1 0 1 0 1 0 0 0 1
+1->id7173 MLPROB 0 1 1 0 0 1 0 0 0 0
+1->id7202 MLPROB 0 1 1 0 0 0 0 0 0 0
+1->id7212 MLPROB 1 0 0 1 0 0 0 0 0 0
+1->id7249 MLPROB 0 1 0 1 0 0 0 1 0 0
+1->id7255 MLPROB 0 1 0 1 0 1 0 0 0 1
+1->id7257 MLPROB 0 0 1 0 1 0 0 1 0 1
+1->id7333 MLPROB 0 1 0 1 0 0 0 1 0 0
+1->id7355 MLPROB 0 1 0 1 0 1 0 0 0 0
+1->id7369 MLPROB 0 1 0 0 0 1 0 0 0 0
+1->id7415 MLPROB 1 0 0 0 0 0 0 0 0 0
+1->id7451 MLPROB 0 1 1 0 0 1 0 1 0 1
+1->id7499 MLPROB 0 0 0 0 0 0 0 0 0 0
+1->id7507 MLPROB 0 1 1 0 0 0 0 0 0 0
+1->id7514 MLPROB 1 0 1 0 0 0 0 0 0 0
+1->id7528 MLPROB 0 1 0 0 0 0 0 0 0 0
+1->id7541 MLPROB 0 0 1 0 0 0 0 0 0 0
+1->id7546 MLPROB 0 0 0 0 1 0 0 1 1 0
+1->id7563 MLPROB 0 0 0 1 0 1 0 0 0 0
+1->id7570 MLPROB 1 0 0 1 0 1 0 0 0 0
+1->id7589 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id7598 MLPROB 1 0 0 1 0 0 0 0 0 0
+1->id7607 MLPROB 0 1 0 0 1 0 0 0 0 0
+1->id7623 MLPROB 0 1 0 1 0 0 0 1 0 0
+1->id7652 MLPROB 0 0 1 0 0 1 0 1 0 1
+1->id7733 MLPROB 1 0 0 1 0 1 0 0 0 0
+1->id7737 MLPROB 0 0 0 1 0 1 0 0 0 1
+1->id7738 MLPROB 0 1 0 0 0 0 0 0 0 0
+1->id7771 MLPROB 0 0 1 0 0 1 0 0 0 1
+1->id7772 MLPROB 0 1 0 0 0 0 0 0 0 0
+1->id7801 MLPROB 0 1 0 1 0 1 0 0 0 0
+1->id7814 MLPROB 0 0 0 0 0 1 0 0 0 1
+1->id7835 MLPROB 0 1 0 0 0 0 1 0 0 0
+1->id7850 MLPROB 0 0 0 1 0 0 0 0 0 0
+1->id7868 MLPROB 0 1 0 0 0 1 0 0 0 1
+1->id7909 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id7939 MLPROB 1 0 0 0 0 0 0 0 0 0
+1->id7949 MLPROB 0 1 0 0 0 0 0 0 0 0
+1->id7952 MLPROB 0 1 0 1 0 1 0 1 0 1
+1->id8059 MLPROB 0 1 0 0 0 1 0 1 0 1
+1->id8109 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id8115 MLPROB 0 1 0 1 0 1 0 1 0 0
+1->id8128 MLPROB 0 1 0 0 0 0 0 0 0 0
+1->id8136 MLPROB 1 0 0 1 0 0 0 0 0 0
+1->id8138 MLPROB 1 0 0 0 0 1 0 1 0 0
+1->id8143 MLPROB 0 1 0 1 0 1 0 0 0 0
+1->id8208 MLPROB 1 0 0 0 0 0 0 1 0 0
+1->id8213 MLPROB 0 1 0 0 0 1 0 0 0 0
+1->id8268 MLPROB 1 0 0 0 0 0 0 0 0 0
+1->id8281 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id8286 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id8326 MLPROB 1 0 0 1 0 1 0 0 0 0
+1->id8400 MLPROB 1 0 0 0 0 0 1 0 0 0
+1->id8423 MLPROB 0 0 0 1 0 0 0 0 0 0
+1->id8433 MLPROB 0 1 0 0 0 0 0 0 0 0
+1->id8517 MLPROB 0 0 0 1 0 1 0 1 0 0
+1->id8583 MLPROB 0 1 0 0 0 0 0 1 0 0
+1->id8604 MLPROB 0 1 0 1 0 1 0 0 0 0
+1->id8614 MLPROB 0 1 0 1 0 1 0 0 0 0
+1->id8690 MLPROB 0 0 0 1 0 1 0 0 0 0
+1->id8693 MLPROB 1 0 0 1 0 0 0 0 0 0
+1->id8729 MLPROB 0 0 1 0 0 1 0 0 0 1
+1->id8752 MLPROB 0 1 0 0 1 0 0 0 0 0
+1->id8753 MLPROB 0 1 0 0 0 0 0 1 0 0
+1->id8772 MLPROB 0 1 1 0 0 1 0 0 0 1
+1->id8801 MLPROB 0 0 0 0 0 0 0 1 0 0
+1->id8819 MLPROB 0 1 0 0 0 1 0 1 0 0
+1->id8842 MLPROB 1 0 0 1 0 0 0 0 0 0
+1->id8859 MLPROB NaN NaN 0 0 0 1 0 1 0 0
+1->id8865 MLPROB 0 1 0 1 1 0 0 0 0 0
+1->id8880 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id8890 MLPROB 0 1 0 1 0 1 0 0 0 0
+1->id8894 MLPROB 0 1 0 0 0 0 0 1 0 0
+1->id8917 MLPROB 0 1 1 0 0 1 0 0 0 0
+1->id8930 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id8935 MLPROB 0 1 0 1 0 0 0 1 0 0
+1->id8957 MLPROB 1 0 0 1 0 1 0 0 0 0
+1->id8996 MLPROB 0 1 1 0 0 0 0 0 0 0
+1->id9020 MLPROB 0 1 0 0 0 0 0 0 0 0
+1->id9026 MLPROB 1 0 0 1 0 0 0 0 0 0
+1->id9033 MLPROB 1 0 0 1 0 0 0 0 0 0
+1->id9058 MLPROB 1 0 0 0 0 1 0 0 0 0
+1->id9061 MLPROB 0 1 0 1 0 1 0 0 0 1
+1->id9082 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id9132 MLPROB 1 0 0 1 0 0 0 0 0 0
+1->id9166 MLPROB 1 0 0 1 0 1 0 0 0 0
+1->id9178 MLPROB 0 1 0 0 0 0 0 0 0 0
+1->id9234 MLPROB 0 1 0 0 0 1 0 0 0 0
+1->id9238 MLPROB 0 0 1 0 0 1 0 0 0 0
+1->id9242 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id9259 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id9266 MLPROB 1 0 0 1 0 1 0 0 0 0
+1->id9321 MLPROB 1 0 1 0 0 0 0 0 0 0
+1->id9340 MLPROB 0 1 0 1 0 1 0 0 0 0
+1->id9408 MLPROB 0 1 0 1 0 1 0 0 0 0
+1->id9410 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id9411 MLPROB 0 1 0 1 0 0 0 1 0 0
+1->id9449 MLPROB 0 1 0 0 NaN NaN 0 0 0 0
+1->id9487 MLPROB 0 1 0 1 1 0 0 1 NaN NaN
+1->id9511 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id9570 MLPROB 0 1 1 0 0 0 0 1 0 0
+1->id9588 MLPROB 1 0 0 1 0 1 0 0 0 0
+1->id9614 MLPROB 0 1 0 1 0 1 0 0 0 0
+1->id9643 MLPROB 1 0 0 1 0 1 0 0 0 0
+1->id9658 MLPROB 1 0 0 1 0 1 0 1 NaN NaN
+1->id9760 MLPROB 0 1 0 0 0 0 0 1 0 0
+1->id9800 MLPROB 0 0 1 0 0 0 0 0 0 0
+1->id9851 MLPROB 0 1 0 0 0 1 0 0 0 1
+1->id9852 MLPROB 0 1 0 0 0 1 0 1 0 0
+1->id9859 MLPROB 1 0 0 1 0 1 0 1 0 0
+1->id9862 MLPROB 0 0 0 1 0 1 0 0 0 1
+1->id9877 MLPROB 0 1 0 1 0 1 0 1 0 0
+1->id9883 MLPROB 1 0 0 0 0 0 0 0 0 0
+1->id9893 MLPROB 1 0 0 0 0 1 0 1 0 0
+1->id9901 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id9906 MLPROB 0 1 0 0 0 1 0 0 0 0
+1->id9918 MLPROB 0 0 0 1 0 1 0 0 0 1
+1->id9930 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id9956 MLPROB 0 0 0 0 0 0 0 0 0 0
+1->id9990 MLPROB 0 1 0 1 0 1 0 0 0 1
+1->id9997 MLPROB 0 1 0 0 0 1 0 0 0 1
+1->id5465 MLPROB 0 0 1 0 0 1 0 0 0 0
+1->id4625 MLPROB 0 0 0 0 0 1 0 0 0 1
+1->id7159 MLPROB 0 0 0 0 0 1 0 0 0 0
+1->id8416 MLPROB NaN NaN 0 0 0 1 0 0 0 0
+1->id9444 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id2622 MLPROB 0 1 0 1 0 0 0 1 0 0
+1->id7493 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id1102 MLPROB 0 0 1 0 0 0 0 0 0 0
+1->id3210 MLPROB 1 0 0 1 0 1 0 0 0 0
+1->id541 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id6471 MLPROB 0 1 0 0 0 0 0 0 0 0
+1->id697 MLPROB 0 1 1 0 0 1 0 0 0 0
+1->id6924 MLPROB 0 0 0 0 1 0 0 0 0 0
+1->id8060 MLPROB 1 0 0 1 0 1 0 0 0 0
+1->id2004 MLPROB 1 0 0 1 0 0 0 1 0 0
+1->id7534 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id9836 MLPROB 0 0 1 0 0 1 0 0 0 1
+1->id1389 MLPROB 0 1 0 1 0 0 0 1 0 0
+1->id6062 MLPROB 0 1 1 0 0 1 0 0 0 0
+1->id5546 MLPROB 0 0 0 1 NaN NaN 0 0 0 0
+1->id4096 MLPROB 0 1 0 0 0 0 0 0 0 0
+1->id9185 MLPROB 0 1 1 0 0 0 0 0 0 0
+1->id3917 MLPROB 0 1 0 1 0 1 0 1 0 0
+1->id5941 MLPROB 1 0 0 0 0 0 0 0 0 0
+1->id5701 MLPROB 0 1 1 0 0 1 0 0 0 0
+1->id4711 MLPROB 0 1 0 1 0 1 0 1 0 1
+1->id5689 MLPROB 1 0 0 1 0 0 0 1 0 0
+1->id7947 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id5556 MLPROB 0 0 1 0 0 1 0 1 0 0
+1->id5472 MLPROB 1 0 0 1 0 0 0 0 0 0
+1->id1482 MLPROB 1 0 0 0 0 1 0 1 0 0
+1->id8034 MLPROB NaN NaN 1 0 0 0 0 0 0 0
+1->id6609 MLPROB 0 1 0 0 0 0 NaN NaN 0 0
+1->id2181 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id226 MLPROB 0 1 0 0 0 0 0 1 0 0
+1->id4947 MLPROB 1 0 1 0 0 0 0 0 0 0
+1->id9626 MLPROB 0 0 0 1 0 1 0 0 0 1
+1->id3825 MLPROB 0 0 0 0 0 0 0 0 0 0
+1->id5114 MLPROB 0 1 0 0 0 0 0 1 0 0
+1->id3059 MLPROB 1 0 0 0 0 1 0 0 0 0
+1->id967 MLPROB 0 1 1 0 0 1 0 0 0 0
+1->id4505 MLPROB 0 1 0 1 0 1 0 0 0 0
+1->id455 MLPROB 1 0 0 0 0 0 0 0 0 0
+1->id6934 MLPROB 0 1 0 1 1 0 0 0 0 0
+1->id8474 MLPROB 0 1 0 0 0 1 0 0 0 0
+1->id5971 MLPROB 1 0 0 1 0 1 0 0 0 0
+1->id283 MLPROB 0 1 0 0 0 1 0 0 0 0
+1->id2338 MLPROB 0 1 0 1 0 1 0 0 0 1
+1->id4484 MLPROB 1 0 1 0 0 0 0 0 0 0
+1->id1515 MLPROB 0 1 0 1 0 1 0 0 0 0
+1->id9678 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id2837 MLPROB 1 0 0 0 0 0 0 0 0 0
+1->id8545 MLPROB 0 1 0 0 0 1 0 1 0 0
+1->id4474 MLPROB 0 0 0 1 0 1 0 1 0 0
+1->id2606 MLPROB 0 0 0 1 0 1 0 1 0 0
+1->id4211 MLPROB 1 0 0 1 0 0 0 0 0 0
+1->id992 MLPROB 1 0 0 1 0 1 0 0 0 0
+1->id5334 MLPROB 0 0 0 0 0 0 0 0 0 0
+1->id2605 MLPROB 0 0 0 0 0 0 0 0 0 0
+1->id8351 MLPROB 1 0 0 1 0 1 0 1 0 0
+1->id4425 MLPROB 0 1 1 0 0 0 0 0 0 0
+1->id6808 MLPROB 0 1 0 1 0 0 0 0 0 0
+1->id9406 MLPROB 1 0 0 1 0 0 0 1 0 0
+1->id5419 MLPROB 1 0 0 1 0 0 0 0 0 0
+1->id620 MLPROB 0 1 0 1 0 0 0 1 0 0
+1->id6359 MLPROB 1 0 0 1 0 1 0 1 0 0
+1->id2418 MLPROB 0 0 0 1 0 1 0 0 0 0
+1->id7928 MLPROB 1 0 0 1 0 0 0 0 0 0
+1->id4935 MLPROB 1 0 0 1 0 0 0 0 0 0
+1->id1791 MLPROB 0 1 0 0 0 0 0 0 0 0
+1->id6424 MLPROB NaN NaN 0 0 0 0 0 0 0 0
+1->id8618 MLPROB 1 0 1 0 1 0 0 0 0 0
+1->id1449 MLPROB 0 0 0 1 0 1 0 0 0 0
+1->id8737 MLPROB 1 0 0 1 0 0 0 0 0 0
+1->id517 MLPROB 0 0 0 0 0 1 0 0 0 0
+1->id1960 MLPROB NaN NaN 1 0 0 0 0 0 0 0
diff --git a/examples/gtdata/mmscore_gen.prob.fvd b/examples/gtdata/mmscore_gen.prob.fvd
new file mode 100644
index 0000000..bc56e4d
Binary files /dev/null and b/examples/gtdata/mmscore_gen.prob.fvd differ
diff --git a/examples/gtdata/mmscore_gen.prob.fvi b/examples/gtdata/mmscore_gen.prob.fvi
new file mode 100644
index 0000000..1bd4e29
Binary files /dev/null and b/examples/gtdata/mmscore_gen.prob.fvi differ
diff --git a/examples/gtdata/test.dose.fvd b/examples/gtdata/test.dose.fvd
new file mode 100644
index 0000000..531d0bd
Binary files /dev/null and b/examples/gtdata/test.dose.fvd differ
diff --git a/examples/gtdata/test.dose.fvi b/examples/gtdata/test.dose.fvi
new file mode 100644
index 0000000..1937e3f
Binary files /dev/null and b/examples/gtdata/test.dose.fvi differ
diff --git a/examples/gtdata/test.map b/examples/gtdata/test.map
new file mode 100644
index 0000000..d640156
--- /dev/null
+++ b/examples/gtdata/test.map
@@ -0,0 +1,6 @@
+rs position 0 1
+rs7247199 204938 A G
+rs8102643 207859 C T
+rs8102615 211970 A T
+rs8105536 212033 A G
+rs2312724 217034 C T
diff --git a/examples/gtdata/test.mldose b/examples/gtdata/test.mldose
new file mode 100644
index 0000000..a2f10e4
--- /dev/null
+++ b/examples/gtdata/test.mldose
@@ -0,0 +1,200 @@
+1->id636728 MLDOSE 0.678 1.622 1.732 1.585 1.867
+2->id890314 MLDOSE 0.66 1.621 1.737 1.59 1.869
+3->id102874 MLDOSE 0.684 1.623 1.731 1.585 1.866
+4->id200949 MLDOSE 0.667 NaN 1.728 1.576 1.866
+5->id336491 MLDOSE 0.66 1.609 1.737 1.577 1.869
+6->id988766 MLDOSE 0.687 1.622 1.738 1.59 1.868
+7->id21999 MLDOSE 0.67 1.62 1.735 1.588 1.867
+8->id433893 MLDOSE 0.663 1.615 1.734 1.572 1.869
+9->id688932 MLDOSE 0.672 1.619 1.729 1.585 1.862
+10->id394203 MLDOSE 0.666 1.619 1.729 1.58 1.863
+11->id995678 MLDOSE 0.672 1.619 1.733 1.583 1.867
+12->id694339 MLDOSE 0.666 1.615 1.733 1.59 1.869
+13->id256455 MLDOSE 0.673 1.617 1.737 1.584 1.869
+14->id14836 MLDOSE 0.672 1.62 1.737 1.582 1.869
+15->id817128 MLDOSE 0.666 1.609 1.735 1.589 1.868
+16->id803325 MLDOSE 0.678 1.62 1.73 1.591 1.868
+17->id521287 MLDOSE 0.661 1.618 1.736 1.585 1.87
+18->id701472 MLDOSE 0.666 1.621 1.731 1.585 1.867
+19->id850010 MLDOSE 0.669 1.615 1.736 1.581 1.868
+20->id268483 MLDOSE 0.669 1.618 1.732 1.582 1.865
+21->id738781 MLDOSE 0.666 1.611 1.73 1.59 1.862
+22->id28411 MLDOSE 0.66 1.62 1.735 1.57 1.869
+23->id541635 MLDOSE 0.669 1.622 1.725 1.558 1.868
+24->id751101 MLDOSE 0.669 1.624 1.738 1.589 1.869
+25->id826300 MLDOSE 0.666 1.605 1.736 1.586 1.869
+26->id884387 MLDOSE 0.661 1.604 1.734 1.587 1.868
+27->id492414 MLDOSE 0.666 1.619 1.733 1.583 1.866
+28->id268871 MLDOSE 0.669 1.621 1.731 1.576 1.869
+29->id627354 MLDOSE 0.666 1.615 1.735 1.59 1.869
+30->id503932 MLDOSE 0.66 1.62 1.735 1.586 1.867
+31->id163442 MLDOSE 0.675 1.621 1.737 1.586 1.869
+32->id317797 MLDOSE 0.654 1.625 1.739 1.57 1.87
+33->id687857 MLDOSE 0.667 1.621 1.734 1.586 1.869
+34->id871570 MLDOSE 0.666 1.61 1.731 1.576 1.864
+35->id724067 MLDOSE 0.666 1.619 1.736 1.583 1.868
+36->id874076 MLDOSE 0.676 1.617 1.738 1.585 1.869
+37->id927863 MLDOSE 0.67 1.62 1.734 1.586 1.865
+38->id369805 MLDOSE 0.663 1.616 1.73 1.583 1.867
+39->id668376 MLDOSE 0.675 1.617 1.736 1.582 1.869
+40->id717362 MLDOSE 0.66 1.62 1.736 1.59 1.869
+41->id665504 MLDOSE 0.669 1.618 1.732 1.578 1.867
+42->id336637 MLDOSE 0.661 1.618 1.734 1.576 1.865
+43->id60633 MLDOSE 0.669 1.619 1.731 1.579 1.866
+44->id848600 MLDOSE 0.664 1.615 1.737 1.576 1.869
+45->id169514 MLDOSE 0.664 1.615 1.737 1.583 1.869
+46->id690732 MLDOSE 0.663 1.619 1.737 1.586 1.868
+47->id684760 MLDOSE 0.667 1.62 1.734 1.578 1.866
+48->id553502 MLDOSE 0.672 1.608 1.732 1.59 1.869
+49->id214917 MLDOSE 0.669 1.618 1.727 1.588 1.865
+50->id849169 MLDOSE 0.664 1.624 1.733 1.588 1.867
+51->id941921 MLDOSE 0.667 1.619 1.731 1.588 1.862
+52->id784646 MLDOSE 0.663 1.603 1.739 1.584 1.87
+53->id520954 MLDOSE 0.664 1.619 1.732 1.581 1.864
+54->id996355 MLDOSE 0.66 1.605 1.736 1.586 1.865
+55->id96730 MLDOSE 0.664 1.619 1.736 1.573 1.868
+56->id673442 MLDOSE 0.666 1.609 1.735 1.575 1.867
+57->id68305 MLDOSE 0.672 1.618 1.735 1.585 1.866
+58->id653025 MLDOSE 0.678 1.617 1.738 1.585 1.868
+59->id208543 MLDOSE 0.664 1.618 1.734 1.58 1.868
+60->id335725 MLDOSE 0.666 1.616 1.714 1.593 1.845
+61->id980400 MLDOSE 0.663 1.607 1.733 1.588 1.867
+62->id869939 MLDOSE 0.667 1.619 1.733 1.588 1.865
+63->id297563 MLDOSE 0.673 1.614 1.72 1.585 1.866
+64->id852663 MLDOSE 0.666 1.603 1.729 1.585 1.87
+65->id162070 MLDOSE 0.666 1.619 1.728 1.572 1.868
+66->id272875 MLDOSE 0.66 1.605 1.737 1.584 1.869
+67->id163787 MLDOSE 0.661 1.616 1.723 1.584 1.87
+68->id422204 MLDOSE 0.663 1.615 1.734 1.576 1.867
+69->id120197 MLDOSE 0.66 1.62 1.731 1.588 1.87
+70->id33660 MLDOSE 0.658 1.62 1.736 1.571 1.869
+71->id803855 MLDOSE 0.669 1.616 1.732 1.586 1.865
+72->id255048 MLDOSE 0.675 1.616 1.726 1.582 1.866
+73->id690936 MLDOSE 0.657 1.588 1.738 1.59 1.87
+74->id126807 MLDOSE 0.667 1.612 1.731 1.589 1.864
+75->id99016 MLDOSE 0.667 1.612 1.734 1.59 1.864
+76->id883847 MLDOSE 0.666 1.611 1.736 1.587 1.869
+77->id354523 MLDOSE 0.669 1.62 1.734 1.584 1.868
+78->id737255 MLDOSE 0.666 1.623 1.733 1.569 1.867
+79->id990941 MLDOSE 0.675 1.62 1.734 1.585 1.869
+80->id25464 MLDOSE 0.673 1.62 1.737 1.579 1.868
+81->id918375 MLDOSE 0.672 1.621 1.737 1.58 1.869
+82->id537828 MLDOSE 0.666 1.613 1.729 1.585 1.869
+83->id682778 MLDOSE 0.658 1.621 1.737 1.573 1.869
+84->id587547 MLDOSE 0.669 1.62 1.738 1.585 1.868
+85->id670874 MLDOSE 0.666 1.618 1.734 1.58 1.867
+86->id444459 MLDOSE 0.66 1.617 1.734 1.577 1.87
+87->id777456 MLDOSE 0.663 1.615 1.732 1.581 1.865
+88->id452384 MLDOSE 0.666 1.625 1.738 1.588 1.869
+89->id826975 MLDOSE 0.669 1.619 1.731 1.582 1.865
+90->id519567 MLDOSE 0.66 1.621 1.732 1.586 1.869
+91->id84292 MLDOSE 0.663 1.618 1.737 1.582 1.868
+92->id124432 MLDOSE 0.684 1.621 1.736 1.591 1.867
+93->id800145 MLDOSE 0.681 1.621 1.737 1.587 1.869
+94->id153857 MLDOSE 0.661 1.617 1.739 1.585 1.87
+95->id587157 MLDOSE 0.663 1.619 1.736 1.584 1.866
+96->id506262 MLDOSE 0.664 1.613 1.719 1.592 1.855
+97->id634462 MLDOSE 0.673 1.623 1.737 1.585 1.869
+98->id687592 MLDOSE 0.664 1.615 1.726 1.584 1.869
+99->id955526 MLDOSE 0.663 1.621 1.737 1.566 1.869
+100->id181850 MLDOSE 0.66 1.603 1.736 1.586 1.869
+101->id159506 MLDOSE 0.667 1.621 1.735 1.585 1.868
+102->id609051 MLDOSE 0.675 1.618 1.73 1.59 1.86
+103->id963886 MLDOSE 0.663 1.612 1.739 1.581 1.87
+104->id405792 MLDOSE 0.682 1.621 1.737 1.589 1.869
+105->id494172 MLDOSE 0.66 1.607 1.736 1.58 1.868
+106->id964637 MLDOSE 0.663 1.616 1.73 1.59 1.861
+107->id799355 MLDOSE 0.669 1.62 1.735 1.585 1.868
+108->id157111 MLDOSE 0.658 1.601 1.731 1.588 1.87
+109->id114524 MLDOSE 0.666 1.603 1.729 1.585 1.87
+110->id954931 MLDOSE 0.676 1.62 1.733 1.585 1.868
+111->id827034 MLDOSE 0.664 1.613 1.737 1.579 1.869
+112->id689645 MLDOSE 0.657 1.611 1.736 1.59 1.868
+113->id281585 MLDOSE 0.673 1.621 1.736 1.584 1.869
+114->id885624 MLDOSE 0.672 1.619 1.734 1.585 1.869
+115->id577871 MLDOSE 0.67 1.616 1.731 1.585 1.864
+116->id238796 MLDOSE 0.667 1.62 1.734 1.585 1.867
+117->id481035 MLDOSE 0.664 1.62 1.737 1.588 1.867
+118->id972713 MLDOSE 0.666 1.611 1.73 1.589 1.869
+119->id905484 MLDOSE 0.66 1.62 1.728 1.572 1.869
+120->id713511 MLDOSE 0.664 1.605 1.733 1.585 1.866
+121->id512328 MLDOSE 0.67 1.616 1.737 1.584 1.869
+122->id703534 MLDOSE 0.67 1.615 1.731 1.59 1.862
+123->id409904 MLDOSE 0.678 1.622 1.734 1.585 1.868
+124->id577169 MLDOSE 0.669 1.616 1.734 1.582 1.867
+125->id813971 MLDOSE 0.657 1.606 1.72 1.591 1.85
+126->id558483 MLDOSE 0.669 1.62 1.737 1.59 1.868
+127->id892784 MLDOSE 0.669 1.621 1.733 1.586 1.866
+128->id611178 MLDOSE 0.666 1.611 1.735 1.582 1.866
+129->id192732 MLDOSE 0.666 1.618 1.735 1.59 1.868
+130->id917280 MLDOSE 0.66 1.602 1.736 1.567 1.869
+131->id435876 MLDOSE 0.678 1.619 1.739 1.586 1.87
+132->id980722 MLDOSE 0.663 1.62 1.735 1.572 1.869
+133->id308273 MLDOSE 0.661 1.617 1.737 1.582 1.868
+134->id476685 MLDOSE 0.675 1.618 1.733 1.584 1.867
+135->id315883 MLDOSE 0.669 1.612 1.736 1.573 1.869
+136->id935945 MLDOSE 0.663 1.614 1.733 1.58 1.865
+137->id991781 MLDOSE 0.664 1.614 1.731 1.586 1.864
+138->id65199 MLDOSE 0.661 1.619 1.731 1.575 1.869
+139->id226233 MLDOSE 0.661 1.618 1.724 1.59 1.854
+140->id860183 MLDOSE 0.66 1.609 1.734 1.577 1.866
+141->id295209 MLDOSE 0.669 1.614 1.735 1.585 1.867
+142->id544964 MLDOSE 0.669 1.619 1.732 1.582 1.868
+143->id648663 MLDOSE 0.666 1.617 1.734 1.585 1.868
+144->id710165 MLDOSE 0.666 1.615 1.728 1.585 1.869
+145->id392593 MLDOSE 0.666 1.621 1.738 1.569 1.868
+146->id129945 MLDOSE 0.66 1.62 1.733 1.587 1.869
+147->id382621 MLDOSE 0.684 1.621 1.736 1.591 1.867
+148->id901440 MLDOSE 0.661 1.615 1.718 1.59 1.852
+149->id39847 MLDOSE 0.669 1.619 1.729 1.58 1.863
+150->id526460 MLDOSE 0.664 1.614 1.731 1.586 1.863
+151->id477473 MLDOSE 0.672 1.619 1.73 1.589 1.862
+152->id448194 MLDOSE 0.669 1.614 1.737 1.586 1.868
+153->id904184 MLDOSE 0.67 1.618 1.73 1.577 1.868
+154->id747852 MLDOSE 0.664 1.615 1.73 1.578 1.869
+155->id711012 MLDOSE 0.672 1.605 1.736 1.575 1.868
+156->id683879 MLDOSE 0.672 1.619 1.734 1.588 1.867
+157->id789575 MLDOSE 0.658 1.618 1.733 1.591 1.863
+158->id650729 MLDOSE 0.676 1.615 1.733 1.589 1.867
+159->id934302 MLDOSE 0.66 1.62 1.733 1.581 1.866
+160->id555013 MLDOSE 0.667 1.622 1.731 1.574 1.865
+161->id82779 MLDOSE 0.675 1.618 1.73 1.585 1.867
+162->id771444 MLDOSE 0.669 1.616 1.718 1.592 1.856
+163->id821562 MLDOSE 0.675 1.625 1.739 1.58 1.87
+164->id292809 MLDOSE 0.66 1.614 1.731 1.58 1.869
+165->id645690 MLDOSE 0.684 1.624 1.733 1.586 1.867
+166->id223901 MLDOSE 0.666 1.615 1.733 1.576 1.868
+167->id41320 MLDOSE 0.661 1.617 1.732 1.576 1.869
+168->id96181 MLDOSE 0.684 1.621 1.716 1.593 1.867
+169->id147900 MLDOSE 0.658 1.603 1.738 1.577 1.868
+170->id702917 MLDOSE 0.669 1.614 1.731 1.59 1.864
+171->id150640 MLDOSE 0.669 1.621 1.734 1.583 1.868
+172->id518391 MLDOSE 0.66 1.62 1.736 1.589 1.869
+173->id879076 MLDOSE 0.661 1.613 1.738 1.573 1.868
+174->id952031 MLDOSE 0.66 1.621 1.734 1.58 1.866
+175->id10055 MLDOSE 0.67 1.611 1.732 1.589 1.866
+176->id727213 MLDOSE 0.664 1.622 1.733 1.583 1.869
+177->id41961 MLDOSE 0.66 1.62 1.737 1.572 1.867
+178->id257209 MLDOSE 0.673 1.616 1.736 1.588 1.869
+179->id995361 MLDOSE 0.661 1.62 1.723 1.571 1.868
+180->id957918 MLDOSE 0.663 1.618 1.726 1.581 1.869
+181->id975370 MLDOSE 0.67 1.614 1.738 1.583 1.87
+182->id889896 MLDOSE 0.679 1.618 1.733 1.589 1.869
+183->id978164 MLDOSE 0.669 1.62 1.735 1.586 1.868
+184->id90359 MLDOSE 0.675 1.621 1.737 1.58 1.869
+185->id307158 MLDOSE 0.675 1.615 1.71 1.591 1.86
+186->id755940 MLDOSE 0.669 1.618 1.734 1.577 1.869
+187->id995582 MLDOSE 0.666 1.615 1.724 1.591 1.853
+188->id363965 MLDOSE 0.663 1.619 1.736 1.574 1.868
+189->id729124 MLDOSE 0.666 1.611 1.73 1.587 1.86
+190->id871963 MLDOSE 0.67 1.62 1.737 1.585 1.868
+191->id475172 MLDOSE 0.663 1.621 1.737 1.579 1.869
+192->id804699 MLDOSE 0.663 1.619 1.731 1.581 1.868
+193->id625843 MLDOSE 0.667 1.622 1.738 1.583 1.87
+194->id595713 MLDOSE 0.657 1.599 1.736 1.588 1.869
+195->id462604 MLDOSE 0.663 1.616 1.731 1.584 1.867
+196->id106141 MLDOSE 0.672 1.612 1.732 1.589 1.864
+197->id689349 MLDOSE 0.666 1.609 1.738 1.583 1.869
+198->id639003 MLDOSE 0.672 1.618 1.728 1.58 1.863
+199->id393896 MLDOSE 0.663 1.617 1.73 1.579 1.868
+200->id450307 MLDOSE 0.663 1.622 1.739 1.588 1.87
diff --git a/examples/gtdata/test.mlinfo b/examples/gtdata/test.mlinfo
new file mode 100644
index 0000000..41187ce
--- /dev/null
+++ b/examples/gtdata/test.mlinfo
@@ -0,0 +1,6 @@
+SNP Al1 Al2 Freq1 MAF Quality Rsq
+rs7247199 GAC A 0.5847 0.4150 0.9299 0.8666
+rs8102643 C TGGT 0.5847 0.4150 0.9308 0.8685
+rs8102615 T A 0.5006 0.4702 0.9375 0.8932
+rs8105536 G A 0.5783 0.4213 0.9353 0.8832
+rs2312724 T C 0.9122 0.0877 0.9841 0.9232
diff --git a/examples/gtdata/test.mlprob b/examples/gtdata/test.mlprob
new file mode 100644
index 0000000..27305a5
--- /dev/null
+++ b/examples/gtdata/test.mlprob
@@ -0,0 +1,200 @@
+1->id636728 ML_PROB 0.115 0.448 0.658 0.306 0.75 0.232 0.628 0.329 0.871 0.125
+2->id890314 ML_PROB 0.109 0.442 0.657 0.307 0.754 0.229 0.632 0.326 0.873 0.123
+3->id102874 ML_PROB 0.117 0.45 0.659 0.305 0.749 0.233 0.628 0.329 0.87 0.126
+4->id200949 ML_PROB 0.111 0.445 NaN NaN 0.747 0.234 0.621 0.334 0.871 0.124
+5->id336491 ML_PROB 0.109 0.442 0.647 0.315 0.754 0.229 0.622 0.333 0.873 0.123
+6->id988766 ML_PROB 0.118 0.451 0.658 0.306 0.755 0.228 0.632 0.326 0.873 0.122
+7->id21999 ML_PROB 0.112 0.446 0.656 0.308 0.753 0.229 0.63 0.328 0.872 0.123
+8->id433893 ML_PROB 0.11 0.443 0.652 0.311 0.752 0.23 0.618 0.336 0.873 0.123
+9->id688932 ML_PROB 0.113 0.446 0.655 0.309 0.747 0.235 0.628 0.329 0.867 0.128
+10->id394203 ML_PROB 0.111 0.444 0.655 0.309 0.748 0.233 0.624 0.332 0.868 0.127
+11->id995678 ML_PROB 0.113 0.446 0.655 0.309 0.751 0.231 0.626 0.331 0.871 0.125
+12->id694339 ML_PROB 0.111 0.444 0.652 0.311 0.751 0.231 0.632 0.326 0.873 0.123
+13->id256455 ML_PROB 0.113 0.447 0.654 0.309 0.754 0.229 0.627 0.33 0.873 0.123
+14->id14836 ML_PROB 0.113 0.446 0.656 0.308 0.754 0.229 0.626 0.33 0.873 0.123
+15->id817128 ML_PROB 0.111 0.444 0.647 0.315 0.753 0.229 0.631 0.327 0.872 0.124
+16->id803325 ML_PROB 0.115 0.448 0.656 0.308 0.748 0.234 0.633 0.325 0.873 0.122
+17->id521287 ML_PROB 0.109 0.443 0.654 0.31 0.754 0.228 0.628 0.329 0.874 0.122
+18->id701472 ML_PROB 0.111 0.444 0.657 0.307 0.749 0.233 0.628 0.329 0.871 0.125
+19->id850010 ML_PROB 0.112 0.445 0.652 0.311 0.753 0.23 0.625 0.331 0.872 0.124
+20->id268483 ML_PROB 0.112 0.445 0.654 0.31 0.75 0.232 0.626 0.33 0.869 0.127
+21->id738781 ML_PROB 0.111 0.444 0.649 0.313 0.748 0.234 0.632 0.326 0.867 0.128
+22->id28411 ML_PROB 0.109 0.442 0.656 0.308 0.752 0.231 0.616 0.338 0.873 0.123
+23->id541635 ML_PROB 0.112 0.445 0.658 0.306 0.744 0.237 0.607 0.344 0.873 0.122
+24->id751101 ML_PROB 0.112 0.445 0.659 0.306 0.755 0.228 0.631 0.327 0.873 0.123
+25->id826300 ML_PROB 0.111 0.444 0.644 0.317 0.753 0.23 0.629 0.328 0.873 0.123
+26->id884387 ML_PROB 0.109 0.443 0.643 0.318 0.752 0.23 0.63 0.327 0.872 0.124
+27->id492414 ML_PROB 0.111 0.444 0.655 0.309 0.751 0.231 0.627 0.329 0.871 0.124
+28->id268871 ML_PROB 0.112 0.445 0.657 0.307 0.749 0.233 0.621 0.334 0.873 0.123
+29->id627354 ML_PROB 0.111 0.444 0.652 0.311 0.752 0.231 0.632 0.326 0.873 0.123
+30->id503932 ML_PROB 0.109 0.442 0.656 0.308 0.753 0.229 0.629 0.328 0.872 0.123
+31->id163442 ML_PROB 0.114 0.447 0.657 0.307 0.754 0.229 0.629 0.328 0.873 0.123
+32->id317797 ML_PROB 0.107 0.44 0.66 0.305 0.756 0.227 0.616 0.338 0.874 0.122
+33->id687857 ML_PROB 0.111 0.445 0.657 0.307 0.752 0.23 0.629 0.328 0.873 0.123
+34->id871570 ML_PROB 0.111 0.444 0.648 0.314 0.749 0.233 0.621 0.334 0.869 0.126
+35->id724067 ML_PROB 0.111 0.444 0.655 0.309 0.753 0.23 0.626 0.331 0.872 0.124
+36->id874076 ML_PROB 0.114 0.448 0.654 0.309 0.755 0.228 0.628 0.329 0.873 0.123
+37->id927863 ML_PROB 0.112 0.446 0.656 0.308 0.752 0.23 0.629 0.328 0.87 0.125
+38->id369805 ML_PROB 0.11 0.443 0.653 0.31 0.748 0.234 0.627 0.329 0.871 0.125
+39->id668376 ML_PROB 0.114 0.447 0.654 0.309 0.754 0.228 0.626 0.33 0.873 0.123
+40->id717362 ML_PROB 0.109 0.442 0.656 0.308 0.753 0.23 0.632 0.326 0.873 0.123
+41->id665504 ML_PROB 0.112 0.445 0.654 0.31 0.75 0.232 0.622 0.334 0.871 0.125
+42->id336637 ML_PROB 0.109 0.443 0.655 0.308 0.752 0.23 0.621 0.334 0.87 0.125
+43->id60633 ML_PROB 0.112 0.445 0.655 0.309 0.749 0.233 0.623 0.333 0.871 0.124
+44->id848600 ML_PROB 0.11 0.444 0.652 0.311 0.754 0.229 0.621 0.334 0.873 0.123
+45->id169514 ML_PROB 0.11 0.444 0.652 0.311 0.754 0.229 0.627 0.329 0.873 0.123
+46->id690732 ML_PROB 0.11 0.443 0.655 0.309 0.754 0.229 0.629 0.328 0.872 0.124
+47->id684760 ML_PROB 0.111 0.445 0.656 0.308 0.752 0.23 0.622 0.334 0.87 0.126
+48->id553502 ML_PROB 0.113 0.446 0.647 0.314 0.75 0.232 0.632 0.326 0.873 0.123
+49->id214917 ML_PROB 0.112 0.445 0.654 0.31 0.746 0.235 0.63 0.328 0.87 0.125
+50->id849169 ML_PROB 0.11 0.444 0.659 0.306 0.751 0.231 0.63 0.328 0.871 0.125
+51->id941921 ML_PROB 0.111 0.445 0.655 0.309 0.749 0.233 0.63 0.328 0.867 0.128
+52->id784646 ML_PROB 0.11 0.443 0.642 0.319 0.756 0.227 0.627 0.33 0.874 0.122
+53->id520954 ML_PROB 0.11 0.444 0.655 0.309 0.75 0.232 0.625 0.331 0.869 0.126
+54->id996355 ML_PROB 0.109 0.442 0.644 0.317 0.753 0.23 0.629 0.328 0.87 0.125
+55->id96730 ML_PROB 0.11 0.444 0.655 0.309 0.754 0.228 0.619 0.335 0.873 0.122
+56->id673442 ML_PROB 0.111 0.444 0.647 0.315 0.753 0.229 0.62 0.335 0.872 0.123
+57->id68305 ML_PROB 0.113 0.446 0.655 0.308 0.752 0.231 0.628 0.329 0.871 0.124
+58->id653025 ML_PROB 0.115 0.448 0.654 0.309 0.755 0.228 0.628 0.329 0.873 0.122
+59->id208543 ML_PROB 0.11 0.444 0.655 0.308 0.752 0.23 0.624 0.332 0.872 0.124
+60->id335725 ML_PROB 0.111 0.444 0.653 0.31 0.735 0.244 0.634 0.325 0.851 0.143
+61->id980400 ML_PROB 0.11 0.443 0.646 0.315 0.751 0.231 0.63 0.328 0.872 0.123
+62->id869939 ML_PROB 0.111 0.445 0.655 0.309 0.751 0.231 0.631 0.326 0.87 0.125
+63->id297563 ML_PROB 0.113 0.447 0.651 0.312 0.74 0.24 0.628 0.329 0.87 0.126
+64->id852663 ML_PROB 0.111 0.444 0.643 0.317 0.748 0.233 0.628 0.329 0.874 0.122
+65->id162070 ML_PROB 0.111 0.444 0.655 0.309 0.746 0.236 0.618 0.336 0.872 0.124
+66->id272875 ML_PROB 0.109 0.442 0.644 0.317 0.754 0.229 0.627 0.33 0.873 0.123
+67->id163787 ML_PROB 0.109 0.443 0.653 0.31 0.742 0.239 0.627 0.33 0.874 0.122
+68->id422204 ML_PROB 0.11 0.443 0.652 0.311 0.752 0.23 0.621 0.334 0.871 0.125
+69->id120197 ML_PROB 0.109 0.442 0.656 0.308 0.749 0.233 0.63 0.328 0.874 0.122
+70->id33660 ML_PROB 0.108 0.442 0.656 0.308 0.754 0.228 0.617 0.337 0.873 0.123
+71->id803855 ML_PROB 0.112 0.445 0.653 0.31 0.75 0.232 0.629 0.328 0.869 0.127
+72->id255048 ML_PROB 0.114 0.447 0.653 0.31 0.745 0.236 0.626 0.33 0.87 0.126
+73->id690936 ML_PROB 0.108 0.441 0.631 0.326 0.755 0.228 0.632 0.326 0.874 0.122
+74->id126807 ML_PROB 0.111 0.445 0.649 0.314 0.749 0.233 0.631 0.327 0.868 0.128
+75->id99016 ML_PROB 0.111 0.445 0.65 0.312 0.751 0.232 0.632 0.326 0.869 0.126
+76->id883847 ML_PROB 0.111 0.444 0.649 0.313 0.753 0.23 0.63 0.327 0.873 0.123
+77->id354523 ML_PROB 0.112 0.445 0.656 0.308 0.752 0.23 0.627 0.33 0.872 0.124
+78->id737255 ML_PROB 0.111 0.444 0.658 0.307 0.751 0.231 0.616 0.337 0.871 0.125
+79->id990941 ML_PROB 0.114 0.447 0.656 0.308 0.752 0.23 0.628 0.329 0.873 0.123
+80->id25464 ML_PROB 0.113 0.447 0.656 0.308 0.755 0.227 0.623 0.333 0.873 0.122
+81->id918375 ML_PROB 0.113 0.446 0.657 0.307 0.754 0.229 0.624 0.332 0.873 0.123
+82->id537828 ML_PROB 0.111 0.444 0.651 0.311 0.747 0.235 0.628 0.329 0.873 0.123
+83->id682778 ML_PROB 0.108 0.442 0.657 0.307 0.754 0.229 0.619 0.335 0.873 0.123
+84->id587547 ML_PROB 0.112 0.445 0.656 0.308 0.755 0.228 0.628 0.329 0.873 0.122
+85->id670874 ML_PROB 0.111 0.444 0.654 0.31 0.752 0.23 0.624 0.332 0.871 0.125
+86->id444459 ML_PROB 0.109 0.442 0.654 0.309 0.752 0.23 0.622 0.333 0.874 0.122
+87->id777456 ML_PROB 0.11 0.443 0.652 0.311 0.75 0.232 0.625 0.331 0.87 0.125
+88->id452384 ML_PROB 0.111 0.444 0.66 0.305 0.755 0.228 0.63 0.328 0.873 0.123
+89->id826975 ML_PROB 0.112 0.445 0.655 0.309 0.749 0.233 0.626 0.33 0.87 0.125
+90->id519567 ML_PROB 0.109 0.442 0.657 0.307 0.75 0.232 0.629 0.328 0.873 0.123
+91->id84292 ML_PROB 0.11 0.443 0.654 0.31 0.754 0.229 0.626 0.33 0.872 0.124
+92->id124432 ML_PROB 0.117 0.45 0.657 0.307 0.753 0.23 0.633 0.325 0.871 0.125
+93->id800145 ML_PROB 0.116 0.449 0.657 0.307 0.754 0.229 0.63 0.327 0.873 0.123
+94->id153857 ML_PROB 0.109 0.443 0.654 0.309 0.756 0.227 0.628 0.329 0.874 0.122
+95->id587157 ML_PROB 0.11 0.443 0.655 0.309 0.753 0.23 0.627 0.33 0.871 0.124
+96->id506262 ML_PROB 0.11 0.444 0.651 0.311 0.739 0.241 0.633 0.326 0.86 0.135
+97->id634462 ML_PROB 0.113 0.447 0.658 0.307 0.754 0.229 0.628 0.329 0.873 0.123
+98->id687592 ML_PROB 0.11 0.444 0.652 0.311 0.745 0.236 0.627 0.33 0.873 0.123
+99->id955526 ML_PROB 0.11 0.443 0.657 0.307 0.754 0.229 0.613 0.34 0.873 0.123
+100->id181850 ML_PROB 0.109 0.442 0.642 0.319 0.754 0.228 0.629 0.328 0.873 0.123
+101->id159506 ML_PROB 0.111 0.445 0.657 0.307 0.753 0.229 0.628 0.329 0.872 0.124
+102->id609051 ML_PROB 0.114 0.447 0.655 0.308 0.748 0.234 0.632 0.326 0.865 0.13
+103->id963886 ML_PROB 0.11 0.443 0.65 0.312 0.756 0.227 0.625 0.331 0.874 0.122
+104->id405792 ML_PROB 0.116 0.45 0.657 0.307 0.754 0.229 0.631 0.327 0.873 0.123
+105->id494172 ML_PROB 0.109 0.442 0.646 0.315 0.754 0.228 0.624 0.332 0.873 0.122
+106->id964637 ML_PROB 0.11 0.443 0.653 0.31 0.748 0.234 0.632 0.326 0.866 0.129
+107->id799355 ML_PROB 0.112 0.445 0.656 0.308 0.753 0.229 0.628 0.329 0.873 0.122
+108->id157111 ML_PROB 0.108 0.442 0.641 0.319 0.749 0.233 0.63 0.328 0.874 0.122
+109->id114524 ML_PROB 0.111 0.444 0.643 0.317 0.748 0.233 0.628 0.329 0.874 0.122
+110->id954931 ML_PROB 0.114 0.448 0.656 0.308 0.751 0.231 0.628 0.329 0.872 0.124
+111->id827034 ML_PROB 0.11 0.444 0.65 0.313 0.754 0.229 0.623 0.333 0.873 0.123
+112->id689645 ML_PROB 0.108 0.441 0.649 0.313 0.754 0.228 0.632 0.326 0.873 0.122
+113->id281585 ML_PROB 0.113 0.447 0.657 0.307 0.754 0.228 0.627 0.33 0.873 0.123
+114->id885624 ML_PROB 0.113 0.446 0.655 0.309 0.752 0.23 0.628 0.329 0.873 0.123
+115->id577871 ML_PROB 0.112 0.446 0.653 0.31 0.749 0.233 0.628 0.329 0.868 0.128
+116->id238796 ML_PROB 0.111 0.445 0.656 0.308 0.752 0.23 0.628 0.329 0.871 0.125
+117->id481035 ML_PROB 0.11 0.444 0.656 0.308 0.754 0.229 0.63 0.328 0.872 0.123
+118->id972713 ML_PROB 0.111 0.444 0.649 0.313 0.748 0.234 0.631 0.327 0.873 0.123
+119->id905484 ML_PROB 0.109 0.442 0.656 0.308 0.747 0.234 0.618 0.336 0.873 0.123
+120->id713511 ML_PROB 0.11 0.444 0.644 0.317 0.751 0.231 0.628 0.329 0.87 0.126
+121->id512328 ML_PROB 0.112 0.446 0.653 0.31 0.754 0.229 0.627 0.33 0.873 0.123
+122->id703534 ML_PROB 0.112 0.446 0.652 0.311 0.749 0.233 0.632 0.326 0.867 0.128
+123->id409904 ML_PROB 0.115 0.448 0.658 0.306 0.752 0.23 0.628 0.329 0.872 0.124
+124->id577169 ML_PROB 0.112 0.445 0.653 0.31 0.752 0.23 0.626 0.33 0.871 0.125
+125->id813971 ML_PROB 0.108 0.441 0.645 0.316 0.74 0.24 0.633 0.325 0.856 0.138
+126->id558483 ML_PROB 0.112 0.445 0.656 0.308 0.754 0.229 0.632 0.326 0.873 0.122
+127->id892784 ML_PROB 0.112 0.445 0.657 0.307 0.751 0.231 0.629 0.328 0.871 0.124
+128->id611178 ML_PROB 0.111 0.444 0.649 0.313 0.752 0.231 0.626 0.33 0.871 0.124
+129->id192732 ML_PROB 0.111 0.444 0.654 0.31 0.753 0.229 0.632 0.326 0.873 0.122
+130->id917280 ML_PROB 0.109 0.442 0.642 0.318 0.753 0.23 0.614 0.339 0.873 0.123
+131->id435876 ML_PROB 0.115 0.448 0.655 0.309 0.756 0.227 0.629 0.328 0.874 0.122
+132->id980722 ML_PROB 0.11 0.443 0.656 0.308 0.753 0.229 0.618 0.336 0.873 0.123
+133->id308273 ML_PROB 0.109 0.443 0.654 0.309 0.754 0.229 0.626 0.33 0.873 0.122
+134->id476685 ML_PROB 0.114 0.447 0.655 0.308 0.751 0.231 0.627 0.33 0.871 0.125
+135->id315883 ML_PROB 0.112 0.445 0.65 0.312 0.754 0.228 0.619 0.335 0.873 0.123
+136->id935945 ML_PROB 0.11 0.443 0.651 0.312 0.751 0.231 0.624 0.332 0.87 0.125
+137->id991781 ML_PROB 0.11 0.444 0.651 0.312 0.749 0.233 0.629 0.328 0.869 0.126
+138->id65199 ML_PROB 0.109 0.443 0.655 0.309 0.749 0.233 0.62 0.335 0.873 0.123
+139->id226233 ML_PROB 0.109 0.443 0.654 0.31 0.743 0.238 0.632 0.326 0.86 0.134
+140->id860183 ML_PROB 0.109 0.442 0.647 0.315 0.752 0.23 0.622 0.333 0.871 0.124
+141->id295209 ML_PROB 0.112 0.445 0.651 0.312 0.752 0.231 0.628 0.329 0.872 0.123
+142->id544964 ML_PROB 0.112 0.445 0.655 0.309 0.75 0.232 0.626 0.33 0.872 0.124
+143->id648663 ML_PROB 0.111 0.444 0.654 0.309 0.752 0.23 0.628 0.329 0.872 0.124
+144->id710165 ML_PROB 0.111 0.444 0.652 0.311 0.747 0.234 0.628 0.329 0.873 0.123
+145->id392593 ML_PROB 0.111 0.444 0.657 0.307 0.755 0.228 0.616 0.337 0.873 0.122
+146->id129945 ML_PROB 0.109 0.442 0.656 0.308 0.751 0.231 0.629 0.329 0.873 0.123
+147->id382621 ML_PROB 0.117 0.45 0.657 0.307 0.753 0.23 0.633 0.325 0.871 0.125
+148->id901440 ML_PROB 0.109 0.443 0.652 0.311 0.738 0.242 0.632 0.326 0.858 0.136
+149->id39847 ML_PROB 0.112 0.445 0.655 0.309 0.747 0.235 0.624 0.332 0.868 0.127
+150->id526460 ML_PROB 0.11 0.444 0.651 0.312 0.749 0.233 0.629 0.328 0.868 0.127
+151->id477473 ML_PROB 0.113 0.446 0.655 0.309 0.748 0.234 0.631 0.327 0.867 0.128
+152->id448194 ML_PROB 0.112 0.445 0.651 0.312 0.754 0.229 0.629 0.328 0.873 0.122
+153->id904184 ML_PROB 0.112 0.446 0.655 0.308 0.748 0.234 0.622 0.333 0.872 0.124
+154->id747852 ML_PROB 0.11 0.444 0.652 0.311 0.748 0.234 0.623 0.332 0.873 0.123
+155->id711012 ML_PROB 0.113 0.446 0.644 0.317 0.754 0.228 0.62 0.335 0.873 0.122
+156->id683879 ML_PROB 0.113 0.446 0.655 0.309 0.752 0.23 0.63 0.328 0.872 0.123
+157->id789575 ML_PROB 0.108 0.442 0.655 0.308 0.751 0.231 0.633 0.325 0.868 0.127
+158->id650729 ML_PROB 0.114 0.448 0.652 0.311 0.751 0.231 0.631 0.327 0.872 0.123
+159->id934302 ML_PROB 0.109 0.442 0.656 0.308 0.751 0.231 0.625 0.331 0.87 0.126
+160->id555013 ML_PROB 0.111 0.445 0.658 0.306 0.749 0.233 0.619 0.336 0.87 0.125
+161->id82779 ML_PROB 0.114 0.447 0.654 0.31 0.748 0.234 0.628 0.329 0.871 0.125
+162->id771444 ML_PROB 0.112 0.445 0.653 0.31 0.738 0.242 0.633 0.326 0.861 0.134
+163->id821562 ML_PROB 0.114 0.447 0.66 0.305 0.756 0.227 0.624 0.332 0.874 0.122
+164->id292809 ML_PROB 0.109 0.442 0.651 0.312 0.749 0.233 0.624 0.332 0.873 0.123
+165->id645690 ML_PROB 0.117 0.45 0.659 0.306 0.751 0.231 0.629 0.328 0.871 0.125
+166->id223901 ML_PROB 0.111 0.444 0.652 0.311 0.751 0.231 0.621 0.334 0.872 0.124
+167->id41320 ML_PROB 0.109 0.443 0.654 0.309 0.75 0.232 0.621 0.334 0.873 0.123
+168->id96181 ML_PROB 0.117 0.45 0.657 0.307 0.736 0.244 0.634 0.325 0.871 0.125
+169->id147900 ML_PROB 0.108 0.442 0.642 0.319 0.755 0.228 0.622 0.333 0.873 0.122
+170->id702917 ML_PROB 0.112 0.445 0.651 0.312 0.749 0.233 0.632 0.326 0.869 0.126
+171->id150640 ML_PROB 0.112 0.445 0.657 0.307 0.752 0.23 0.627 0.329 0.872 0.124
+172->id518391 ML_PROB 0.109 0.442 0.656 0.308 0.753 0.23 0.631 0.327 0.873 0.123
+173->id879076 ML_PROB 0.109 0.443 0.65 0.313 0.755 0.228 0.619 0.335 0.873 0.122
+174->id952031 ML_PROB 0.109 0.442 0.657 0.307 0.752 0.23 0.624 0.332 0.871 0.124
+175->id10055 ML_PROB 0.112 0.446 0.649 0.313 0.75 0.232 0.631 0.327 0.87 0.126
+176->id727213 ML_PROB 0.11 0.444 0.658 0.306 0.751 0.231 0.626 0.331 0.873 0.123
+177->id41961 ML_PROB 0.109 0.442 0.656 0.308 0.754 0.229 0.618 0.336 0.872 0.123
+178->id257209 ML_PROB 0.113 0.447 0.653 0.31 0.753 0.23 0.631 0.326 0.873 0.123
+179->id995361 ML_PROB 0.109 0.443 0.656 0.308 0.742 0.239 0.617 0.337 0.873 0.122
+180->id957918 ML_PROB 0.11 0.443 0.655 0.308 0.745 0.236 0.625 0.331 0.873 0.123
+181->id975370 ML_PROB 0.112 0.446 0.651 0.312 0.755 0.228 0.627 0.329 0.874 0.122
+182->id889896 ML_PROB 0.115 0.449 0.654 0.31 0.751 0.231 0.631 0.327 0.873 0.123
+183->id978164 ML_PROB 0.112 0.445 0.656 0.308 0.752 0.231 0.629 0.328 0.872 0.124
+184->id90359 ML_PROB 0.114 0.447 0.657 0.307 0.754 0.229 0.624 0.332 0.873 0.123
+185->id307158 ML_PROB 0.114 0.447 0.652 0.311 0.731 0.248 0.633 0.325 0.865 0.13
+186->id755940 ML_PROB 0.112 0.445 0.655 0.308 0.751 0.232 0.622 0.333 0.873 0.123
+187->id995582 ML_PROB 0.111 0.444 0.652 0.311 0.743 0.238 0.633 0.325 0.859 0.135
+188->id363965 ML_PROB 0.11 0.443 0.655 0.309 0.754 0.228 0.619 0.336 0.873 0.122
+189->id729124 ML_PROB 0.111 0.444 0.649 0.313 0.748 0.234 0.63 0.327 0.865 0.13
+190->id871963 ML_PROB 0.112 0.446 0.656 0.308 0.754 0.229 0.628 0.329 0.873 0.122
+191->id475172 ML_PROB 0.11 0.443 0.657 0.307 0.754 0.229 0.623 0.333 0.873 0.123
+192->id804699 ML_PROB 0.11 0.443 0.655 0.309 0.749 0.233 0.625 0.331 0.873 0.122
+193->id625843 ML_PROB 0.111 0.445 0.658 0.306 0.755 0.228 0.626 0.331 0.874 0.122
+194->id595713 ML_PROB 0.108 0.441 0.639 0.321 0.753 0.23 0.63 0.328 0.873 0.123
+195->id462604 ML_PROB 0.11 0.443 0.653 0.31 0.749 0.233 0.627 0.33 0.871 0.125
+196->id106141 ML_PROB 0.113 0.446 0.65 0.312 0.75 0.232 0.631 0.327 0.869 0.126
+197->id689349 ML_PROB 0.111 0.444 0.647 0.315 0.755 0.228 0.626 0.331 0.873 0.123
+198->id639003 ML_PROB 0.113 0.446 0.654 0.31 0.746 0.236 0.624 0.332 0.868 0.127
+199->id393896 ML_PROB 0.11 0.443 0.654 0.309 0.748 0.234 0.623 0.333 0.873 0.122
+200->id450307 ML_PROB 0.11 0.443 0.658 0.306 0.756 0.227 0.63 0.328 0.874 0.122
diff --git a/examples/gtdata/test.prob.fvd b/examples/gtdata/test.prob.fvd
new file mode 100644
index 0000000..5bca9f3
Binary files /dev/null and b/examples/gtdata/test.prob.fvd differ
diff --git a/examples/gtdata/test.prob.fvi b/examples/gtdata/test.prob.fvi
new file mode 100644
index 0000000..91a91d8
Binary files /dev/null and b/examples/gtdata/test.prob.fvi differ
diff --git a/examples/height.txt b/examples/height.txt
new file mode 100644
index 0000000..d7c918d
--- /dev/null
+++ b/examples/height.txt
@@ -0,0 +1,201 @@
+id height sex age
+id636728 174.429795159687 0 56.5664877162697
+id890314 168.176943059097 0 74.8311971509938
+id102874 178.612190619767 1 45.2478051768211
+id200949 171.770230117638 0 46.7362651142108
+id336491 185.941629656499 1 61.2743318817997
+id988766 173.159286450017 1 43.9794924518567
+id21999 167.478282481124 0 64.842094190157
+id433893 168.33178468379 1 49.2526444099125
+id688932 171.691587811178 0 50.3954417563357
+id394203 173.491495887183 1 71.6498502881161
+id995678 167.875970536401 0 8.39869838208752
+id694339 175.700752054599 0 50.0998355342632
+id256455 175.337891176997 0 42.6820785344791
+id14836 182.168331733645 1 35.84982537436
+id817128 169.967709786392 1 75.1778848007977
+id803325 173.16442907678 0 28.6168667499216
+id521287 173.61354014585 1 51.2035495453341
+id701472 175.981848980239 1 71.317748150985
+id850010 184.639363303696 1 54.1708913077258
+id268483 174.449158757425 1 64.672254784919
+id738781 172.511588930637 0 55.826668149936
+id28411 166.965919919108 0 55.2344683531986
+id541635 179.13293630535 1 60.094310490059
+id751101 161.083305377039 0 56.0717500949652
+id826300 170.363825407616 1 63.665040254938
+id884387 175.758464998892 0 51.4922416338243
+id492414 157.580260914086 0 58.9086160227674
+id268871 166.726256710685 0 47.0400488754909
+id627354 179.443127793034 0 34.5390266052269
+id503932 NA 0 57.9730568400579
+id163442 162.280195241471 0 36.9517698503585
+id317797 173.234859224152 0 26.9160557334094
+id687857 171.800020146137 0 55.9852681138142
+id871570 185.55122893382 1 55.9721414361996
+id724067 180.638786833009 1 56.169622106367
+id874076 176.365271989711 1 59.679661502336
+id927863 166.58258874032 0 66.5804018479591
+id369805 160.714475766297 0 40.9060018470829
+id668376 178.810079668969 1 70.0289032015097
+id717362 185.933657898588 1 43.2938000839428
+id665504 188.073788122923 1 48.1890218410542
+id336637 166.647805506924 0 46.3818454875327
+id60633 173.926544281331 0 23.3035147869928
+id848600 183.718150720331 1 67.4684273207409
+id169514 NA 0 69.1485027947351
+id690732 168.077043501898 0 58.6011997417331
+id684760 NA 0 35.0181958776374
+id553502 181.900113671502 1 69.021545511428
+id214917 164.770792110508 0 64.5792136558752
+id849169 180.151096849933 1 85.1378897451664
+id941921 161.098948528482 0 53.9306167830798
+id784646 179.840638304032 1 61.0777384471877
+id520954 170.269437334459 1 75.1877622200444
+id996355 173.186738843185 1 68.4642493691293
+id96730 163.630004125508 0 57.1196372489835
+id673442 178.838621147176 1 65.3664807538282
+id68305 178.004074138215 1 71.492661769509
+id653025 165.844742336964 0 70.3844614651848
+id208543 171.565532819551 0 42.7273130468441
+id335725 191.908624952512 1 59.07501675694
+id980400 159.961276224304 0 49.5742764537921
+id869939 167.476213723559 0 51.2304881822403
+id297563 158.832328739104 0 58.7762533364224
+id852663 178.834414412308 1 73.6435079503658
+id162070 170.276363312888 0 58.5395213672811
+id272875 182.066813847844 1 49.5876044884458
+id163787 171.68809183749 0 68.8908979920022
+id422204 157.811680968311 0 58.2823099142426
+id120197 172.402447122612 0 48.358739385489
+id33660 172.687696395935 1 34.5696455859549
+id803855 158.76378508184 0 48.4657306042704
+id255048 163.258037518271 0 35.6533578434766
+id690936 170.426845824359 0 65.1658883151137
+id126807 186.646969582003 1 64.1449135851599
+id99016 166.851331078492 0 83.1286765059919
+id883847 156.395410859358 0 32.8768313919283
+id354523 179.848745636711 1 56.5576112454553
+id737255 176.283778224062 1 63.1548637296665
+id990941 183.062589534755 1 51.2757150587473
+id25464 178.774898125608 0 65.8709224202587
+id918375 171.879570975349 0 72.0383097723614
+id537828 174.280062814704 1 47.955368260406
+id682778 197.693432311418 1 30.7120816027501
+id587547 NA 0 21.7856062696169
+id670874 NA 0 79.5124479990884
+id444459 NA 0 24.9259940481639
+id777456 167.260151682603 1 49.2658818137372
+id452384 173.347483981372 1 55.6701281442022
+id826975 164.808775206261 0 65.4075683141035
+id519567 178.474504765564 0 43.0203774957767
+id84292 166.664628244472 0 53.8287139728737
+id124432 187.359372394095 1 56.296379999476
+id800145 159.793062551802 0 37.6133115816202
+id153857 166.193131397238 0 22.4000884415168
+id587157 NA 0 52.6803878151058
+id506262 NA 1 64.6329004021784
+id634462 181.53807286492 0 48.9229031786133
+id687592 172.388126833275 0 52.4998634824607
+id955526 NA 0 55.5028971749649
+id181850 185.840255615845 1 36.9858719983532
+id159506 186.376390127835 1 74.4479535239579
+id609051 192.240521818612 1 65.7780043121851
+id963886 174.488413063651 0 49.5309813200341
+id405792 176.372934134811 1 45.4926234574294
+id494172 171.56744721794 1 76.8579185394453
+id964637 166.444143896755 0 45.8647287757214
+id799355 177.862471720998 1 44.8057251910419
+id157111 170.657730233167 0 62.0341545813151
+id114524 171.25136710964 0 58.0449946893389
+id954931 168.740397885895 0 68.1780337798445
+id827034 183.879115672702 1 77.975957535635
+id689645 170.188165136391 0 65.0844124272657
+id281585 170.842220921632 1 42.9564982749518
+id885624 182.134017338977 0 47.946437354424
+id577871 160.140121305064 0 33.496144471879
+id238796 NA 1 65.1188558784702
+id481035 173.149628763659 0 54.9042314354739
+id972713 171.738530038969 1 65.7714621464961
+id905484 177.623047540669 1 71.6426475587537
+id713511 175.268561723758 1 61.0799627423927
+id512328 167.735338303079 0 73.7172758099854
+id703534 166.720050990185 1 72.236834718085
+id409904 170.745579798846 0 73.9923175757741
+id577169 153.371221740599 0 60.8809640676469
+id813971 NA 0 84.133625401668
+id558483 163.667583478963 0 47.2247044219155
+id892784 174.985647203756 0 67.1744740151211
+id611178 176.521596485872 1 37.0445776963834
+id192732 169.812257152633 0 59.3369580720623
+id917280 NA 0 58.043607917703
+id435876 166.776190361572 0 84.7430569805322
+id980722 168.283559641308 0 86.0193317930932
+id308273 172.742206212221 1 67.9707116505756
+id476685 165.280837820994 0 54.7063589427748
+id315883 173.581025454778 0 73.3223997610317
+id935945 179.555469888261 1 52.118107675761
+id991781 175.897738961518 0 54.6531435678751
+id65199 165.189311532089 1 49.8781163523718
+id226233 157.7754459523 0 42.4381766815376
+id860183 170.231243565794 0 68.8462268055324
+id295209 180.924032978557 1 78.6565274462897
+id544964 167.292463491719 0 60.762708960918
+id648663 NA 0 75.0190110887193
+id710165 169.151713181379 0 63.9855377719135
+id392593 182.21678768154 1 68.2994577588663
+id129945 160.575156284367 0 65.450018701293
+id382621 171.638871438864 0 67.6857740000913
+id901440 174.530069595511 0 42.9092669890405
+id39847 160.646774792024 0 47.4092740225689
+id526460 178.538740677989 1 37.1159675739944
+id477473 185.011018392328 1 49.977246546458
+id448194 179.059975160777 1 45.8864332551482
+id904184 167.112949149708 0 72.7257919416073
+id747852 182.548533497441 1 55.0767660383464
+id711012 180.220178110644 1 52.7445325672677
+id683879 171.236817500069 0 53.3088463375829
+id789575 165.28679839529 0 91.4953003008313
+id650729 164.794971641543 0 60.9597656604966
+id934302 175.406909983166 1 50.3886674733413
+id555013 NA 1 64.1674752353489
+id82779 161.223049117577 0 44.6985843914277
+id771444 187.900379864306 1 46.5564125440742
+id821562 172.231440638372 0 48.1039500848528
+id292809 NA 1 37.5673188162435
+id645690 170.584620717111 0 53.4688809984076
+id223901 171.713564155488 1 42.9332336834406
+id41320 187.297180749935 1 42.44110357481
+id96181 182.340998335808 1 68.9407465426672
+id147900 174.375688422634 0 40.8853912428091
+id702917 178.555905829164 1 47.4966871113988
+id150640 184.380746051819 1 38.6252819189693
+id518391 171.300702239563 1 49.6835155346146
+id879076 160.577565064011 0 67.0132815628215
+id952031 184.748626970448 1 65.7036712353429
+id10055 171.863717508283 0 62.168376851186
+id727213 173.15478329161 1 71.4567885339962
+id41961 167.037587092139 0 20.0826286512544
+id257209 186.886444067285 1 45.8561930442368
+id995361 172.633411553182 0 63.0505997160459
+id957918 160.159478972068 0 99.0805060934096
+id975370 160.634825077609 0 57.5380244640958
+id889896 172.084241360101 1 59.2264081828809
+id978164 152.246200808029 0 77.6420424892831
+id90359 167.757610509192 0 37.7531529719782
+id307158 160.475706647835 0 63.0980555343967
+id755940 NA 1 20.3119086993193
+id995582 171.358428943422 0 51.8289273125384
+id363965 165.592903454164 0 71.7721946331034
+id729124 168.214746933587 0 71.2376691564842
+id871963 165.67901183807 1 52.9417211803685
+id475172 168.841375831808 0 37.329706301489
+id804699 163.162474229119 1 54.203147574914
+id625843 NA 1 42.8794810637712
+id595713 172.886158516028 0 46.4056563167277
+id462604 NA 1 38.2072756439264
+id106141 175.327756738783 1 54.110359198852
+id689349 153.912385571881 0 69.7870790365425
+id639003 180.466901803263 1 73.8435693312958
+id393896 165.738067793658 1 59.4568181253727
+id450307 176.326139008795 1 47.0319626853433
diff --git a/examples/logist_data.txt b/examples/logist_data.txt
new file mode 100644
index 0000000..cdc1b10
--- /dev/null
+++ b/examples/logist_data.txt
@@ -0,0 +1,201 @@
+id chd sex age othercov
+id636728 0 0 56.5664877162697 -0.616649220436139
+id890314 0 0 74.8311971509938 0.695315865158652
+id102874 1 1 45.2478051768211 -0.919192364890525
+id200949 0 0 46.7362651142108 -0.623212536893650
+id336491 0 1 61.2743318817997 -0.0835744351009496
+id988766 0 1 43.9794924518567 -0.360419162609288
+id21999 1 0 64.842094190157 -0.180940346913155
+id433893 0 1 49.2526444099125 0.126374731789777
+id688932 0 0 50.3954417563357 1.06437576032067
+id394203 1 1 71.6498502881161 -1.18226498491599
+id995678 0 0 8.39869838208752 -0.440232097797012
+id694339 0 0 50.0998355342632 -0.913499415750332
+id256455 0 0 42.6820785344791 -0.162365026484604
+id14836 1 1 35.8498253743600 0.149157063281711
+id817128 1 1 75.1778848007977 0.67542922565494
+id803325 0 0 28.6168667499216 -1.31506161713874
+id521287 1 1 51.2035495453341 1.77833415263866
+id701472 0 1 71.317748150985 -0.314768649313963
+id850010 1 1 54.1708913077258 0.97569872710796
+id268483 0 1 64.672254784919 -0.0640471051347496
+id738781 0 0 55.8266681499360 -1.09835345768822
+id28411 1 0 55.2344683531986 -0.984911295839358
+id541635 1 1 60.094310490059 -0.749064941009658
+id751101 0 0 56.0717500949652 1.51722586769283
+id826300 1 1 63.665040254938 0.0502588085760593
+id884387 0 0 51.4922416338243 -0.337897966476298
+id492414 0 0 58.9086160227674 0.31843041338204
+id268871 0 0 47.0400488754909 1.45613631110426
+id627354 0 0 34.5390266052269 -1.70444680376944
+id503932 0 0 57.9730568400579 0.765871754354706
+id163442 0 0 36.9517698503585 0.583651460617563
+id317797 0 0 26.9160557334094 -0.738359282894358
+id687857 0 0 55.9852681138142 -0.923039710363445
+id871570 0 1 55.9721414361996 0.862168021867058
+id724067 1 1 56.169622106367 -0.340689098159781
+id874076 0 1 59.679661502336 -0.585406451051202
+id927863 0 0 66.5804018479591 -0.109081371563729
+id369805 0 0 40.9060018470829 -1.59219967496527
+id668376 0 1 70.0289032015097 -1.37719894554979
+id717362 1 1 43.2938000839428 -1.24704930731682
+id665504 0 1 48.1890218410542 -0.403151482375345
+id336637 0 0 46.3818454875327 0.74815920114198
+id60633 0 0 23.3035147869928 -1.05395873068326
+id848600 1 1 67.4684273207409 -0.787160471921613
+id169514 0 0 69.1485027947351 -0.0673239617848672
+id690732 0 0 58.6011997417331 0.702810189997298
+id684760 0 0 35.0181958776374 0.480066431966155
+id553502 1 1 69.021545511428 -0.0489464782548654
+id214917 0 0 64.5792136558752 0.6740350367377
+id849169 1 1 85.1378897451664 -1.4909516187109
+id941921 0 0 53.9306167830798 -0.527425267092223
+id784646 1 1 61.0777384471877 0.753698501223927
+id520954 1 1 75.1877622200444 0.657838316783433
+id996355 0 1 68.4642493691293 0.0187742400140474
+id96730 0 0 57.1196372489835 1.82995714012553
+id673442 0 1 65.3664807538282 0.388257820504249
+id68305 1 1 71.492661769509 0.693170773537079
+id653025 0 0 70.3844614651848 -1.04956363440283
+id208543 0 0 42.7273130468441 1.94459819681167
+id335725 1 1 59.07501675694 -0.704001508529943
+id980400 0 0 49.5742764537921 0.326888204136651
+id869939 0 0 51.2304881822403 -0.692132702060843
+id297563 0 0 58.7762533364224 -1.46387434680598
+id852663 0 1 73.6435079503658 0.264913756719152
+id162070 0 0 58.5395213672811 -0.407761026429204
+id272875 1 1 49.5876044884458 -0.0214883344051595
+id163787 0 0 68.8908979920022 0.33757395854709
+id422204 0 0 58.2823099142426 0.154530631372327
+id120197 0 0 48.358739385489 0.265014737201407
+id33660 1 1 34.5696455859549 -0.60471311029432
+id803855 0 0 48.4657306042704 -2.78080686534202
+id255048 0 0 35.6533578434766 -1.67794431091394
+id690936 0 0 65.1658883151137 0.156852372723843
+id126807 0 1 64.1449135851599 1.61191096458223
+id99016 0 0 83.1286765059919 -1.11934753967505
+id883847 0 0 32.8768313919283 1.34130243992047
+id354523 1 1 56.5576112454553 0.270839151539858
+id737255 1 1 63.1548637296665 0.196647531206649
+id990941 0 1 51.2757150587473 -1.02660610413555
+id25464 0 0 65.8709224202587 -0.0126002200404612
+id918375 0 0 72.0383097723614 -0.957166163857637
+id537828 0 1 47.955368260406 0.0583318172183339
+id682778 0 1 30.7120816027501 -0.912082257676376
+id587547 0 0 21.7856062696169 -0.83478742217883
+id670874 0 0 79.5124479990884 0.211427039859313
+id444459 0 0 24.9259940481639 0.0760584639385002
+id777456 1 1 49.2658818137372 -1.34674845424318
+id452384 0 1 55.6701281442022 -1.4250793575081
+id826975 0 0 65.4075683141035 1.36872787039542
+id519567 0 0 43.0203774957767 -0.446585445915566
+id84292 0 0 53.8287139728737 -0.499295705754242
+id124432 1 1 56.296379999476 -0.107080192348511
+id800145 0 0 37.6133115816202 1.58846689349256
+id153857 0 0 22.4000884415168 1.03435736103221
+id587157 1 0 52.6803878151058 0.359925836536241
+id506262 1 1 64.6329004021784 1.53337078319763
+id634462 0 0 48.9229031786133 -0.350929199400323
+id687592 0 0 52.4998634824607 -0.076496734077698
+id955526 0 0 55.5028971749649 0.960896715932664
+id181850 1 1 36.9858719983532 0.446563112976888
+id159506 1 1 74.4479535239579 0.189484765660553
+id609051 1 1 65.7780043121851 -0.970684545831345
+id963886 0 0 49.5309813200341 -0.142315316969564
+id405792 1 1 45.4926234574294 0.829045752054768
+id494172 0 1 76.8579185394453 0.316447087222387
+id964637 0 0 45.8647287757214 0.8350647018453
+id799355 1 1 44.8057251910419 0.621012074390158
+id157111 1 0 62.0341545813151 0.739422179631339
+id114524 0 0 58.0449946893389 -0.788319625175589
+id954931 0 0 68.1780337798445 0.249555870261434
+id827034 0 1 77.975957535635 0.982511493540594
+id689645 0 0 65.0844124272657 0.631945706496989
+id281585 1 1 42.9564982749518 -1.91422913088156
+id885624 0 0 47.946437354424 -1.04036199512906
+id577871 0 0 33.4961444718790 0.186792843674213
+id238796 0 1 65.1188558784702 -1.68022599854080
+id481035 0 0 54.9042314354739 0.456361082403203
+id972713 1 1 65.7714621464961 -1.56740652033687
+id905484 0 1 71.6426475587537 -0.119411982152829
+id713511 1 1 61.0799627423927 0.759855863373736
+id512328 0 0 73.7172758099854 -1.38688928403820
+id703534 1 1 72.236834718085 -0.236310232309532
+id409904 0 0 73.9923175757741 -1.19614555360328
+id577169 0 0 60.8809640676469 1.17342165409245
+id813971 0 0 84.133625401668 -0.537161204745299
+id558483 0 0 47.2247044219155 1.20538365428463
+id892784 0 0 67.1744740151211 1.16829744957229
+id611178 1 1 37.0445776963834 -1.13309938594903
+id192732 0 0 59.3369580720623 -2.14077841592230
+id917280 0 0 58.043607917703 -0.534198958390556
+id435876 0 0 84.7430569805322 -0.689898601301229
+id980722 1 0 86.0193317930932 -1.18208413063074
+id308273 1 1 67.9707116505756 1.94382173572410
+id476685 0 0 54.7063589427748 -0.94182899233855
+id315883 0 0 73.3223997610317 0.338196922596107
+id935945 1 1 52.118107675761 1.33677101817478
+id991781 0 0 54.6531435678751 0.53452990381363
+id65199 0 1 49.8781163523718 0.0343790591116905
+id226233 0 0 42.4381766815376 -0.0710109613289354
+id860183 0 0 68.8462268055324 -0.737998085045194
+id295209 1 1 78.6565274462897 -0.107026407347964
+id544964 0 0 60.762708960918 1.709977404519
+id648663 0 0 75.0190110887193 -0.496659515554212
+id710165 0 0 63.9855377719135 0.201892861914722
+id392593 0 1 68.2994577588663 -1.80278137923475
+id129945 0 0 65.450018701293 1.65939449127275
+id382621 0 0 67.6857740000913 -0.308226365178485
+id901440 0 0 42.9092669890405 1.40615384320119
+id39847 0 0 47.4092740225689 -1.45791012750063
+id526460 0 1 37.1159675739944 0.585429136544241
+id477473 1 1 49.977246546458 0.85932893707833
+id448194 0 1 45.8864332551482 2.31658861190067
+id904184 1 0 72.7257919416073 -1.44610301620327
+id747852 1 1 55.0767660383464 -0.0459375321161903
+id711012 0 1 52.7445325672677 0.460500112744121
+id683879 0 0 53.3088463375829 0.267430174401663
+id789575 0 0 91.4953003008313 0.594398848876269
+id650729 0 0 60.9597656604966 -0.466440434125161
+id934302 1 1 50.3886674733413 -0.273038964363282
+id555013 1 1 64.1674752353489 1.90070926411773
+id82779 0 0 44.6985843914277 0.389805704654603
+id771444 1 1 46.5564125440742 0.769566641616143
+id821562 0 0 48.1039500848528 -0.824659657507785
+id292809 1 1 37.5673188162435 -0.985460186043628
+id645690 0 0 53.4688809984076 -0.627722468537893
+id223901 1 1 42.9332336834406 0.102432809961277
+id41320 1 1 42.44110357481 -2.14709233875260
+id96181 1 1 68.9407465426672 0.60823537054759
+id147900 0 0 40.8853912428091 1.84414083632347
+id702917 0 1 47.4966871113988 -1.20468870650568
+id150640 1 1 38.6252819189693 1.05032982170877
+id518391 0 1 49.6835155346146 0.398484046041917
+id879076 0 0 67.0132815628215 0.229427772407132
+id952031 1 1 65.7036712353429 -1.08910806938322
+id10055 0 0 62.168376851186 1.75014755477280
+id727213 1 1 71.4567885339962 -0.429042806075498
+id41961 0 0 20.0826286512544 0.470401853724928
+id257209 1 1 45.8561930442368 1.04894271523815
+id995361 0 0 63.0505997160459 -0.433651964317621
+id957918 0 0 99.0805060934096 -1.32243701365983
+id975370 0 0 57.5380244640958 0.0073240896095414
+id889896 1 1 59.2264081828809 1.54590800633817
+id978164 0 0 77.6420424892831 0.0911410166371213
+id90359 0 0 37.7531529719782 -1.28461133782458
+id307158 0 0 63.0980555343967 -2.16545698177243
+id755940 0 1 20.3119086993193 0.350642961952880
+id995582 0 0 51.8289273125384 -0.515896072714371
+id363965 1 0 71.7721946331034 0.76389548536401
+id729124 0 0 71.2376691564842 -0.73651553665844
+id871963 1 1 52.9417211803685 -0.309489610576478
+id475172 0 0 37.3297063014890 0.043872806819088
+id804699 1 1 54.2031475749140 -0.329259788975997
+id625843 1 1 42.8794810637712 -0.0825854121547877
+id595713 0 0 46.4056563167277 -1.38380836633327
+id462604 0 1 38.2072756439264 0.687340331103877
+id106141 0 1 54.110359198852 -1.14567371381323
+id689349 0 0 69.7870790365425 -0.490029778167991
+id639003 1 1 73.8435693312958 -0.863976195068231
+id393896 1 1 59.4568181253727 0.260745271089032
+id450307 1 1 47.0319626853433 -0.241913127911601
diff --git a/examples/mmscore.R b/examples/mmscore.R
new file mode 100644
index 0000000..04697d6
--- /dev/null
+++ b/examples/mmscore.R
@@ -0,0 +1,172 @@
+#=====================================================================================
+#
+# Filename: mmscore.R
+#
+# Description: Example how to get inverse of the
+# variance-covariance matrix from GenABEL and right
+# phenotype table to use it in ProbABEL.
+#
+# Version: 1.0
+# Created: 26_Jan-2009
+# Revision: 2010.04.18 (YA)
+#
+#
+# Author: Maksim V. Struchalin
+# Company: ErasmusMC, Epidemiology & Biostatistics Department, The Netherlands.
+# Email: m.struchalin@@erasmusmc.nl
+#
+#=====================================================================================
+
+## You have to have the GenABEL package installed on your computer
+library(GenABEL)
+
+## Load example data. Use your data here instead of example. All
+## phenotypes you need must be there
+data(ge03d2.clean)
+data <- ge03d2.clean
+
+## Choose snps which we are going to use as example. Just change the
+## snps array if you'd like to use other snps (or use all)
+snps <- c("rs70099", "rs735579", "rs9088604", "rs1413801", "rs4911638")
+
+data <- data[!is.na(data at phdata$height),]
+data <- data[!is.na(data at phdata$sex),]
+data <- data[!is.na(data at phdata$age),]
+
+
+## Take only 500 people for this exercise
+data <- data[1:500,]
+
+## Calculate the kinship matrix
+gkin <- ibs(data[, autosomal(data)], w="freq")
+
+## Estimate the polygenic model
+h2ht <- polygenic(height~sex+age,
+ data=data,
+ kin=gkin,
+ steptol=1.e-9,
+ gradtol=1.e-9)
+
+## Get the inverse of the variance-covariance matrix
+InvSigma <- h2ht$InvSigma
+
+## Get the phenotypes for analysis.
+pheno <- data at phdata[,c("id", "height", "sex","age")]
+
+
+#get rid of na
+#pheno_no_na <- na.omit(pheno)
+
+#give row names to inverse of the variance-covariance matrix
+#rownames(InvSigma) <- pheno_no_na$id
+
+## Save the inverse variance-covariance matrix it to a file. We'll use
+## it in ProbABEL for mmscore
+write.table(InvSigma, file="mmscore_InvSigma_aj.sex.age.dat",
+ row.names=TRUE,
+ col.names=FALSE,
+ quote=FALSE)
+
+## Get residuals from analysis, based on covariate effects only.
+height_residuals <- h2ht$residualY
+
+## Create a table with two columns: id and trait
+pheno_residuals <- data.frame(id=pheno$id,
+ height_residuals=height_residuals)
+
+## Add row names
+rownames(pheno_residuals) <- as.character(pheno_residuals$id)
+
+## Save it into the file. We will use this file in ProbABEL
+write.table(pheno_residuals,
+ file="mmscore_pheno.PHE",
+ row.names=FALSE,
+ quote=FALSE)
+
+## Now we have two files:
+## 1) inverse of the variance-covariance matrix
+## 2) residuals of the phenotype, which will be the new phenotype that
+## ProbABEL will analyse.
+
+## Mow, go to ProbABEL and start analysis
+
+
+
+
+
+##____________________________________________________
+## The following part is for historic purposes only. It is not
+## necessary for using the --mmscore option of ProbABEL's palinear.
+
+## Create test file with genotypes
+
+data_cut <- data[, snps]
+gen_table <- as.numeric(data_cut)
+prob_table <- matrix()
+
+#Replace NA by mean for each snp. NA is forbiden in genotypes in ProbABEL input (!).
+#for(snpnum in 1:dim(gen_table)[2])
+# {
+# mean <- mean(gen_table[,snpnum], na.rm=T)
+# gen_table[is.na(gen_table[,snpnum]),snpnum] <- mean
+# }
+
+
+gen_table_df <- data.frame(gen_table)
+gen_table_df$MLDOSE <- gen_table_df[, 1]
+gen_table_df[,1] <- "MLDOSE"
+colnam <- colnames(gen_table_df)
+
+#colnam[-c(1:length(colnam)-1)] <- colnam[1]
+#colnam[1] <- "MLDOSE"
+
+colnam[length(colnam)] <- colnam[1]
+colnam[1] <- "MLDOSE"
+colnames(gen_table_df) <- colnam
+
+
+rownames <- rownames(gen_table_df)
+rownames <- paste("1->", rownames, sep="")
+rownames(gen_table_df) <- rownames
+
+write.table(file="mmscore_gen.mldose",
+ gen_table_df,
+ row.names=TRUE,
+ col.names=FALSE,
+ quote=FALSE,
+ na="NaN")
+
+mlinfo <- data.frame(SNP=colnam[2:length(colnam)])
+mlinfo$Al1 <- "A"
+mlinfo$Al2 <- "B"
+mlinfo$Freq1 <- 0.5847
+mlinfo$MAF <- 0.5847
+mlinfo$Quality <- 0.5847
+mlinfo$Rsq <- 0.5847
+
+write.table(mlinfo, "mmscore_gen.mlinfo", row.names=FALSE, quote=FALSE)
+
+## arrange probability-file
+prob_table <- matrix(NA,
+ ncol=(dim(gen_table_df)[2]-1) * 2,
+ nrow=dim(gen_table_df)[1])
+j <- 1
+for (i in (1:(dim(gen_table_df)[2]-1))) {
+ prob_table[,j] <- rep(0, dim(prob_table)[1])
+ prob_table[gen_table_df[,i+1]==2, j] <- 1
+ prob_table[is.na(gen_table_df[, i+1]), j] <- NA
+ j <- j + 1
+ prob_table[, j] <- rep(0,dim(prob_table)[1])
+ prob_table[gen_table_df[, i+1]==1, j] <- 1
+ prob_table[is.na(gen_table_df[, i+1]),j] <- NA
+ j <- j + 1
+}
+prob_table_df <- data.frame(MLPROB="MLPROB", prob_table)
+rownames(prob_table_df) <- rownames(gen_table_df)
+
+write.table(file="mmscore_gen.mlprob",
+ prob_table_df,
+ row.names=TRUE,
+ col.names=FILE,
+ quote=FILE,
+ na="NaN")
diff --git a/examples/mmscore_InvSigma_aj.sex.age.dat b/examples/mmscore_InvSigma_aj.sex.age.dat
new file mode 100644
index 0000000..a6bc42b
--- /dev/null
+++ b/examples/mmscore_InvSigma_aj.sex.age.dat
@@ -0,0 +1,500 @@
+id4 0.0182686989332702 -1.85665437227337e-05 3.53271468398681e-05 -1.74067659984958e-05 7.43017952446252e-05 -4.50104634347183e-06 -0.000124985264981788 3.3678291247208e-05 5.91968582288439e-05 -0.000243645201364358 1.53596649913953e-06 -3.9454263180701e-05 -7.12623118109999e-05 2.86517121291892e-05 4.74394376586608e-05 1.05054964648721e-05 -6.3444981897112e-06 4.99448517742991e-05 6.27097823604505e-05 -2.27324636096012e-05 -4.60607479088104e-05 8.10526198258517e-05 3.32889687790843e-05 [...]
+id10 -1.85665437227311e-05 0.0182033225536506 -1.97096076622397e-05 -5.96162563595784e-05 -5.4476919601606e-05 -9.50226926118848e-05 8.62259783546112e-05 7.3858364200391e-05 3.10831766033596e-05 -0.000130544230147021 -2.83970060075091e-05 2.35253758845718e-06 -1.85477800897887e-05 6.2964229884654e-06 6.53822497229682e-05 2.72145600350398e-05 0.000104093814862185 3.49231726835660e-05 7.04859574463404e-05 -0.000148174353681410 -0.000116299201231700 6.68285914753949e-06 5.57409243430233e-06 [...]
+id25 3.53271468398634e-05 -1.97096076622424e-05 0.0181688614380818 8.52863460066612e-05 -2.43025930791677e-05 2.81566776967037e-05 4.85600196715389e-06 -6.56752842697857e-06 -1.78033754378254e-05 -1.72662880972169e-05 8.87668514133562e-06 -8.20404059630636e-05 5.16333083687282e-05 -2.94096728089757e-06 3.48892541783685e-05 2.26261578926956e-06 1.36738830409271e-05 -4.36308443142288e-05 8.20881103699705e-05 2.18907909855928e-05 6.79187232023272e-05 4.55203428191488e-05 3.23470813710517e-0 [...]
+id33 -1.74067659984974e-05 -5.96162563595756e-05 8.52863460066646e-05 0.0181194433068409 -5.18411780980829e-05 1.50204770703661e-05 8.56024933212197e-06 4.86573389645691e-05 3.91817984047859e-05 2.79910558167308e-05 7.8282761860928e-05 6.41277425397285e-05 4.02513923756538e-05 -0.000354197107452299 0.000103554817363680 -1.38797625409477e-05 3.32360271706206e-05 5.29677698465124e-05 -0.000278652807535298 -6.90665008554795e-05 3.6264561361092e-05 -1.62093161977942e-05 7.24164987012269e-05 [...]
+id35 7.43017952446215e-05 -5.44769196016117e-05 -2.43025930791681e-05 -5.18411780980874e-05 0.018106435724767 2.19056691758357e-05 -0.000128600049471664 7.17399863803957e-06 -4.24308810003088e-05 -9.37329781039098e-06 3.18056769487782e-05 -3.67702286605974e-05 5.24478899714116e-06 -3.25664055644232e-05 -9.920848125533e-05 3.19940200647196e-05 -1.98445029044161e-08 0.000105146480238862 5.27484131205194e-06 -5.37417584551664e-05 -1.74708970187906e-05 3.44067962109258e-05 -3.86219211711835e [...]
+id58 -4.50104634347325e-06 -9.50226926118893e-05 2.81566776967108e-05 1.50204770703701e-05 2.19056691758332e-05 0.0179881874374435 -1.17277182399346e-05 -4.99197036924978e-05 5.71784745599148e-05 7.8067768163972e-05 -8.45720064183448e-05 0.000133147165255620 1.28246312857358e-05 1.81065618498478e-05 6.60089685917637e-05 -2.61083501973853e-06 -5.15228610620456e-06 3.51849780197826e-05 -0.000144114266319513 3.15168287385297e-05 -1.49409070575496e-05 -1.37872797719582e-05 -5.86933127305454e [...]
+id68 -0.000124985264981788 8.62259783546178e-05 4.85600196715395e-06 8.56024933212903e-06 -0.000128600049471660 -1.17277182399364e-05 0.0181586089581595 2.04445273957100e-05 9.39041676761655e-05 2.69629411670812e-05 -5.21912666074653e-05 -8.07162734785272e-05 0.000107841766155217 -3.61129806008897e-05 4.15862044843475e-05 2.80667947266779e-05 6.27687571919924e-05 3.11670146537091e-05 4.43867515904899e-05 -1.17149996369917e-05 -4.94861227861045e-05 5.182392198678e-05 2.52153421203240e-05 [...]
+id74 3.36782912472085e-05 7.38583642003905e-05 -6.56752842698657e-06 4.86573389645756e-05 7.17399863804557e-06 -4.99197036925027e-05 2.04445273957019e-05 0.0179962093643653 -0.000143202021910123 -0.000129318612519593 -9.90358339586108e-05 -5.83424171547132e-05 2.44112506748350e-05 2.48309722783591e-05 1.91386441917814e-05 2.67077865260397e-05 8.02063718201625e-05 1.89237779787770e-05 4.50834965009305e-05 -2.17341687831065e-05 6.55343940163625e-05 6.00791980554004e-06 3.34584108786566e-05 [...]
+id107 5.91968582288441e-05 3.10831766033532e-05 -1.78033754378163e-05 3.91817984047789e-05 -4.2430881000305e-05 5.71784745599093e-05 9.3904167676175e-05 -0.000143202021910134 0.0182122458019134 -8.89499732951819e-05 4.09271368729994e-05 2.02514207751369e-05 1.97590273310334e-05 -5.1731569812852e-05 3.13812195526228e-05 -5.36450906791529e-06 -5.48204212507653e-06 -7.25773430290128e-06 0.000119502808272932 -1.40782957877599e-05 1.52702344966172e-05 3.25037638511198e-05 -0.00016527235964567 [...]
+id119 -0.000243645201364356 -0.000130544230147016 -1.72662880972305e-05 2.79910558167332e-05 -9.37329781039559e-06 7.80677681639793e-05 2.69629411670782e-05 -0.000129318612519587 -8.89499732951819e-05 0.0183196994000799 1.74709305956403e-05 -2.73568889983625e-05 1.58559165643615e-05 4.52654106024659e-05 -7.89212511743915e-07 4.00923191860855e-06 7.08140969980332e-05 2.51892762265087e-05 2.62411887013877e-05 -6.93641827160883e-05 1.89384578162301e-05 7.89780181895753e-06 4.14906638119732e [...]
+id145 1.53596649914169e-06 -2.8397006007511e-05 8.87668514133483e-06 7.82827618609268e-05 3.18056769487800e-05 -8.45720064183508e-05 -5.21912666074528e-05 -9.9035833958609e-05 4.09271368729994e-05 1.74709305956502e-05 0.0179405390147286 -5.47982179372363e-06 0.000154997121607075 -2.34975104396534e-05 1.17587372211223e-05 -0.000132805766242991 6.06993922854356e-05 -0.000302952613670808 3.65847534235782e-05 -5.33355073549846e-05 1.44588726616592e-05 1.24171481603775e-05 -5.26001308431233e- [...]
+id188 -3.94542631807030e-05 2.35253758845401e-06 -8.20404059630719e-05 6.41277425397336e-05 -3.67702286605926e-05 0.000133147165255625 -8.0716273478528e-05 -5.83424171547186e-05 2.02514207751349e-05 -2.73568889983633e-05 -5.47982179372198e-06 0.0182555554282539 -8.35136841457656e-06 -4.44154703481226e-06 6.08024005643454e-05 6.78262678386682e-05 -3.41330482312577e-05 -8.504152089526e-05 4.42291924979593e-05 -6.01370216251382e-05 -0.000184225462065276 9.74797858584476e-05 8.04926607092516 [...]
+id199 -7.12623118110022e-05 -1.8547780089788e-05 5.16333083687244e-05 4.02513923756524e-05 5.24478899714216e-06 1.28246312857294e-05 0.000107841766155217 2.44112506748456e-05 1.97590273310326e-05 1.58559165643615e-05 0.000154997121607076 -8.35136841458313e-06 0.0181640505040641 -6.17377485997655e-05 2.25248777518576e-05 9.38292046316663e-05 6.30892667124509e-06 -3.92921820000685e-06 4.53077586406204e-05 3.36238709405409e-05 -1.14303807489831e-05 -2.72208610799615e-06 3.54800668820676e-05 [...]
+id266 2.86517121291906e-05 6.29642298846535e-06 -2.94096728089928e-06 -0.000354197107452299 -3.25664055644242e-05 1.81065618498488e-05 -3.61129806008861e-05 2.48309722783557e-05 -5.17315698128507e-05 4.52654106024675e-05 -2.34975104396547e-05 -4.44154703480999e-06 -6.17377485997669e-05 0.0181612276094511 -2.10230994115547e-05 -2.64271291241819e-05 0.000113800127654873 -4.15547114032485e-05 5.76871162820896e-05 -6.61933313770274e-06 7.48660178988466e-05 1.25728187259646e-05 -0.00020087916 [...]
+id300 4.74394376586555e-05 6.53822497229704e-05 3.48892541783727e-05 0.000103554817363682 -9.92084812553263e-05 6.60089685917616e-05 4.15862044843472e-05 1.91386441917881e-05 3.138121955262e-05 -7.89212511745664e-07 1.17587372211237e-05 6.08024005643472e-05 2.25248777518615e-05 -2.10230994115565e-05 0.0181347175048144 1.90628717064962e-05 -3.69797020305193e-05 2.61543286378825e-05 3.24644276046892e-05 4.35191653713367e-05 -1.3886861314237e-05 6.80685042181901e-05 6.32395461773642e-05 1.4 [...]
+id327 1.05054964648744e-05 2.72145600350420e-05 2.26261578926425e-06 -1.38797625409433e-05 3.19940200647170e-05 -2.61083501973912e-06 2.80667947266799e-05 2.67077865260347e-05 -5.36450906790621e-06 4.00923191859722e-06 -0.000132805766242988 6.7826267838667e-05 9.38292046316707e-05 -2.64271291241809e-05 1.90628717064991e-05 0.0181825050939628 2.62364490124165e-05 -5.3310895746438e-05 5.18469409789555e-05 -1.99443462022501e-05 8.23833984005927e-05 1.43586339862464e-05 -0.000107300483728436 [...]
+id345 -6.34449818971092e-06 0.000104093814862179 1.36738830409264e-05 3.32360271706241e-05 -1.98445029031151e-08 -5.15228610619846e-06 6.27687571919871e-05 8.02063718201596e-05 -5.48204212508242e-06 7.0814096998035e-05 6.06993922854371e-05 -3.41330482312560e-05 6.30892667124561e-06 0.000113800127654875 -3.69797020305178e-05 2.62364490124175e-05 0.0182071408651127 9.05034251029518e-06 4.94717152247265e-05 6.46596223647113e-05 -1.6846380870595e-05 6.40269957379531e-05 7.7070291542475e-05 - [...]
+id386 4.99448517742968e-05 3.49231726835578e-05 -4.36308443142269e-05 5.29677698465088e-05 0.000105146480238865 3.51849780197786e-05 3.11670146537012e-05 1.89237779787826e-05 -7.25773430289886e-06 2.51892762265036e-05 -0.000302952613670811 -8.50415208952603e-05 -3.9292182000037e-06 -4.15547114032466e-05 2.61543286378868e-05 -5.33108957464441e-05 9.05034251030007e-06 0.0181331838617334 -0.000221426354630264 9.7975664962125e-06 3.63517902178984e-08 -9.83800513868814e-05 4.36944920533341e-0 [...]
+id392 6.27097823604511e-05 7.04859574463387e-05 8.20881103699723e-05 -0.000278652807535303 5.27484131205268e-06 -0.000144114266319510 4.43867515904904e-05 4.50834965009197e-05 0.000119502808272931 2.62411887013847e-05 3.65847534235811e-05 4.42291924979352e-05 4.5307758640615e-05 5.76871162820899e-05 3.24644276046878e-05 5.18469409789536e-05 4.94717152247285e-05 -0.000221426354630271 0.0181833460956040 2.34697920507839e-05 8.43069286759434e-06 -4.88732015614933e-05 1.28627880913224e-05 4. [...]
+id403 -2.27324636096012e-05 -0.000148174353681411 2.18907909855893e-05 -6.90665008554845e-05 -5.37417584551675e-05 3.15168287385394e-05 -1.17149996369919e-05 -2.17341687831077e-05 -1.40782957877631e-05 -6.93641827160886e-05 -5.33355073549931e-05 -6.01370216251367e-05 3.3623870940538e-05 -6.61933313770043e-06 4.35191653713363e-05 -1.99443462022441e-05 6.46596223647178e-05 9.7975664962086e-06 2.34697920507777e-05 0.0180356079945794 6.23852321844927e-05 4.67558662958238e-05 -0.0001109184650 [...]
+id415 -4.6060747908815e-05 -0.000116299201231702 6.79187232023266e-05 3.62645613610947e-05 -1.74708970187812e-05 -1.49409070575436e-05 -4.94861227860946e-05 6.553439401637e-05 1.52702344966264e-05 1.89384578162341e-05 1.44588726616647e-05 -0.000184225462065270 -1.14303807489838e-05 7.48660178988476e-05 -1.38868613142428e-05 8.23833984005794e-05 -1.68463808705929e-05 3.63517902177493e-08 8.43069286759266e-06 6.23852321844901e-05 0.0180115218873695 -5.33241072991907e-05 3.95669191996276e-0 [...]
+id496 8.10526198258535e-05 6.68285914752975e-06 4.55203428191498e-05 -1.62093161977883e-05 3.44067962109274e-05 -1.37872797719522e-05 5.18239219867835e-05 6.00791980553301e-06 3.25037638511279e-05 7.89780181895667e-06 1.24171481603755e-05 9.74797858584518e-05 -2.72208610799669e-06 1.25728187259547e-05 6.80685042181803e-05 1.43586339862517e-05 6.40269957379526e-05 -9.83800513868736e-05 -4.88732015614993e-05 4.67558662958286e-05 -5.33241072991906e-05 0.0181382625238681 7.4158595739448e-05 [...]
+id497 3.32889687790863e-05 5.57409243430282e-06 3.23470813710574e-05 7.24164987012312e-05 -3.86219211711648e-06 -5.86933127305542e-05 2.52153421203305e-05 3.3458410878658e-05 -0.000165272359645681 4.14906638119777e-05 -5.26001308432286e-06 8.04926607075982e-08 3.54800668820712e-05 -0.000200879169187641 6.32395461773616e-05 -0.000107300483728434 7.7070291542481e-05 4.36944920533342e-05 1.28627880913170e-05 -0.000110918465000243 3.95669191996158e-05 7.41585957394447e-05 0.0180057033501147 [...]
+id504 0.000141864118366691 -4.76062426089412e-06 -7.25552771650371e-06 5.99824787023016e-05 1.93918593380874e-05 -3.08248642192082e-05 3.20910986555859e-05 9.80016316017336e-05 -8.98717614000563e-05 -6.20569037474046e-05 -2.06157822822834e-06 1.18329482009459e-06 2.50455033142339e-06 -1.12714463019387e-05 1.44366832318631e-05 -7.14579295652556e-05 -3.15216642772759e-05 -7.80473842476419e-05 4.46111751109544e-05 3.31580305087003e-05 4.31725759546329e-05 -0.000128590889566528 -1.0871866869 [...]
+id542 1.04202886706030e-05 3.03419646852642e-05 -3.38990061445984e-05 2.08340499013742e-05 -3.62389042678064e-05 1.9603196497419e-05 4.52569057456424e-05 -1.27790542278548e-05 3.95795740365664e-05 7.29129443969211e-05 -6.5095972154997e-05 6.37318191620743e-06 -6.10933787599709e-05 -4.88095289615814e-05 -2.00916524165446e-05 9.15825888454192e-06 2.07173670947061e-05 -0.000133094037038009 3.47941816792654e-05 -0.000128363524290544 -1.03621671037385e-05 1.81480844455375e-05 7.86573537903329 [...]
+id575 -0.000133452172366671 -7.07181449978706e-05 6.34391626656318e-05 5.24370921072519e-05 5.02564718019618e-06 3.31763492136815e-05 9.31867049581383e-05 -6.1382514943259e-05 3.52978942844693e-05 -4.02370422390747e-05 -4.08083606725717e-06 -2.23942818274327e-05 7.54924991615886e-05 5.85942336649157e-05 9.5429299536070e-06 3.04815294550415e-06 6.86911260907973e-05 1.75072607886261e-05 5.96318933303245e-05 -1.80328427552616e-06 8.63861522752575e-05 -6.0707030313768e-05 1.68166509767913e-0 [...]
+id586 -5.37068372562296e-05 8.57441111215308e-05 -9.14315943938867e-05 2.43081121522276e-05 -0.000243111184538914 1.28707435612752e-05 3.33978536875079e-06 -2.74063929459904e-05 2.25067355370178e-05 6.31198098598358e-05 -7.60082509722257e-06 -2.04580875006403e-05 1.45553035424037e-05 2.23820704092731e-05 4.05963601980401e-05 -1.06635429597180e-05 -8.65992493516535e-05 5.03001461427749e-05 -2.19677926184399e-05 2.07298830664968e-05 5.36091932364916e-05 8.40747341226565e-05 -9.396419179027 [...]
+id608 4.33569663150811e-05 9.11408990630872e-05 -2.34855534469196e-05 -7.84876448393988e-05 -4.70010191279614e-05 5.29245127193172e-05 6.2880232058426e-05 2.19897981273200e-05 3.50235879106383e-05 4.0688805151512e-05 5.54076643453679e-05 -6.87719164598284e-05 8.19095334361346e-05 -3.06760859986350e-05 6.04128437500036e-06 -0.000247683294309236 0.000107172573662683 -0.000123791730775640 -0.000239861965295324 3.70602729865786e-05 2.57774996074896e-05 -5.17585700383946e-05 3.98014715042166e [...]
+id617 -2.34306425590789e-05 -1.19837437434776e-05 -4.18407954597268e-05 3.1836342984742e-05 -5.30143399880019e-06 3.28142914051474e-06 7.027528077558e-05 -2.65664297571855e-05 -1.63524178797341e-05 9.36607412863505e-05 -4.03930440256775e-05 3.4106903640418e-05 6.94814903307977e-06 4.13827293718539e-05 5.35630141767274e-06 8.00332399283638e-06 -9.50633415418181e-05 7.78870095832051e-05 -2.43873699426165e-05 1.92785929815017e-05 6.33536952149077e-07 6.20454789585343e-06 -4.92352544763225e- [...]
+id666 8.11292951033418e-05 -0.000107090237653853 1.17549246607741e-05 1.92796738986069e-05 2.07873700117251e-05 -5.16974065416172e-05 3.93747893605074e-05 7.485902979562e-05 5.12074708567892e-05 4.77511423078774e-05 4.62749206170795e-05 -7.01002072460139e-05 3.78939966313683e-05 6.25344872114688e-05 5.00373032034659e-05 -2.83818982723608e-05 0.000120704672321790 -6.57325134844364e-06 -1.48911762685915e-05 -4.63997250598014e-05 9.1593994058645e-05 6.29445454821325e-05 9.36631802018497e-05 [...]
+id689 -5.08361419964169e-05 -8.34076409219017e-05 -8.13175981758898e-05 9.32443794217846e-05 -1.70220454008618e-05 -7.79354556459191e-05 -4.14839717740656e-05 8.0577320238659e-05 -0.000361085072463719 -0.000137183271787676 -0.000103324368516162 1.78369460950854e-05 4.37102106717125e-05 1.10331746165953e-05 1.19579864817401e-05 5.87581142304191e-05 8.41492836316802e-06 -4.62760943622407e-05 -3.39873645229709e-06 -8.3827437535841e-05 1.22198556919644e-05 8.61031084690972e-05 -0.00021173034 [...]
+id722 0.000132651708396966 -2.04395264649397e-05 -0.000112041780912812 -1.67695770248377e-05 3.03205532809064e-05 4.5288688293888e-05 4.7160502896883e-05 -5.21360440054787e-05 -0.000338469188534386 1.32405443005357e-05 -0.000124855551187562 -0.000172154227420088 -2.59858575317982e-05 -3.17271688957188e-05 8.24985883471932e-05 4.58978924296066e-05 -9.37769229872807e-05 -0.000126600031330050 -7.55270613037738e-05 -7.21304625589455e-05 1.75020390117415e-05 -2.00474674449194e-05 -0.000145731 [...]
+id765 2.84839891378589e-05 5.51831998041279e-05 8.96793472349531e-05 -7.40781858994383e-05 6.4207013523118e-05 4.00090929224179e-05 1.94745305345111e-05 4.21658157056548e-05 0.000102787960825750 0.000127552816030542 -0.000239434293461217 5.58511740296719e-05 1.18837958950952e-05 3.03505878406877e-05 -0.00027798792095257 9.51130733560863e-05 -7.0485696479865e-06 9.9109587163915e-06 3.03976987131322e-05 6.86033230762334e-05 8.6777370071202e-05 1.91040576741769e-05 1.51864702952019e-05 2.30 [...]
+id780 5.17138636295161e-06 -3.5471520757246e-06 5.28509007233309e-05 -1.63791773272150e-05 2.84372207226445e-05 -0.000105400419931024 5.86526533419205e-05 5.39073370317329e-05 -1.57039485239385e-05 3.05985357000886e-06 -8.8874471185982e-05 -5.55056088606691e-06 0.000103056164533398 4.135894056422e-05 -5.15120336432937e-05 -3.26981327765535e-05 0.000119010563938676 3.42159743354066e-05 -8.62182325194791e-05 1.39396057129083e-05 -2.32702606441011e-05 5.04377247851554e-06 1.86858447199363e- [...]
+id796 6.97092415786681e-06 -2.60710457250550e-05 6.71100256374533e-06 -0.000103245624066113 3.62641886413428e-05 1.46598656967981e-05 5.8813245613891e-05 1.99367821653119e-05 -1.66460989576637e-05 0.000101765330046320 6.96953845628205e-05 -5.37033045594741e-05 8.2850077888617e-05 1.96759716045086e-05 9.7461685388221e-05 1.79466442544427e-05 -3.63541163467455e-05 -0.000125104317244159 -7.71149269287883e-05 4.78781293421354e-05 3.2369398085075e-05 9.4687604396379e-05 -2.11283240956251e-05 [...]
+id802 1.57117482019250e-05 4.25025706726938e-05 5.3532930745022e-05 6.80443668094568e-05 0.000109738595012823 -4.93132364253199e-05 -0.000121288926379927 2.95341405043434e-05 2.62828056534034e-05 7.93422215371721e-06 6.00440752801501e-05 2.40535933818720e-05 7.47772169990206e-05 5.67784781413028e-05 6.68163549115406e-05 4.67543398433914e-05 7.30858082884862e-05 1.6042180563441e-05 -5.1765834916188e-05 2.23133683291027e-05 1.19618931958401e-05 -3.67600308533074e-05 8.93082165674038e-05 -1 [...]
+id812 2.09801053860595e-05 9.32317998367873e-05 -1.98194857082381e-06 5.8328917648435e-05 5.91962392442966e-05 6.97835833328445e-05 6.11353722169491e-05 3.51618111112763e-05 6.16836400267012e-05 1.27483329053888e-05 5.77059205696238e-05 0.000140936115119580 -0.000103737265526473 1.13910959973458e-05 7.55136864805046e-06 -2.61206021142574e-05 -4.84575029380128e-07 8.39556643323612e-05 9.05588114606647e-05 8.56298122625233e-06 3.79592772315631e-05 -9.54649247714589e-06 -9.19869911982593e-0 [...]
+id830 1.85418517768527e-05 -3.87802751686039e-05 -0.000183512582863325 3.15722894403903e-05 -2.90940525812701e-05 -4.79858344123175e-05 5.10266910892972e-05 9.1584806781079e-05 -7.45882262787047e-06 -3.66232517155804e-05 4.77864896805288e-05 -9.8878925826129e-06 3.06380778475306e-05 -6.2446688616613e-05 1.14901647560187e-06 3.09464139966899e-05 2.30078979514676e-05 -1.39809864357956e-05 5.89667598244262e-05 1.91449947224899e-05 1.24753618920366e-05 7.60956367033387e-05 3.77827027142088e- [...]
+id835 -9.95179792347156e-05 0.000102466042473860 -4.91442549590714e-05 4.08095066127392e-05 6.25291676604168e-05 -0.000134189331683355 3.46986475208902e-05 2.47787488740478e-05 -3.2385953481042e-05 -1.45605036657168e-05 -6.91660171800208e-05 5.2873825576516e-05 2.13363141457075e-05 -9.77846493401013e-05 4.80489991965217e-05 1.33670855867393e-05 -6.79839846164507e-05 -8.04666333097885e-05 5.3321115322615e-05 2.20283057758548e-05 7.53436616904283e-05 7.59741533411187e-05 -0.000119134534116 [...]
+id892 4.15095038728132e-05 6.39273196769245e-05 4.87146868466007e-06 -1.47730266821679e-05 -0.000121216145456157 0.000178235762944644 0.000104059127702671 0.000124102598610357 2.19107475646309e-05 -3.06072005126897e-05 9.77640266984639e-06 2.12401010630361e-05 -0.000138309092285440 1.66610864869424e-05 9.06394048250383e-05 2.77433537924037e-05 1.26679647346972e-06 7.46472253528884e-06 -4.46924601672761e-05 -9.18557947060919e-05 7.21556473692332e-05 5.79975830279448e-05 1.79282138598615e- [...]
+id908 -5.74758451953329e-05 5.3205355937166e-05 7.74287258824955e-06 4.35649396569796e-05 1.09265380272372e-05 4.25526139223733e-05 1.91775226019102e-06 4.47151182136072e-05 1.64086373683991e-06 4.04590853082613e-05 -2.14754141426391e-05 1.89446634509671e-07 -8.44201051473058e-08 -3.96878050525656e-05 -1.86136276309075e-05 4.02600764830159e-05 3.54312322115147e-05 0.000125223287221825 8.72262881203028e-05 -5.81429911446411e-05 5.1276302500884e-05 2.53640884823745e-05 9.83712457153138e-05 [...]
+id938 -7.55326750514885e-06 2.46283520870255e-05 0.000102841481623313 -2.95754335645066e-05 9.11612878488511e-05 5.12083664540388e-06 1.68570981651725e-05 3.71004953239061e-05 0.000123273700526779 -1.04363802791799e-05 4.12482356711259e-05 -2.48923756990618e-05 1.79055347056065e-05 8.2735740334182e-05 -9.49213589061243e-05 -7.62685539911333e-06 4.19100987625928e-05 -6.53225038410175e-05 3.13415086938016e-05 9.95963752688582e-07 2.73520656479603e-05 -1.42679798963414e-05 5.65184175887953e [...]
+id980 -4.77986870771951e-05 5.87820364306751e-05 -3.63249746944242e-05 6.04115552359597e-05 1.90531786277329e-05 3.67548393221795e-05 2.78863744069907e-05 -0.000102803027000412 5.04710508906524e-05 4.79113253615219e-05 -4.90880802277553e-05 -0.000194405708886354 -3.05071375027757e-05 5.31752453630773e-06 -8.2593522917604e-05 4.12816561608092e-05 7.37582456225168e-05 7.26870773525148e-06 -4.38288319280622e-05 3.36235716742170e-06 -7.59067603734482e-05 9.7190626134306e-06 -4.12223139224297 [...]
+id994 -2.60741638651885e-05 7.91223988692768e-05 4.66500053014337e-05 -2.92160028663509e-05 5.56326524703309e-05 5.95994647455436e-05 -6.59260879847262e-05 8.94287234361368e-05 1.48504212124380e-05 -1.65003040747462e-05 8.18389384181055e-05 -4.35309694467077e-05 2.83999689908454e-05 3.76094257280452e-05 6.64626250529187e-05 1.57090003806275e-05 1.35352281091805e-05 0.000124176196810857 1.61950824249232e-05 1.98954465493158e-05 8.4874873569843e-05 7.7297278816452e-06 3.53475287398793e-05 [...]
+id1047 4.46786361662356e-05 -8.26483209472034e-06 -5.80268786774298e-05 9.46469117618264e-05 6.46771539555603e-05 0.000115252762903457 -0.000122008145776981 -3.61948760332271e-06 -3.67588526475587e-05 6.53455865113258e-05 -0.000110488972087737 6.24825321246306e-05 -0.000195140120195208 -1.9992643041087e-05 5.52608197521878e-05 -6.03185305097818e-05 -2.27922289996984e-05 0.000103654174026700 2.31217713885578e-05 4.3042316264159e-05 1.98528816467156e-05 4.95644961102741e-05 -1.438237901016 [...]
+id1052 -5.88350275300517e-05 1.79453106553522e-05 5.4577481863415e-05 0.000125138877125047 -2.46762665317120e-06 0.000125047749591161 4.03868059042221e-05 -7.82912447849973e-05 -8.43629179127464e-07 -3.63594087437398e-05 3.32878733507513e-05 -1.00754444872661e-06 -3.34923291669415e-05 8.6837047417113e-05 -4.13771593878469e-05 9.50191854802868e-05 -1.59508424702450e-06 3.28568228133404e-05 -4.17744353031736e-05 -2.55289054278462e-05 4.28390765398141e-05 5.00954482217395e-06 -2.04238634942 [...]
+id1055 6.06550669393597e-06 7.89941482972362e-05 7.14568058287325e-06 2.57043007791325e-05 8.29394870912874e-05 -1.34302500171654e-05 -0.000144514998048524 -0.000100286380962188 -6.84438000990452e-05 -1.95266089349999e-05 0.000121127802102008 -2.49828649483904e-05 -1.59459252264615e-05 6.00085343150057e-05 5.34823264318131e-05 3.01354906062196e-05 -9.74424833602204e-06 -5.41691231811514e-05 4.12888753668968e-05 -7.00744164589162e-06 8.79780633088248e-05 0.000124291765372937 5.73866872821 [...]
+id1068 -3.31321285357343e-05 5.30230009899553e-05 -6.88115598733045e-06 2.59467406289797e-05 4.6651925710021e-06 5.10090026567764e-06 -8.55394348135877e-06 -0.000262710300207963 -0.000393391706977899 -0.000204861146447590 8.37312598455318e-05 -1.34746067023043e-05 -9.94144966538205e-05 -0.000120849408466715 -2.28845218450574e-05 2.94927223968653e-05 2.36719327378561e-05 -3.83141369639687e-05 -2.80369807487343e-05 2.61981609052242e-05 9.61320970021098e-06 1.35653117477951e-05 8.0056196771 [...]
+id1076 5.59302424047859e-06 -2.43262965522962e-05 -3.66251284128259e-05 -3.04821774956790e-06 0.000111622175481066 -0.000101802860332455 6.39769314550723e-05 3.94532097040807e-05 -5.8599835103651e-05 8.48172144306164e-05 -2.62554915738983e-05 1.18064236972297e-05 1.983569487882e-05 -8.28127869396953e-06 3.19259630042269e-05 -2.809808837576e-05 6.12869836802465e-05 3.52898510568570e-05 3.34616698657141e-05 1.28702739758416e-05 -2.68867397207971e-05 8.41499330061559e-06 2.9374025340043e-05 [...]
+id1109 9.22083310572581e-06 1.65216748103057e-05 0.000103331638063117 4.93654088457361e-06 -0.000142626777862396 -1.37475845840737e-05 -1.05840952738237e-05 -2.4855591447348e-05 -3.69577407533236e-05 5.0769901844826e-05 8.45306640050754e-05 9.20915250369714e-05 9.8074743533802e-05 3.70454780126262e-05 -5.16325086305451e-05 -1.64334845733784e-06 7.66130651635693e-05 -4.88481340992088e-05 -2.11754933663956e-05 1.45240433232436e-05 -2.4407748656715e-07 -4.57646297135718e-05 4.12174870020166 [...]
+id1156 5.73076548952797e-05 8.28615466151529e-05 9.33957670659549e-05 -4.8957998201564e-05 -7.48271447259527e-05 -4.99078210142203e-05 -6.93943169821637e-05 3.51718640416613e-05 -0.000151080654410433 0.000116913988659423 1.44247471988039e-05 8.3384845728838e-05 9.2102536848008e-06 3.47584893840864e-05 5.3077222937882e-05 -5.20133214523873e-05 5.16845651034403e-05 -3.88099501859357e-05 -5.99835023368429e-05 5.85847799451861e-05 3.695561350261e-05 1.27263620096227e-05 3.54870557725218e-05 [...]
+id1176 4.07948821699254e-05 -3.46527309896665e-05 1.88942073357443e-05 -9.83600147735864e-05 6.58386500799432e-05 -1.81704862111218e-05 6.19441678444136e-05 2.2291440721124e-05 2.17868407300725e-05 5.42028369784007e-05 8.13135265238152e-05 4.85857741882405e-05 8.47764518058835e-05 -2.40705473608111e-05 6.85414428716355e-05 -7.99510385716126e-05 8.98353596355232e-05 9.29812792081629e-05 0.000119839242512041 -6.50172109371334e-05 -0.000117846324285145 7.42025387678184e-05 -7.05998628830834 [...]
+id1186 -3.14870969399655e-05 6.41613077971868e-05 4.42757530176656e-05 -0.00013828837580393 1.44588996238115e-05 7.45677163678746e-06 1.45748130342111e-05 -0.000131090922956340 -8.86908103398357e-06 -5.74377311148457e-06 4.97626143197081e-05 -9.23505256401925e-05 5.02848204590708e-05 4.57013876142797e-05 -8.40093622183613e-06 -8.43698887910116e-06 -7.67812479751691e-07 0.000107400036266529 -8.10173408565168e-06 4.46717323758604e-06 6.07192554072924e-05 1.08975098289553e-05 -2.18737862496 [...]
+id1193 -6.84913366669154e-06 4.78263234301022e-05 0.000121794673499418 -2.32208374581191e-05 7.48279691255132e-05 -4.14608506300985e-05 -5.86241625877905e-06 -5.47320773265947e-05 9.64548667583142e-05 0.000104222769508941 1.43816652322284e-05 -1.61163849990237e-05 8.10335863644117e-05 3.55858857721522e-05 8.1381298739012e-05 2.5834617706354e-05 -1.2619296368124e-05 -7.03700089645172e-05 -0.000122004082925653 5.6172132748474e-06 -2.7619663274802e-05 3.6807702009433e-05 1.39729375293417e-0 [...]
+id1251 -2.22880806351038e-05 -9.4635198906536e-05 1.64974321256498e-05 -0.000129906766061094 5.4049058790811e-06 -5.27703979817114e-05 -1.52623687277926e-05 2.09671513708175e-05 3.37150500784386e-05 -1.96309992556306e-05 0.000119385748722271 9.62411967248249e-05 7.38354056158255e-06 -0.000209492425219458 -1.64380815380211e-05 0.000115634584178059 6.36993749803722e-05 9.31606687773392e-05 5.84631551706947e-05 6.80477235978536e-05 -0.000119776419752795 2.95151154986910e-05 -9.3141913930829 [...]
+id1265 6.42978867262026e-05 -1.29711095331116e-05 4.70139336436345e-05 1.00234590367442e-05 -1.60987989916136e-06 7.60465573895704e-05 -4.21968520754147e-05 8.68738927207127e-05 -1.32911890982652e-05 3.10765793382389e-05 3.61594275588406e-05 -0.000104714958010367 -1.23726441733180e-05 -2.37775712265753e-05 -4.1800571063396e-06 7.81120106364056e-05 6.34982276274773e-05 0.000104586820790484 -3.51905923382530e-05 -4.59117241779948e-07 -1.32264060392776e-05 -2.27912459443280e-06 3.5719031344 [...]
+id1382 -2.88541194765697e-06 -6.49761657079695e-05 2.06992484104048e-05 -3.52043384797334e-05 -9.69766949356977e-06 3.20061997181852e-05 2.81438274106885e-05 2.92329272769718e-05 -0.000121425404525557 3.59398290499089e-05 5.03459241407429e-06 7.24899785571292e-05 -5.97282303531171e-05 -1.63588463341834e-05 1.93161756958054e-05 2.08800143937006e-05 -0.000135111003706371 -0.000275602995959327 4.41174991495251e-05 7.20389307967938e-05 -4.08676115171771e-05 5.06063548163355e-06 6.80102099321 [...]
+id1394 -3.31000350668055e-05 -0.000125519979471885 7.32932118944181e-05 -2.78123227068877e-05 1.20020909759483e-05 -2.73259288255553e-05 4.92487686248316e-05 -1.26595108392136e-05 -2.98833765196976e-05 -5.69369912235185e-05 7.42167836136234e-06 -8.85962631605438e-05 5.20641624343474e-05 -3.82691944530571e-06 -1.92063602792779e-07 -1.44767419325601e-05 4.64457280179076e-05 8.2842174519497e-05 1.11080073314873e-05 -0.000157218781590674 4.63303033408183e-05 8.66528752410565e-05 -4.755315247 [...]
+id1408 6.75808408399611e-05 -8.84793514216227e-05 -4.68757784171664e-05 5.4204741703773e-05 -7.33255525885116e-06 -0.000140604229214028 -4.59975483033002e-05 1.22584416379234e-05 2.19461950112154e-05 6.87277468105701e-05 -1.34299126712962e-05 1.36699571400516e-05 5.14275414274011e-05 1.06671003130976e-05 5.39038973930075e-05 -1.25538220954006e-05 3.36114110750027e-05 -5.25163245011049e-05 1.15834657213573e-05 6.21052999445403e-05 3.58120877686576e-05 -6.98651119980823e-05 2.5529090067922 [...]
+id1423 -2.75364676474412e-06 -4.58685555580308e-05 4.40721701748667e-05 -7.60675288362774e-06 -2.35483004837674e-05 4.89783423031312e-05 -0.000190054921599685 0.000101761565789253 -1.25775965521653e-05 8.15957920905585e-05 -6.00581940826846e-05 1.43481248008045e-05 -1.51173843444873e-05 4.47125048577084e-05 2.60865466514397e-06 -5.72862701670292e-06 2.12422493725080e-05 5.13373033014436e-05 -3.63746800076062e-05 -1.52278116267382e-05 -5.02553972654145e-05 5.19189616878858e-05 1.545177160 [...]
+id1457 3.88570844481029e-05 2.38820903188174e-05 2.66481738210984e-05 -2.97212730301078e-05 -4.3997897447391e-06 7.5000576185973e-05 2.75410723111562e-05 1.00291036267357e-05 2.91388412937110e-05 -1.98324877191797e-05 -8.17068043111273e-06 8.327214225347e-05 -4.22474509762063e-06 -3.94317612809401e-05 6.21087274475873e-05 5.82678445933728e-05 5.13733759378418e-05 6.39591545907652e-05 4.37558343319738e-05 1.74723140616491e-05 -8.77699043188986e-05 1.08912362666435e-05 -4.41210254914151e-0 [...]
+id1469 5.16724088217294e-05 2.67161556768957e-05 3.73497928143557e-05 -3.1308391955059e-05 4.03064713541938e-05 4.26875872050716e-05 5.94761955203555e-05 2.60927404096844e-06 2.94222987728374e-05 -4.15221122843624e-06 2.32229220997678e-05 -8.80993444835972e-06 6.4347279560318e-05 2.80057061810075e-05 6.48730965641274e-05 5.10576160256694e-05 -3.11676421623931e-06 -2.50537721753767e-06 -2.72095866329737e-05 -1.71688090103865e-05 -7.18106802478078e-05 -8.04099137227229e-05 -2.3000005676523 [...]
+id1477 -1.28455362795530e-05 1.39232197298717e-05 3.65392219074791e-05 9.33566962439199e-05 3.38243688830731e-05 -1.85562160724732e-05 3.93709796590957e-05 -2.16697762351461e-05 -8.6639491963818e-05 -3.72674673393581e-05 -5.75792463559397e-05 -0.000387164729245931 6.08405938366926e-05 8.57055596563208e-05 2.7393646578241e-05 4.88869825850439e-06 7.58135656075439e-06 0.000110653646696254 6.80364861706893e-06 2.92366712426082e-06 -0.000113915507673219 9.83046084413627e-05 -1.68168495655634 [...]
+id1505 -7.15497192288907e-06 -1.28913734982167e-05 1.51515604032744e-05 -2.92546205903174e-05 3.71238990590118e-05 -0.000169831157964818 3.95636360263582e-05 6.28041331385161e-05 9.0422357847074e-06 8.21457063486715e-05 7.81469524965041e-05 8.60581411286577e-05 -2.00864604031836e-05 2.42878960086889e-05 -1.66084830578409e-05 -7.54067436228756e-06 4.49400623503337e-05 4.05936565732369e-05 9.63257005178859e-06 6.83735832030354e-05 -5.80619933440347e-05 -7.84130729822564e-05 -0.000146522742 [...]
+id1509 -4.18408061322902e-05 0.000111749804956493 -3.30024987023145e-05 5.49119462962443e-05 3.06145979442384e-05 4.35653900046975e-05 3.48381600533164e-05 1.51333371496111e-05 -1.98201000547777e-05 2.71841623623463e-05 4.42818350958255e-05 -5.49598963512305e-05 -4.55261385811988e-05 2.93803605199894e-05 -4.55186024164149e-05 7.33446284471966e-05 1.32611307084228e-05 1.41522061930142e-05 3.94310923785844e-05 -1.59969275685196e-06 -1.53318954805705e-05 6.84019668909575e-05 1.7978797492195 [...]
+id1514 4.81550819823804e-05 6.32480670894277e-05 -5.79859950314208e-05 6.23501858784032e-05 1.51590712804898e-05 -2.63772457787412e-06 -3.50275065883582e-05 4.77883877099926e-06 1.28200771452007e-05 -5.92528736667173e-05 5.72637620823143e-05 3.28374863427438e-05 -0.000297164541421255 2.89354193764704e-06 5.04760551639511e-05 5.44183231017194e-05 -1.93592900781458e-05 -7.25961692185704e-05 -9.23377604925404e-05 4.69092673817657e-05 -7.54313937363634e-05 -4.12360634489369e-06 -3.2233492484 [...]
+id1591 9.88292221754837e-05 1.40449287194695e-05 -4.23710136665470e-05 -9.50102004834377e-06 -9.22188557794816e-05 8.066639562619e-05 7.80357651267008e-05 0.000122040866287467 0.000102726354203704 -1.27163693873165e-05 7.23500760874534e-05 6.30497165262364e-05 -6.99427969121949e-06 1.29064064140870e-05 -0.000141514528064568 4.98921954177934e-05 -9.0470169332778e-05 3.22943447663453e-05 1.47248939517207e-05 5.31904991164338e-06 2.89203695094684e-05 -1.51949766517865e-05 8.68489048793093e- [...]
+id1593 5.88371964672936e-05 -6.34384890482635e-05 3.98171519531604e-05 -2.90540392446317e-05 -1.44406467356908e-05 3.12448199737625e-06 -1.90519495731336e-05 6.37684208164788e-05 7.90843843056447e-06 4.37240222989031e-05 3.05099163803546e-05 -1.08469913350773e-05 -2.47478998927387e-05 -0.000100481272468526 -7.96038720660324e-07 -2.34778793419250e-05 5.22386482547106e-05 -7.00963201572436e-05 8.7393708653283e-05 2.1806521966508e-05 6.9376023546333e-05 6.98214526883858e-05 -1.8752513378900 [...]
+id1653 -1.82058445509993e-05 3.46817245049104e-05 -1.31489422539266e-05 -3.49802105141693e-05 -8.88590356038433e-06 1.26045460883879e-06 -1.53895735795331e-05 3.58424049453711e-06 3.84792885607726e-05 9.17174926135344e-06 -0.000215011455887389 -1.23195567419044e-05 -0.000153008562538785 -0.000135372416934222 -1.87782123026072e-05 1.64410954214869e-05 4.9488390327486e-05 2.75422356346837e-05 7.92178876896617e-07 -8.82548578462193e-05 -3.26582503428781e-06 -4.80255259323224e-05 -0.00010478 [...]
+id1656 -3.02933869574454e-05 4.0506477026871e-05 -7.9576313361728e-05 8.78375083253691e-05 4.39948377592988e-06 2.55814613263633e-06 1.66804165808242e-05 9.01009583405258e-05 4.74581426786666e-05 -1.67472090251947e-05 2.96316289613993e-06 -1.59105407327393e-05 -1.66738267770977e-05 7.770379347446e-06 3.86377112048931e-05 4.5501569983182e-05 -4.65929029997975e-05 -4.06600156321593e-05 2.49175182107806e-05 -4.6557399922412e-06 4.33611927166777e-05 6.21363707454303e-05 -1.49098396504514e-05 [...]
+id1737 3.01071389902865e-05 -8.45064162639382e-05 6.72640122838576e-05 -8.28376731366199e-06 1.83010373333518e-05 -0.000136453261127245 -6.35928063893189e-06 6.82104680902371e-05 5.97603813071723e-05 -2.93899973503753e-05 3.0107792174257e-05 4.25967814591196e-05 -7.42474670047034e-05 -1.21402967224984e-05 5.80255257921114e-05 4.65300316142259e-05 6.07068009223208e-05 -7.51433318289235e-05 -6.36055849113339e-05 -5.5118386325459e-05 1.10256403524556e-05 5.50109644152018e-06 4.3208103344586 [...]
+id1760 3.25107720907412e-05 3.5969474207484e-05 1.29775336120851e-05 -1.08704780159905e-05 -1.4786992902958e-05 7.06855726150948e-05 -7.6625630759733e-05 2.48955394745257e-05 -7.33154059155557e-05 2.77328231992715e-05 -6.54655802709558e-05 -0.000124775459796836 8.02209188443033e-05 8.88934751920293e-05 1.06711274681855e-05 4.30704533008119e-06 -5.61145440314055e-05 5.6587477099872e-05 0.000104164780942172 5.40460690542899e-05 6.82323642033071e-05 -7.37204209972775e-05 -0.0001272230700216 [...]
+id1784 -5.69802093198326e-05 -4.61300046415782e-05 -1.23254345219765e-06 7.35004826327049e-05 6.68408825859466e-05 -4.33945105559702e-05 4.66474406492932e-05 -9.75410067013998e-05 -2.45327443002222e-05 3.54923501047124e-05 -6.59141976252857e-05 -2.87335408129965e-05 5.04596044994369e-05 3.16815591743863e-05 2.69878128405269e-05 1.47807794227245e-05 -1.06247190910120e-05 1.84387068774440e-05 7.24873961330369e-05 -4.97983092806238e-05 3.17669192231431e-05 0.000111981552194811 -9.2355656979 [...]
+id1827 -0.000219440277433982 5.53765837660683e-05 -1.19999076525726e-05 -2.74748394227771e-05 -8.33821193823658e-05 5.43044183054242e-05 -0.000241234161184482 5.11746795267815e-06 8.31604339201456e-05 -0.000107039418802603 5.85701385391484e-05 -7.64489350470197e-05 2.23548778235174e-05 9.74557960626878e-05 -8.45672779479278e-06 3.40520689515342e-05 -2.48642564963206e-05 5.96740266950511e-05 1.39906459399375e-05 7.59033957792925e-06 -8.60500246552356e-05 -9.09543437544301e-06 5.9604903182 [...]
+id1841 5.3032052500264e-05 -7.22035845841738e-06 8.96870396917301e-05 3.43415246726825e-05 2.21657800201370e-06 -5.8671403083825e-05 -9.49990573553394e-05 3.42491176992044e-05 2.80451768432317e-05 6.39145443913112e-05 -8.30695762702752e-06 9.98682466774957e-05 6.41278012298102e-05 7.48398063266551e-05 4.29035567983675e-05 9.17858539674478e-06 -6.55407620059327e-06 0.000102976397439402 -4.14273548288429e-06 7.85240119776698e-06 -6.1529854490653e-05 8.6828128467833e-05 6.94426930137356e-05 [...]
+id1895 1.42030649135133e-05 -4.77541697889463e-05 -5.1451254127552e-05 8.33899850249148e-05 -9.7633980359648e-05 -8.6734343093867e-06 -4.80744458387113e-05 1.01251596988655e-05 6.89934137592681e-05 -8.06182876600973e-05 9.07497163216482e-05 6.45144379476362e-06 6.21482949033183e-05 0.000113445721532729 5.79353255437676e-05 4.52544299055578e-05 1.1451540173188e-06 3.04775937605893e-05 3.48762565453846e-05 -0.000320647856449127 7.93429059825772e-05 -1.50171854921897e-05 4.59393630418375e-0 [...]
+id1897 -3.8195286088246e-05 -2.48292414754603e-07 -7.29557045420154e-06 5.381498426948e-05 9.35597296426675e-05 -0.000141702702175366 1.09121060401027e-05 7.7117748176243e-06 4.06345799828267e-05 -7.7829578503167e-05 -3.59242995247244e-05 -7.5787295222516e-06 -1.25194888584580e-05 3.80909605947971e-05 6.46433878423883e-05 4.61527642755642e-05 1.58284611157124e-05 -0.000185162183173946 -0.000160399568399205 -5.58878224537606e-05 2.29648286475501e-05 -1.57515155739234e-05 -5.85907207068135 [...]
+id1910 5.15089653175316e-05 1.69856861567066e-05 -9.66236244285148e-05 -1.23047441313310e-05 1.90493615899228e-05 5.38119250304267e-05 -2.26603426557313e-05 5.95992976348037e-06 6.15963531234851e-06 -6.35284964750721e-06 8.60679336530543e-05 6.23154009089794e-05 -5.60908013320842e-05 -9.101870947544e-06 -0.000113883481003600 5.87876654404815e-05 -3.5089227792822e-05 5.32536907115654e-05 8.7460025328903e-05 3.88347340382435e-05 -3.77214856485283e-05 4.55682444752309e-05 -9.52463179599673e [...]
+id1918 3.21858701745933e-05 -5.57372451393576e-05 -1.55718799836903e-06 -5.88095117628586e-05 -7.46176540695801e-05 8.99612468059057e-06 -2.89851911057493e-05 -2.4939089514365e-05 1.79937648460839e-05 -5.78177525742329e-05 3.08300950518174e-05 1.97269072733072e-05 -5.98308965724914e-06 -9.74256114868056e-06 3.50187911698737e-05 7.70699353321085e-05 7.1540454790711e-05 8.29736408767427e-05 7.56754157182313e-06 -0.000332842256961281 -9.5958200335773e-05 -0.000102360919735492 5.879450250640 [...]
+id1950 -0.000125710410520088 -0.000108009167392424 -8.392819481235e-05 6.06244038283351e-05 1.72193383791980e-05 5.18318676713472e-05 1.80507454858559e-05 -7.60180376836112e-06 -0.000129466231290987 -0.000136317059458313 1.88272921548112e-05 -1.22546415246298e-05 -7.60992112764173e-05 -6.15468696967684e-05 9.06011699605094e-05 6.82127154389775e-05 -2.12611665599505e-05 -1.15999180292856e-05 0.000111750373852184 -6.20650919806488e-05 6.41242605856528e-05 -5.17400247044108e-05 -0.000106894 [...]
+id1983 6.55293315513583e-06 -9.23675295709423e-06 2.78825389291561e-05 9.35420635523898e-05 -7.56504746539255e-06 4.42039244588078e-05 3.05775435000223e-06 2.44716534033674e-05 -1.79364469024456e-05 -3.13117523200246e-05 5.0311495450995e-05 -0.000238681375382643 4.39522456329328e-05 7.08189710043061e-05 -2.88626673935251e-05 1.68703419650485e-05 8.3878219493938e-05 -6.4154688476234e-05 1.83073958187866e-05 -4.95905194247750e-05 -7.87057376239103e-05 1.27520000175133e-05 -2.27361307075309 [...]
+id1995 3.87073672675517e-05 3.60971192058773e-05 4.07210415386472e-05 2.54487078210764e-05 -3.47278428743014e-05 9.16665367150633e-05 8.1389131320626e-05 4.79901421176391e-05 -2.35646136289315e-05 -2.25272844475615e-05 8.81186279817224e-05 3.33850893048798e-05 -0.000137539338550472 -7.28848887537778e-05 -3.04066088891827e-05 4.50165166240728e-05 -7.54196556493567e-05 -0.000418608689775598 5.40586664646464e-05 1.79779387933861e-05 9.28120215084892e-05 -1.25933379227393e-05 7.6407821430894 [...]
+id2012 7.77051523406063e-05 -5.04772514885055e-05 -4.77541011289253e-05 0.000121549370071224 -8.3469448779991e-06 -1.17610269879122e-05 9.17216529114556e-06 9.05560594786585e-05 3.50770432212324e-06 -5.37725778437881e-05 3.91650561772049e-05 3.68433285134603e-05 -0.000140384829080136 6.17904083797741e-06 1.88385174631881e-05 7.7848597844371e-05 5.61766567585803e-05 -8.70527883267686e-06 6.69266247428228e-07 -6.09935958726209e-05 -0.000124702264471893 -1.42477991343573e-05 -5.485625940969 [...]
+id2049 4.90644709687763e-05 -7.41153850160383e-05 5.03412762373341e-05 -6.03120405384953e-05 -3.35756092604846e-06 -7.31830323000105e-05 6.12806116417454e-06 -0.000133749481119139 0.000115055941620404 -1.35355552552463e-05 2.00701609636772e-05 4.19961999086826e-05 -4.78084835180777e-06 -2.36826659717853e-05 6.63703822149065e-05 -0.000195502187918612 5.97055736915894e-05 -7.49130639661954e-05 -0.000183483127130968 -0.000104522121771770 6.91079730600402e-05 -9.4744980398954e-05 3.994504806 [...]
+id2054 4.49334987932737e-05 5.16396160413673e-05 2.39993897987499e-05 7.2399672572217e-05 4.29158855725465e-05 -7.1473013687368e-05 5.32409262636002e-06 6.03552928156268e-05 1.15886444146893e-05 7.7198044110487e-05 -1.95901750921748e-05 4.31152659020177e-05 -2.65815613503942e-05 4.61759534794179e-05 7.1329682690619e-05 5.08268617795338e-06 -0.000136164384837918 -9.68498813585187e-05 -3.34905287716214e-05 -7.22489794737519e-05 -1.29285839824357e-05 -0.000448810656014943 -4.62839748383857e [...]
+id2056 -3.18427937572724e-05 -3.64146917593497e-05 -2.8038219266193e-05 2.52961170138350e-05 -5.52717343419784e-05 2.87649516366462e-06 -7.8837008917729e-05 3.22754766646595e-05 -1.80359118969568e-05 4.85565699523715e-05 -9.003226862064e-05 4.80114012981379e-05 6.10539078200329e-05 5.54672289844541e-05 -5.00154535760191e-05 -2.20778435004862e-05 -8.76240022407125e-06 0.000102213192585233 2.23702978876243e-07 2.09182102502567e-05 2.94912898005753e-05 -1.02939754683337e-05 1.99802264918161 [...]
+id2068 2.80213925872293e-05 -0.000115007089128787 6.05749523146233e-05 0.000100785808626221 2.49056415659961e-05 -1.00651713163184e-05 7.62325152077907e-05 3.55589121254814e-05 6.38754162396932e-05 -8.85909513189094e-05 4.58089791176205e-07 -4.99230952677118e-06 3.48213886080920e-05 3.20491323404313e-05 2.09551832921592e-05 6.8466208818719e-05 0.000135780622786484 2.78269869331298e-05 1.96446960803497e-05 1.30051289971792e-05 6.89689898982892e-05 3.91260196558979e-05 3.32079278882802e-05 [...]
+id2089 5.85993452322914e-05 -2.54166424418528e-06 7.77863334498246e-05 4.69890440491054e-05 2.11251370399578e-05 -7.70708481620563e-05 -3.93722708128218e-05 -2.35150006612345e-05 -1.92043517352281e-05 1.88202992195844e-05 -7.98451671286766e-05 5.35365014438826e-05 -9.37580202707393e-07 5.55596398465352e-06 5.10000424282707e-05 -4.8692454729659e-05 2.73530390573919e-05 4.8757731123162e-05 9.8534147813816e-05 2.54787535252792e-05 8.9321785632672e-06 -7.82436222965347e-05 -1.52631609546188e [...]
+id2094 4.35042518076168e-05 2.06442636962784e-05 -4.49481317338457e-05 6.23302007887461e-05 7.6382145821738e-06 2.84846927558532e-05 3.44768547923523e-05 5.81989507715061e-05 -8.78587986956678e-05 2.75354711401888e-05 -3.26430578435529e-06 3.00727319988008e-06 6.62808523982838e-05 -3.01098262182621e-05 -3.54106253592556e-05 7.17397059753524e-05 2.64244595491189e-05 6.81906063719508e-05 1.93802433761699e-06 3.34452512672598e-05 1.08978274438681e-05 -2.51958873856889e-05 3.74350066067624e- [...]
+id2151 1.77391430179319e-05 2.4408834583303e-05 0.000134745210342560 -0.000272496384746045 -8.1221121776026e-05 1.23616213094935e-05 5.44888869856586e-05 1.41201354061025e-05 -2.71605374429546e-05 8.51337280210478e-05 7.54019485678563e-05 -1.10969124088957e-05 0.000102432021941076 -4.41133973301905e-05 6.83456970555954e-05 8.07392320855819e-05 2.59923522856172e-06 1.73285399821178e-05 -0.00030845051854209 3.93136486908713e-05 5.87344611618215e-05 -0.000120763812850810 4.86962136555276e-0 [...]
+id2173 -2.53137957663773e-05 1.89987036921892e-05 4.63336233732211e-05 7.29150312585552e-05 8.55744788369507e-06 5.14729795061663e-05 -5.76626517420692e-06 2.31473639075917e-05 -7.7197644308672e-05 -7.38634200444763e-05 6.81087897618909e-06 -2.19520416324153e-05 4.74309525803161e-05 -5.85337365497585e-05 -6.33492566665257e-05 5.98343453391604e-05 -4.27637766591634e-05 1.56180047216959e-05 5.43995029566108e-05 -0.000127469393802296 1.80328009524873e-05 6.63934126912433e-05 -4.195740536469 [...]
+id2242 5.64625167062283e-05 3.19337342360856e-05 -3.37467450041155e-05 -9.53313799742794e-05 -0.000101621949172493 4.99755031453842e-05 0.000101824300374219 -8.27463214774452e-05 -0.000117103952760452 -3.53006811732411e-05 1.82019397183112e-05 3.29164534718176e-05 -2.49083584795073e-05 -9.63196349395642e-05 3.9171263244374e-06 8.87529176318534e-05 -7.2512306567956e-06 -1.93112337368474e-05 -0.000146622865859155 -1.13291048186440e-05 -2.22141230046514e-05 9.59999133583616e-05 2.2079794398 [...]
+id2245 4.74659002872717e-05 -0.000100417256566698 -8.8573374821234e-05 2.65453616348266e-05 -0.000118674295813443 5.43079437983334e-05 -2.23997109171529e-05 5.27666617070973e-05 -0.000113760941806623 -9.58433816340161e-06 -2.0398199825955e-06 1.38685354512496e-06 -6.43621148742028e-05 -2.6847213041947e-06 1.68822115827425e-05 1.36894414804062e-05 3.36702676569407e-05 -7.74466934125155e-05 9.000065577129e-05 -2.22583154613436e-05 -0.000173887439183195 -4.79188296081414e-05 -2.269399552082 [...]
+id2317 4.13468901413658e-05 -7.91891629337015e-05 5.53352037346641e-05 1.61228585737018e-05 2.59153712955066e-05 -2.40255863690400e-05 2.12065261676473e-05 0.000122196250292772 1.68760039871345e-05 1.07481571923109e-05 0.000102220783969888 -0.000156753699675096 -5.97974772466738e-05 2.21621834788078e-05 -2.54546939774892e-05 0.000100634375054808 9.5554542604941e-05 4.26670234546364e-05 2.29809958825073e-05 5.74755519948667e-05 -5.27303416140823e-05 -6.16457221247266e-05 2.37030786278915e [...]
+id2328 -0.000203564803684491 1.60396011735474e-05 -8.3978142438247e-05 -3.08260925379389e-05 5.67290679030373e-05 -7.28419456593464e-05 -9.44632839898912e-05 2.22613670133488e-05 0.000110256433907610 1.99199271908627e-06 2.47498697502478e-05 -1.03763998945408e-05 -5.76446002888538e-05 5.17655325579676e-06 -0.000313286507479171 5.47008890881357e-05 6.39670144437021e-06 1.72487660409674e-05 4.54557865169682e-06 -0.000129630879416779 -3.76417718460788e-05 -0.000104036210178167 8.24692821469 [...]
+id2348 0.000110677482898759 5.16469496989968e-05 4.53156205659582e-05 1.33737844866876e-06 9.14314417963275e-05 8.64663320688116e-05 7.48649044432449e-06 3.53680655937382e-05 5.52396040698765e-05 -1.31143932834861e-05 -7.40873203461863e-05 7.6136154806633e-05 2.11774192189295e-05 -4.61416579011003e-06 -1.83904389291438e-05 -2.14652065774003e-05 -6.3693738600716e-05 1.87621754760110e-05 4.46198834230317e-05 -1.13181216726503e-05 9.57343728820036e-05 -7.53298650296708e-05 1.80801943574957e [...]
+id2351 4.98688606033478e-05 6.78187647256549e-05 -4.44515268447818e-05 7.49481860143008e-05 7.6460070789714e-05 -8.17844013158598e-07 4.98533889369351e-05 8.50586931366662e-06 -5.23660698679534e-05 -1.46095309404741e-05 2.28017815748772e-05 -1.12088250214522e-05 5.88716880654423e-05 3.44631793357594e-05 8.19180793264208e-06 4.04614139779306e-05 -0.000137135253748282 -3.60608176310377e-05 -7.74929979036953e-06 -7.38255410019977e-05 8.8023051620151e-05 -2.87437657251675e-05 -2.159580155001 [...]
+id2428 6.75358856411427e-05 0.000167291279673275 7.74645800265895e-05 4.86548228763497e-05 4.21851459617276e-05 -0.000137835557630760 6.05053038384383e-05 -5.29999510709611e-05 -2.72161171564625e-05 4.75302558470759e-05 5.17223464247534e-05 -4.42859368962503e-06 7.08783795774236e-06 7.41494220412976e-05 1.51776767435392e-05 -2.07322534148451e-05 -1.11039821950577e-05 -7.31580693472705e-05 -7.11017065193436e-05 2.2511101076402e-05 -2.03279611468536e-06 7.83649092143883e-05 3.4115705483593 [...]
+id2444 -0.000135523880025119 3.18897493462521e-05 5.84423726665947e-05 4.6582834484168e-05 5.42941989731924e-06 -5.41992510324225e-05 4.64587099991381e-05 0.000123756501007451 5.04570028343876e-05 -2.46193896525529e-06 -3.91795531807826e-06 2.54534049471989e-06 -8.60742133327066e-05 1.28405019643955e-05 9.09318540083146e-05 5.00332519354941e-05 8.24741986335761e-06 -4.64108708648881e-05 -5.56396617850837e-05 2.28277335255752e-05 -6.89328495101746e-06 -5.52758491009321e-05 7.5358684060659 [...]
+id2476 4.79800356991375e-05 6.59534483295991e-05 -1.09514221995819e-05 1.88999281209757e-05 -1.70120535643270e-05 7.74057056726772e-05 -3.61060244899526e-05 9.05433370258274e-05 1.68601672785527e-05 8.80614882385372e-05 -0.000132358508918434 -9.03091640640183e-05 -3.51726854117048e-06 -6.89693045036282e-06 2.37719985194054e-05 5.68592806443028e-05 -5.29168974301682e-05 7.19603502836124e-05 -9.44454503660117e-05 6.5228011993608e-05 -0.000114925245513319 -5.63528795208315e-05 0.00012289910 [...]
+id2514 -4.84881336069467e-05 3.28126241039174e-06 2.86966210167203e-05 -9.01813277888575e-05 6.47522107590919e-05 -1.16207721961699e-05 -9.86287499964376e-05 -5.20941830326992e-05 1.39147250881330e-05 2.53847484949216e-05 -1.55075542735592e-05 -2.15819728022460e-05 7.17153096379979e-05 4.83490843023397e-05 6.51609498900682e-05 3.08921661884410e-05 -2.41142130659519e-05 5.66433312007205e-05 -1.99638955764997e-05 2.11607675956446e-05 4.31378856883202e-05 2.31549469115620e-05 4.426676156985 [...]
+id2520 1.12456454977787e-05 2.66315722233254e-05 7.17894857345464e-05 4.00192733655013e-05 7.87250231409918e-05 -0.000121344544026253 2.78969163457152e-05 3.60919177236702e-05 -2.58261347344083e-05 -2.66462014854628e-05 -0.000103838354010958 9.1873809566302e-05 8.25093347724985e-05 7.64469144133e-05 7.2051479644291e-06 4.86087799102334e-05 -2.63076709716023e-06 -1.71716403052122e-05 -0.000180800079888489 6.19490532850716e-05 -7.22959653899945e-05 -1.31655972042667e-05 -9.70158750832639e- [...]
+id2524 -4.30444892373229e-05 -9.10153828785312e-05 5.02056683467469e-05 -1.17626989737516e-05 -7.64651018976873e-06 -0.000380805742067039 7.72633511964681e-06 -6.05765558149643e-05 -1.69674737412090e-06 4.30496034028246e-05 3.71098211048116e-05 -5.62962993108224e-05 -2.95198352756345e-06 -6.44228567928835e-05 -8.11998749797033e-05 -4.9370318576778e-05 -3.67855554974106e-05 -4.83923113594348e-05 -1.06422148721179e-05 2.73090637869782e-05 -8.68050431207917e-05 -4.22401490343970e-06 1.40389 [...]
+id2531 1.73596629623382e-05 2.00299982896545e-06 7.83629681187175e-05 -6.92379761399639e-05 4.91361183475454e-05 1.85006531251506e-05 -4.28299478751051e-06 2.13938588800392e-06 1.15647674995651e-05 -2.87467975328111e-05 6.46540654413496e-06 0.000108961010866416 4.65383548074151e-05 2.43941811716387e-05 6.06849874364218e-05 1.13241292741085e-05 5.71781250774646e-05 5.18877551318693e-05 4.66017691004084e-05 3.43039712804023e-05 4.46424647515247e-05 -3.78971799215911e-05 -4.06238046321174e- [...]
+id2558 -2.69558465053745e-05 1.38284022250265e-05 3.80441165753415e-05 9.58933318807419e-05 -6.16843858958772e-05 8.63230853756075e-05 2.68983138795067e-05 7.07936142738346e-05 2.06886375910821e-05 1.13660286356238e-05 3.32167697101027e-05 4.37074289964621e-05 -0.000145640032802082 4.50674701633176e-05 1.92483370846331e-05 -3.48677346782771e-05 4.77103933578635e-05 -4.53997320006453e-05 7.43334332510879e-06 2.69829427438604e-05 6.87297520963099e-05 -6.01785889949512e-05 9.00057384289373e [...]
+id2589 -2.85207653310927e-05 3.30682463976978e-05 4.56837217330081e-05 7.80517120057933e-05 -3.81628722585664e-05 8.54610296222224e-05 2.25587274922646e-05 1.33969356234339e-05 1.06470214422766e-05 8.19992090961775e-05 8.24112176146152e-05 2.13248999052217e-05 -0.000193518228553940 -2.39583474715065e-05 4.8557809663992e-06 4.34296719686683e-05 9.78930215259804e-05 0.00017711527530431 0.000118027796437965 1.9253365604649e-05 -2.11798911463913e-05 4.55834795072969e-05 -4.81644816744066e-05 [...]
+id2618 -4.38309895636772e-05 -4.57890967093822e-06 -8.2350535091268e-06 3.10630979256365e-05 9.16218051512306e-05 -2.58059447072954e-05 -5.36050991542209e-05 6.16303896012362e-05 0.000129772413999800 6.97346606050475e-05 -8.11208211917065e-06 5.13133823978017e-05 -8.26107781817751e-05 7.6622179843549e-05 4.53600994145204e-05 1.91609533343701e-05 7.8368789112124e-06 -1.10514495780103e-06 3.02195055343054e-05 3.01138058126883e-06 1.07479590859212e-06 0.000104582300159595 4.19253520643858e- [...]
+id2653 6.45198413301182e-05 -6.44533339543308e-05 -5.56168269528068e-05 -8.26043346474039e-05 3.14824561491666e-05 7.70511834083941e-05 4.76216726309789e-05 6.58860622647624e-05 2.07612908713948e-05 5.03674144175241e-05 6.6599661318853e-05 5.8565134259341e-05 -6.90563924594838e-05 4.32237837199476e-05 -8.90851850769481e-05 6.87650570037964e-05 2.68490676924831e-05 7.78926508670486e-05 5.29303944186181e-05 4.26417259919908e-05 4.44087532903537e-05 2.25310343583606e-05 3.87631309157289e-05 [...]
+id2654 3.10427607362021e-05 4.60131077818201e-05 5.26952352931816e-06 -3.34448875847105e-05 2.36521931809403e-05 2.21065311950948e-06 1.53649423166850e-05 -0.000101605484398604 6.07395204339028e-05 -3.15574801670884e-05 0.000101112418108105 5.23695084751009e-05 8.84610294405611e-05 1.97519969827221e-05 -4.97541408801373e-05 -3.07748528903489e-05 0.000122368702379437 -5.09347100145285e-06 -6.69205847620021e-06 5.72970393316653e-05 -7.60256563755678e-05 6.25632012035863e-05 4.1225526019611 [...]
+id2681 -8.25439271381816e-06 4.10844210409699e-05 5.35862876407482e-05 2.19757735133408e-05 3.18758516541881e-05 9.2006028999053e-06 5.208727991614e-05 -4.78972122465327e-05 -7.94639385581174e-05 2.43939258969402e-05 -2.43992121684028e-05 6.3828260982069e-05 5.07905111583553e-05 5.47443387277929e-06 2.52047325089597e-05 -3.49668913336054e-05 -0.000164508498875599 1.05877968272956e-05 8.5306633195789e-05 -3.34645031139748e-06 2.73015025573104e-05 -9.45880731440505e-05 -0.00017792565470117 [...]
+id2689 -4.83836858006509e-05 3.71643815018763e-05 -1.77166589658629e-05 5.78692321270194e-05 3.88978594620270e-05 4.70548072409572e-05 9.6253651717154e-05 -1.84620483380267e-05 -7.81055896033111e-05 7.06886341485212e-05 6.64998486631202e-06 -7.85432890709522e-05 -2.0888378934468e-05 1.94187068192385e-05 -1.85514166286989e-05 -5.18178944023621e-05 4.27388662239637e-05 -3.14893760408033e-05 -5.13221268979833e-05 8.76992595650556e-05 -6.42217907555616e-05 6.90341298410407e-05 7.471808577871 [...]
+id2693 3.3879249466173e-05 -1.67003256391637e-05 0.000103151733425051 -4.01252959037343e-05 -3.9645152768015e-05 -2.03994928529696e-05 4.85503613840076e-06 2.2187760850271e-05 -4.63067725965368e-05 0.000107930405830262 0.000109275433217535 -8.06620800437096e-06 -6.04392217082888e-05 2.45992822330031e-05 -3.19413512939133e-05 5.40898537910323e-05 -4.89029775386777e-05 6.309312295197e-05 1.26266643830708e-05 3.52061237998451e-05 -6.12250457292265e-06 -5.14397870910587e-06 -6.34141028020683 [...]
+id2708 2.69011390266958e-05 6.95498440055262e-05 6.96949126042001e-05 4.86252433118509e-05 4.98570543399124e-05 6.70765726082949e-05 -2.21431135791991e-05 -6.31891157779118e-05 -9.08756208829717e-05 -1.51475672937656e-05 4.04313251420748e-05 7.1832267894364e-06 -1.72219979181543e-05 -2.67374333288800e-05 1.56356145220739e-05 -1.22668833317455e-05 4.6929752067396e-05 -5.51617376596893e-06 4.18782624074913e-05 4.23575007976025e-05 5.99422573187225e-05 2.34469650156838e-05 4.06359982560126e [...]
+id2741 1.36519272565416e-05 -0.000252524147537897 -7.40147038731714e-05 -1.47789863712820e-05 3.5385230008309e-05 3.08326340278015e-05 -2.49676933558534e-05 8.76884591772485e-05 -1.31722430112622e-05 -0.000184874498945001 8.47396896748228e-06 -3.39768434953019e-05 0.000108082615022064 2.87106144240369e-05 8.24332267440922e-05 4.16227713363203e-05 0.000110648867978101 2.58028853380526e-05 4.60758405881773e-05 -8.05967564714641e-05 3.88223271198725e-05 -3.9286371290981e-05 6.43145021596337 [...]
+id2842 -3.30605351846501e-05 3.22529753701431e-05 1.47977356942576e-05 5.88344902992338e-05 -6.61365816900205e-06 -1.56261675716444e-05 7.50434608592282e-05 1.98725289790311e-08 2.58873066091577e-05 8.10028520596624e-05 4.78279790960549e-05 -3.95742724766914e-05 8.64005646874754e-06 -8.01713303155768e-05 -0.000152866339538107 -1.02661800590931e-05 1.08311328799826e-05 6.2065296007639e-05 0.000102632613176640 2.13132562433750e-05 7.5855680498239e-05 1.15311477932377e-05 3.30511455332550e- [...]
+id2862 -3.86083682740333e-05 0.000120399426885519 -4.07036420412015e-05 -8.35834036745592e-05 -3.69354930854223e-05 8.92565728462624e-05 -4.13178072919908e-05 0.000114080064029246 4.38104803765286e-05 -0.000100410376721096 0.000110855872181766 4.3949269076314e-05 -0.000204667748832128 5.55995246944558e-06 1.43923138697128e-05 8.626013023872e-05 5.51659858118405e-05 5.59668035250094e-05 3.28001704279885e-05 2.29907934799995e-05 -7.02428963152416e-06 -1.77491141437688e-05 0.000135043919852 [...]
+id2894 1.75059711928065e-06 1.26254244886907e-05 1.37621992326180e-05 6.8528365889905e-05 7.57688066091594e-05 -2.72991709450804e-05 2.13700675058542e-05 -1.96927550340777e-05 9.93036234699705e-06 5.30808550362602e-05 -6.17107440292325e-05 2.75804459251785e-05 4.54731665960943e-06 5.3241936624663e-05 2.96725329272199e-05 6.09639827127733e-05 -9.18422695663405e-05 7.05349625663538e-05 3.30641931540840e-05 -1.94941592974875e-05 6.61183640551677e-06 3.09713482228671e-05 2.90661460119919e-06 [...]
+id2901 3.11117307935292e-05 2.72191084767699e-05 -1.02983770115939e-05 -0.000179467174611842 3.429486080831e-05 2.38098568312714e-05 0.000100306880041193 -0.000169051726819890 7.3022844976168e-05 8.60421577111398e-06 2.80139306746478e-05 4.39064183173032e-05 4.14491711147584e-05 -0.000229322000619409 -0.000355672176483716 -5.3395271117626e-05 -4.64874286467508e-05 1.66249424422062e-05 -1.17036683173256e-05 4.82782280860873e-05 3.50529652618884e-05 -5.98448897951644e-07 4.25614106311042e- [...]
+id2925 -7.15620982489163e-05 2.24089024976983e-05 -2.28735707521641e-05 -8.5039895580804e-05 1.34576729857611e-05 -9.55140020446804e-06 3.52865377607723e-05 4.41346645503081e-05 -4.69172774105678e-05 -6.736631765157e-05 -1.58314220427783e-06 -2.47283517199445e-05 6.12779548186796e-05 -1.35835694434800e-05 5.39050095545946e-05 8.13004100860452e-05 -0.000149150784405227 -3.18257115645978e-05 -1.70960062244359e-05 1.34712249740072e-05 -1.27665074408653e-05 2.00586209866465e-05 3.90747132820 [...]
+id2932 6.44864102579817e-06 3.56845423451207e-05 -3.26931951498389e-05 -8.98900090351814e-06 -5.72790753546763e-06 -7.142843001777e-05 2.56789654764626e-05 3.24321948974155e-05 -2.92464026739212e-05 -1.89212614217241e-05 2.25599276875240e-05 5.49983898706055e-05 2.55047049219621e-06 1.40969675496019e-05 5.9451224013379e-05 1.92873329009650e-06 4.33101347494927e-05 -5.69352939675099e-06 7.31402187890259e-05 9.26120753376736e-05 1.56117173569856e-06 -1.44014443558734e-05 2.79694806745802e- [...]
+id2973 -3.02006901250198e-05 3.25671059817466e-05 6.2500769031701e-05 6.41596967092314e-05 -1.50048685400426e-05 5.99007035914873e-05 8.66089423366369e-05 8.80034617616423e-05 4.2716342118531e-05 -3.14886939828306e-05 5.42729333765648e-05 5.43960185258172e-05 4.31387029479782e-05 5.14099235750345e-05 -4.72310082568435e-05 -4.93803648019323e-05 4.01010782585127e-05 0.000108206810805511 5.02954087492595e-05 -0.000112854557109783 0.000115013074816821 8.62954612632558e-06 2.45545291317384e-0 [...]
+id2985 -4.41382504051545e-05 -0.000177587245408866 9.56928172444619e-05 4.01295597687354e-06 3.69188285690321e-05 4.05090913613354e-05 3.96313195803965e-05 -5.17386271131173e-06 -6.23947187135122e-06 -7.09706500483855e-06 9.91372943719618e-05 -3.6556364747183e-05 1.49167810731581e-05 5.25481540638499e-06 -1.21725920858546e-05 -8.29957308824902e-05 8.45738278079687e-05 -0.000116967157535077 -1.13122439014932e-05 8.66381857331037e-05 3.83839980344035e-05 2.20423471926479e-05 1.845652218310 [...]
+id3056 3.08336792311799e-05 5.2368156109913e-06 1.17680019660598e-05 6.05856419730916e-05 6.36015860262934e-05 -2.46139637585539e-05 -5.31836122473424e-06 -0.000100846014766768 1.59459060946383e-05 -1.88406890206735e-05 -1.89956846524473e-05 1.70989485620561e-05 -3.85762110396489e-05 7.55976223318766e-05 9.79975170508745e-06 3.01503117392037e-05 -7.4641768335702e-05 0.000117172484680892 3.31462195171305e-05 4.88089901886046e-05 3.0545976360585e-05 -7.09310696128306e-06 0.0001095985500007 [...]
+id3111 -0.000150359571316425 -4.41452542962109e-05 -0.000183439496231572 0.00010783361714273 -1.65776097774240e-05 -1.89785234901512e-05 6.64296030299792e-05 1.94677947113251e-06 0.000126635937309792 -4.63444078771042e-05 0.000111635472245879 -3.62655447163796e-05 -2.77777465770545e-05 0.000126138736207361 -7.2091425440262e-05 -9.70762790121835e-06 -1.70623549238272e-05 2.63996571580745e-05 -7.42256183517806e-05 4.97683014659162e-05 3.57186200412382e-05 0.000129301049099211 -5.4551537779 [...]
+id3129 5.03272235585654e-05 7.2549165063697e-05 2.85001860385267e-05 6.31323969434308e-05 2.79549069483573e-05 3.28020636950828e-05 6.77507535235865e-06 -3.35836073079676e-05 5.65720054675449e-05 -0.000100100957332457 -4.14995539287519e-05 -5.05566794151731e-05 4.9566204023419e-05 6.94092903904419e-05 -0.000144790498286322 3.60507705803972e-05 4.26018404007348e-05 -2.43532217704782e-05 1.10507723298785e-05 -1.41669130599437e-05 -4.83896307460204e-05 3.35067490524319e-05 3.29265215475024e [...]
+id3139 7.74519170095643e-05 9.76909585932667e-05 -5.99723282616428e-05 3.83971491880498e-05 -0.000105897775242108 0.000161737849552072 -1.22183691398611e-05 6.02724013304095e-07 0.000108513199201746 -0.000116933674897066 -4.38964700969643e-05 5.89755402900319e-05 -0.000120777543527231 -7.45962648270185e-05 -2.17808488272189e-05 -5.50180515581706e-05 9.71455385692869e-05 -2.07472504614509e-06 0.000110799977239446 5.62600462670763e-05 4.53273757933709e-05 -1.19021657184141e-05 1.0638300483 [...]
+id3189 -1.72908596978098e-05 -5.75121077775184e-05 -0.000118170250996386 0.000154958778646104 -5.45506317351292e-05 5.61649193629484e-05 9.50925768509132e-05 3.74095894601761e-05 -0.000149151386030461 -7.5837046064469e-05 1.96792045992245e-05 4.45488550896832e-05 4.52225817791519e-05 -4.86145521549572e-08 5.09743392605169e-05 2.47787053360439e-05 3.20706113927087e-05 4.67974748934774e-05 4.87253117819717e-05 3.40704415215682e-05 5.13525824963883e-05 -2.27727580424163e-05 -8.5518150812746 [...]
+id3219 -1.80555832164493e-05 3.81694246722526e-05 5.85268021267007e-06 -7.51457707715697e-05 7.82041035377824e-05 -1.10916098811076e-05 -0.000230530781375878 2.89470458933611e-05 1.40298025424312e-05 7.1305981161937e-05 -6.22543615471878e-06 3.53898776642682e-06 4.24996700225132e-05 -3.84938935190985e-05 0.000107717546603757 3.75759951535458e-05 4.05268016494998e-05 4.1887052565377e-05 -0.000242086594099251 -2.16688836043681e-05 4.49424937775969e-05 0.000151276061455760 -9.0858447686361e [...]
+id3263 3.63433278116598e-05 1.88526163619104e-06 2.37457773304015e-05 -1.56796449361796e-05 -1.73493756034456e-05 1.08887349001228e-05 4.19134496767411e-05 -1.49772387330490e-05 3.0247236619797e-05 5.87763616128909e-05 -0.000138233143116673 -4.81621790897986e-05 1.23304571718522e-05 -0.000106863362301157 2.45422631645971e-06 0.000116098158487397 8.27780857579276e-05 -0.000149980932522523 -4.26723454430973e-05 7.88992980286858e-05 -6.93651897606509e-05 -3.66348961139296e-05 0.000123286975 [...]
+id3267 2.27047641686777e-05 7.06388775163902e-06 -2.24653221726275e-05 -4.66422536010184e-05 5.331997963062e-05 -4.60027662055159e-05 -0.000104091970768153 -8.91852341391699e-05 -5.17796701808941e-05 -1.43882470346490e-05 5.36418974824023e-05 -2.9060744776174e-05 2.39464544037312e-05 -4.62771385455830e-05 6.51255389491259e-05 -8.43115429541822e-06 3.76898407617724e-05 -5.17171877928815e-05 1.99341431491789e-05 -1.38850505407216e-05 -0.000100497937443776 -1.28967266732118e-05 -1.490357025 [...]
+id3305 9.5610025163696e-05 5.40210599378014e-05 -3.35397471778136e-05 6.90210013152098e-05 1.92276168737316e-05 4.97607567734022e-05 1.03678432616583e-05 -1.95154518347276e-07 -7.15034855339724e-05 9.54341798248589e-05 -4.89761568862887e-05 2.48381988547661e-05 8.97270774506094e-05 4.39408650895998e-05 -0.000215209757850221 8.6054495372619e-05 -5.84353063128633e-05 -2.54733082357065e-05 5.9539016145724e-05 4.63164316431377e-05 -6.26470722294363e-05 -9.50326944422085e-05 9.15536674114475e [...]
+id3323 -9.19903758441119e-05 -3.72670711179956e-05 2.74703184346375e-05 1.58159693733205e-05 2.03304129834117e-05 -8.04059638314594e-05 2.85913209888145e-06 4.39068116174463e-05 7.62117415479864e-05 -0.000165875749361517 -1.95689643904567e-05 7.47082484611096e-05 -7.2396798865043e-05 -2.62082363212132e-05 9.54818576362699e-05 -0.000119178158476863 -0.000154757452128410 -3.28230372341935e-05 5.95568733495352e-05 1.85164226283136e-05 1.64557069115862e-05 3.90971441201235e-05 -4.96887716274 [...]
+id3330 1.23938594380076e-05 1.70207443219057e-05 2.08828234024053e-05 1.82494563708860e-05 -2.90456979827723e-05 4.84007115435414e-05 3.36388412851643e-05 -0.000121260854247771 4.05898598722861e-05 -6.25874337905323e-05 9.67073901132666e-05 -4.83074832757343e-05 2.94401265648871e-05 6.97170064821463e-05 0.000104976570020844 0.000133896586481266 7.5210543239616e-05 0.000126597465866987 -6.56399985146512e-05 3.10703312739421e-05 3.02950795300974e-05 -4.66878179809746e-05 -5.40833218656536e [...]
+id3354 5.94087843447261e-05 -8.89494625796307e-05 1.28315726635908e-05 9.36370100689634e-06 -7.7454267362355e-05 -5.16241091825677e-06 -0.000280455771972905 1.08266951029557e-05 3.25846459234115e-06 1.26092185991555e-05 -0.000116344935701271 0.000130845967207768 0.000120277486682420 -1.82847549090082e-05 -6.20513496134236e-05 -1.90904895589985e-05 5.06033815959787e-05 -5.40358537925306e-05 0.000111866747316994 3.80076483174143e-05 1.87986253567253e-05 -3.60509570044653e-05 2.227287523972 [...]
+id3371 -2.51773650922481e-05 4.98601343060145e-05 5.28676717317515e-05 3.88150124495118e-05 2.64805412490641e-05 2.49299886471797e-05 -0.000137640843417878 3.77699642472988e-06 6.79652527483095e-05 1.11093100502077e-05 5.43313441948486e-05 -0.000129240073972714 0.000104192950058501 2.55994010952021e-05 3.78172157281463e-05 3.54419038279071e-05 3.50576153680269e-05 0.000103236458709314 2.93083742665312e-05 3.66087594568188e-05 5.92535988161652e-05 -4.70096404335063e-08 4.86141670808706e-0 [...]
+id3398 -5.47610583263422e-05 -4.55303798293438e-05 -9.30299784782809e-06 -3.90336875303354e-05 -8.98463188940924e-06 8.25024158945622e-05 3.90580816730418e-05 3.77205840576518e-06 3.11978451578196e-05 1.53664546064841e-05 9.4839829463811e-05 -2.48127455969010e-05 -0.000104494801608470 4.41761782181319e-05 6.81521178027972e-05 3.13255356893541e-06 7.91230037508928e-05 -8.55243048648097e-05 -4.56737508276346e-05 2.68576596133253e-05 6.72439466580977e-06 5.46325481545361e-05 3.7881871213437 [...]
+id3400 -1.83063685226762e-05 -4.46827012978147e-05 -0.000337970283356624 -2.141504154592e-05 -5.33661083572422e-05 6.7024531244733e-05 -0.000106384494563632 -0.000162764889188689 1.25941955628255e-05 7.70546587071429e-05 4.1631673503139e-05 2.88743177149256e-05 -9.33362805254357e-06 5.02966122692235e-05 1.62258771748996e-05 8.76037469478525e-06 5.51243172863873e-05 -6.28669095637625e-06 5.50630828363868e-05 -4.05548577734515e-05 -0.000221536084045510 -2.93083205229742e-05 -1.837269215809 [...]
+id3417 -8.62780543265028e-05 -9.12653914660122e-05 -5.0241159964544e-05 2.94320946509176e-06 2.04908874004024e-05 1.49563075701432e-05 -6.6651667310722e-05 5.27579665640117e-05 1.80637606896787e-05 5.60981082172946e-05 -5.23587383622542e-05 3.59952082746735e-06 0.000135069507614331 -7.8092556720211e-05 3.01616647782076e-05 -1.28072731724613e-05 -5.09699412203454e-05 -3.2466118286054e-05 6.18619016498048e-05 -7.89845526012812e-06 -4.62820450031012e-05 8.25267128686696e-05 -2.2624453666676 [...]
+id3465 -0.000125493498772772 -2.23944941312613e-05 4.87573065273513e-05 6.21902601676573e-05 1.34246313066969e-05 5.24295778424616e-05 4.93440757598983e-05 -4.53575196910669e-05 3.59931148496266e-05 1.90767688898247e-05 6.04173214810342e-05 4.1606369006771e-05 -4.66603522241984e-05 1.38497876130107e-05 -9.91600766814675e-05 -0.000116874924317845 -9.12988899249654e-05 8.98660309126993e-05 7.8897975096102e-05 -6.35956654014361e-05 -2.22170747143515e-05 2.35891563136079e-05 2.45153367742965 [...]
+id3521 1.22839650212804e-05 7.8901236026255e-05 0.000116493205748246 1.24728444054774e-05 5.19261049245123e-05 -6.50616133949562e-05 -2.65544972009451e-05 -3.36998364990089e-06 3.14865001562144e-05 5.54967082156368e-05 -4.35043631693589e-05 2.54708266081120e-05 -2.16597740222855e-05 7.67116507293085e-05 1.38882586024347e-05 6.26889276427688e-05 -2.69333296303184e-06 -6.9088275479163e-05 -5.55971583596135e-05 9.60092145689089e-05 9.0496442408209e-05 -4.88824123229913e-05 1.62299957251509e [...]
+id3573 2.70208298545084e-05 -4.45859146591001e-05 -3.42423355743399e-05 4.47473664608202e-06 -4.05494398158398e-05 2.07714395923717e-05 6.22658872680604e-05 2.27024931397838e-05 -2.68986201747066e-05 -6.98607910813714e-05 3.36227178273134e-05 -3.21572623421547e-05 -2.27665265571759e-05 2.12902756934926e-05 2.24536923373959e-06 9.28288167506285e-05 4.89758819581987e-05 9.49848094171205e-05 8.80753385282213e-05 3.84472578417794e-05 -8.14849309763227e-05 -6.10232187180716e-06 8.742611516072 [...]
+id3593 4.76996159937124e-05 9.05168310760032e-06 6.83675580165955e-05 3.87237181753101e-06 1.94193708665334e-05 -3.75704138565365e-05 4.29708025966984e-05 -9.25288096118334e-05 7.51173886148078e-05 5.99855648664452e-06 -4.36233749785771e-05 8.96693719840373e-05 0.000130815182780198 8.00866988394258e-06 -2.27305323815152e-05 -3.03565817039573e-05 -1.90693605720788e-05 3.42446331295252e-05 5.0607280777451e-05 -5.40593033846613e-05 -8.30802840366951e-05 0.000123653994039603 -1.2536300971804 [...]
+id3630 -4.785066566521e-05 -3.39174486948204e-05 -0.000101155653909903 -1.00458182449739e-05 2.37218229061951e-05 -2.28937805372645e-05 1.9128021639637e-05 6.22850115784971e-05 5.58074027264586e-05 -3.99410637342343e-05 1.04563566291978e-05 3.61067082259933e-05 3.3775940679113e-05 -2.59395612162903e-05 -5.0710298716665e-05 1.11610428343222e-05 7.13621782879718e-05 -3.73668515514727e-05 9.8891664012482e-07 -7.570754728885e-05 8.10760309266563e-05 3.55151526313400e-05 -2.23940708509427e-05 [...]
+id3635 0.000123529225743067 6.19618852338726e-05 5.56457103969199e-05 1.79306560629146e-05 8.18595660693527e-06 3.22906000460678e-05 6.32734699288292e-05 3.14495560887211e-05 -0.000312501338762392 0.000103168185104183 -8.24404652258544e-05 4.26499919640961e-06 -7.83265463392738e-05 -9.78376252356753e-06 5.11973401140541e-05 2.77239605952908e-05 1.51110810741956e-05 -9.2928328921711e-06 4.08846298264189e-06 -7.41902423081809e-05 -2.17280309997863e-05 2.24621699326999e-05 -8.87470433754263 [...]
+id3641 -2.79258438167034e-05 4.55249788289456e-05 -9.74559390589953e-05 -9.02345411132756e-05 1.60800999970004e-05 -2.52594143818444e-05 -5.53511808903652e-05 5.38766892762305e-06 -5.19496200566297e-05 5.03681897577284e-05 -6.20039989728471e-05 5.94795664389106e-05 0.000103112255987487 4.54004458336347e-05 2.74279582671959e-05 -7.94334338160942e-05 7.84589999386068e-05 5.90630283755877e-05 -6.78471746459174e-05 -7.13945750723404e-05 2.88700978113262e-05 -0.00010818136582225 -7.9788040316 [...]
+id3657 -0.000126043315498601 5.54566037233544e-05 -5.09291616164480e-05 2.56083453742901e-05 2.94371599592821e-05 1.08868711509991e-05 -2.26154230630974e-05 0.000109584320922275 -1.13288903530758e-05 2.00483673217306e-05 -3.51407032150832e-05 5.00617205011503e-05 4.81792139498328e-05 5.40104091840219e-07 -8.93697343112347e-05 2.98756572530067e-05 -2.28137257805017e-05 3.92287642670038e-05 5.45790249993285e-05 1.29764143111417e-05 -3.35057391386945e-05 -2.00564724056713e-05 -2.13042595087 [...]
+id3692 -1.98548634681672e-05 -1.40283608492419e-05 -1.84470813841038e-06 -7.3296102059739e-07 -2.94298503136161e-05 -5.47907324058217e-05 2.24247822450789e-05 7.80026597643123e-05 -2.33742582201032e-05 -7.5026639597755e-06 -6.43627623598246e-05 -3.38951683013436e-05 -2.39817239062998e-05 2.76995258150524e-05 -1.40817682771360e-05 -3.85987522286120e-05 -6.37338024924792e-05 1.24285834539078e-05 4.36256918421909e-05 -4.3276448044218e-05 3.72360138777891e-05 0.000101385155295267 4.517762435 [...]
+id3701 -0.000165709702978351 -3.06146503745366e-05 2.0730922722106e-05 3.83189783529755e-05 1.79277336784805e-05 -5.90500613352378e-05 1.81642684366535e-05 8.74634294101722e-05 3.70667026117411e-06 6.960317002785e-05 1.74090292246012e-05 -7.69253821753114e-06 -4.39240911080436e-05 -3.26172858597841e-06 8.37439051246883e-05 -2.95927909893189e-05 1.9305834034409e-05 6.91735907823321e-05 7.36469178321909e-05 -4.51553434504795e-06 -2.07249367071099e-05 9.2768237689276e-05 -4.52010449197639e- [...]
+id3709 9.04770459935123e-05 2.17771821935419e-06 0.000103081374545453 9.00977378086206e-05 6.6414869076341e-05 1.58363419773014e-05 3.16246463968884e-05 7.25562360018634e-05 3.2790264182777e-05 -2.58013975237824e-05 7.64503624497565e-05 -5.45011592494449e-05 -1.86538869451938e-05 8.34798069709998e-05 4.14200454728668e-05 6.07133481105355e-05 -8.12506762467183e-05 -0.000219075761600784 -0.000119556101364805 5.53687908729728e-05 -5.43389367820877e-05 -7.63671100874282e-05 4.31829697518343e [...]
+id3735 -1.21144780634939e-05 6.42078471667299e-06 -8.167458867661e-05 8.08608145850359e-05 5.37896105591468e-06 -3.26477191276571e-05 -2.05978061911194e-05 5.41778542261986e-05 -3.30971736141454e-05 6.52623300017876e-05 3.01709141401766e-05 3.41696768879469e-05 2.26508284158315e-05 0.000106760610370041 4.15351810027594e-06 5.71216945993487e-05 2.80019352328958e-05 9.65325081248657e-06 2.22436837042235e-05 -3.17416565478684e-06 1.98404400683055e-05 -3.34362980107099e-06 9.7690685590128e-0 [...]
+id3809 -2.34576815047453e-05 -3.98329577294549e-05 3.24796700433897e-05 -4.40213644546161e-05 2.16885298990582e-05 9.2572314439676e-05 -2.40614852886271e-05 6.34660123342423e-05 1.12961646403088e-05 4.56064119439068e-05 5.3120356922335e-05 4.68899323367218e-05 7.3003499207482e-06 2.39414520670614e-05 5.80582511121618e-05 8.12518355844014e-05 7.6958152056156e-05 2.70519203195165e-05 1.64850033240753e-05 4.22288022481336e-05 -0.000181524221904904 -2.85886444115620e-05 4.94315716112519e-05 [...]
+id3820 1.35461885494302e-05 2.31360192079287e-05 1.13834571784078e-05 -7.98636337337247e-05 3.77788375848449e-05 -4.329940986471e-05 3.28938398677435e-05 4.12960594031780e-05 6.93820603404662e-05 5.26390764198616e-05 6.34371150495877e-05 2.48478963031164e-05 6.84523147973692e-05 1.29848216971781e-05 3.43045316083492e-05 1.16588525266777e-05 2.85481871425613e-05 0.000104295451740268 3.22416633440779e-05 8.0416863097894e-05 3.11462136381297e-05 3.47814330739119e-05 -1.34825957020192e-05 7. [...]
+id3823 -0.000144751985470128 -2.2348766566853e-05 -1.22186573953793e-07 -5.98716183363651e-05 9.22241663180928e-05 -1.64968968728334e-05 -3.0213639732787e-05 5.50728262336665e-05 3.67509614083117e-05 2.95368028211439e-05 2.49290752016068e-05 3.27422417699351e-06 1.42047275902367e-05 3.44790662898434e-05 7.41888727080785e-05 7.73985366652719e-05 3.70673055168765e-05 -1.46493090575706e-05 -3.69173168481843e-05 -0.000165130116761248 1.27719214510851e-06 4.9992976263367e-06 -5.06250972200832 [...]
+id3828 2.81492181715331e-05 5.27904449368228e-05 6.34048114659671e-08 3.00323044139645e-05 0.000106298384614903 -5.43272734816346e-05 3.38244354054771e-05 6.84501539478485e-05 4.71259852341858e-05 8.45050951206185e-05 9.47804111739672e-05 9.83361302796176e-05 -5.51313245253562e-05 3.1039027578379e-05 -2.75850806655369e-05 -5.43622069279264e-05 5.631383635028e-05 5.53305208818972e-05 -3.73388751435033e-05 3.79325597219629e-05 -3.96078414687947e-05 1.34936030246016e-05 -1.11711242786011e-0 [...]
+id3831 8.81057892941482e-05 2.80288860747616e-05 1.69761381449125e-05 3.34861796627785e-05 4.50199146563921e-06 -5.30512928127827e-05 -2.9837295240581e-05 7.14168661619614e-05 -5.88307270699331e-06 5.20193804221839e-05 1.90129304229832e-05 4.46416857578965e-05 5.28969383942574e-05 3.1680384795058e-05 -8.00433224904032e-05 1.30455129850848e-05 2.57780227161910e-05 3.19113089023956e-05 -3.97739265212722e-05 -7.98468330080638e-06 -0.000109701202312402 5.69473570759196e-05 9.12960584733513e- [...]
+id3847 4.85387665242767e-05 4.63860230980218e-05 -0.000114858438930010 7.28476350952928e-05 3.00275980296486e-05 9.69367208314709e-06 -1.54664717529064e-05 -5.45505513412539e-05 6.37173563664214e-05 -6.12013235938662e-06 0.000113465308328393 -7.20526815401831e-05 1.17813802916096e-05 3.55340137124398e-05 8.60368581671528e-06 -6.41845499939819e-07 -7.41714135634833e-05 8.67171739601786e-06 7.04438081272223e-05 3.31548994866583e-05 7.16524471592702e-05 3.90904988855113e-05 3.18603818002532 [...]
+id3857 0.000138405118347322 5.26634305912252e-05 7.50093479299412e-05 6.54388639839193e-05 -5.04013607628768e-05 2.49062539877571e-05 2.41284764917843e-05 -8.66414877515455e-07 5.93154860257642e-05 2.41291843778544e-05 1.58437801444584e-05 -0.000136739554369498 1.67428913396724e-05 -1.74322362279702e-05 -1.21585407825840e-05 4.65649319405202e-05 5.60152149311586e-05 0.000116407894355627 1.47796736610569e-05 -0.000210160236419441 -1.48596260992045e-05 8.35548644894993e-06 -3.7610847131898 [...]
+id3933 2.93161058737685e-05 -4.69625446567269e-06 -8.31228667751276e-05 -5.37702157268639e-06 -1.34518050128507e-05 6.50769098978842e-05 -0.000129797750394360 1.79184909965746e-05 -7.81298937640005e-05 0.000109999583566042 7.01720018758941e-05 4.90080475214218e-05 -0.000100400477862039 -0.000160487628293457 4.11766225333348e-05 5.1472368256183e-06 4.85784556998701e-05 1.90888175213776e-05 7.18602669818425e-05 5.48334305184439e-05 3.95973756114188e-06 9.67764831976892e-05 7.8283555906989e [...]
+id3934 -6.09645549720976e-06 9.87631296836767e-05 6.25540529429623e-06 -9.77788800226994e-05 1.81882112121882e-05 1.62711115862745e-05 4.41148520844662e-07 -5.79154528903383e-05 -2.55531097785916e-05 4.59010636719461e-05 7.73233310147718e-05 8.81694293213537e-05 -2.36596832283018e-05 8.80049907777024e-05 9.7744869049147e-06 2.09072755125093e-05 8.71684055648066e-06 3.4811139456441e-05 -9.17278729377311e-05 3.66953478776186e-05 6.52740692059605e-05 3.34340933340674e-05 -0.0001155799910010 [...]
+id3942 1.15893893853234e-05 2.80535818163097e-06 -1.30013678010599e-05 -1.22880768031018e-05 1.83130115376439e-06 3.69915475181643e-05 -2.32495775276328e-05 7.20006130698922e-05 -1.68069701323978e-05 -1.92508684214434e-06 2.91522296726537e-06 -1.6574829994047e-05 8.5371304802463e-05 -0.000150994489685456 2.69449468334031e-05 1.98012494413510e-05 -2.13698228907078e-05 -4.84700381754752e-06 2.7030950481755e-05 9.60456650400687e-05 -0.000104287834459201 5.03318043031724e-05 -2.1974943647647 [...]
+id3957 -2.46528769453435e-05 8.09029956187505e-05 5.49015419335032e-05 -3.42406273911394e-05 -9.78731040581535e-05 5.92976342743005e-06 8.62891910777269e-06 6.96942214164051e-05 -6.46159740382688e-05 3.89447479918199e-05 6.36984106425005e-05 1.84086571733359e-05 2.89448922587309e-05 9.51388118397082e-06 1.38439375705135e-05 2.86819078200668e-05 -3.26411128779302e-05 -3.42934274911827e-05 -1.63466510769285e-05 -5.42524615904017e-05 -8.8024320165881e-05 -3.9602322567455e-06 5.8494091326926 [...]
+id3970 -4.03134044937712e-05 -3.89987118610663e-05 -6.14828290833794e-05 -3.49478542654904e-07 1.96822141132255e-05 6.4359049991165e-05 4.37637968218535e-05 -2.79683490068763e-05 3.58371188237811e-05 -2.34416665743694e-05 -6.14892511361543e-05 2.57898747833793e-05 -1.79261154477113e-05 -3.76411568275299e-06 -2.348923525277e-05 -8.04832861762088e-07 -2.63967219103500e-05 -8.76864398498208e-06 -1.59657935635845e-05 -1.26200244313665e-05 1.50835853329305e-05 5.56408344018745e-05 2.332113755 [...]
+id3983 -1.55383923715044e-05 -1.68078523202923e-05 -4.49365022263799e-06 -6.51585611257934e-05 -0.000207399365883986 4.72293626457218e-05 -2.14862024822788e-05 2.18709174236143e-05 -5.26761699958215e-05 -6.10382476852058e-05 8.43986751349342e-05 3.12207212648605e-05 -4.62282238931508e-05 2.79208814430292e-06 5.17859463073817e-05 2.03139343325366e-05 8.43743516699709e-05 7.20124779312265e-05 -0.000107769227893076 -6.84683508501436e-05 3.47790701490128e-05 9.74221031159753e-05 -7.249252322 [...]
+id4008 0.00011088114573045 -3.6917201036421e-06 -0.000138923819445923 1.28022295991652e-05 1.06392240252879e-05 0.000113715036042134 -1.77064068827182e-05 2.93381201766589e-05 -7.15874707812476e-05 -5.70021137038799e-05 3.40870465743146e-05 5.94046298675592e-05 -4.35703685837967e-05 -7.04468175694294e-06 3.50904838938369e-05 3.77470477864369e-05 8.17169815812431e-05 5.53942252099836e-05 2.54524328160490e-05 -1.73703625580722e-05 -2.13794291744183e-05 3.26436705065204e-05 2.43574867467645 [...]
+id4024 0.000108387643764693 9.12044345450074e-05 -0.000122434163062345 1.34091275878275e-05 -1.83730313608793e-05 -6.89409784704724e-06 1.73267918696908e-05 -4.08398535306133e-05 -6.78171474625983e-06 2.43184587778029e-05 1.49225212209115e-06 -4.86512014079478e-05 4.57759744114391e-05 -0.000317195968034309 -9.24115170372912e-05 3.38846497024024e-05 2.91517907803068e-05 -8.5782897824898e-05 8.97710896691152e-07 -1.59131543369214e-05 -9.61334717511333e-05 3.09545586108332e-05 3.04833541214 [...]
+id4031 4.0671329000238e-05 9.30218689087428e-05 3.38311276078286e-05 -1.20855820406701e-05 8.61126382330644e-05 -0.00016518970358312 6.76860484125195e-05 -2.67806698711001e-05 2.84538140196235e-05 3.12395445668281e-05 -4.19530220393786e-06 -4.28514837850936e-05 5.39354054178496e-05 2.55718427768317e-05 -6.40659784437459e-05 5.03535279228734e-05 -7.71093735020678e-05 2.47598983428603e-05 -6.35010725353767e-06 -2.5159037377376e-05 -3.92884929638456e-05 4.68664720898396e-05 -0.0001095614100 [...]
+id4067 1.14350068340554e-05 6.03239074324383e-05 3.22555412077339e-05 -2.9595255355818e-05 5.94218603370307e-05 2.22387132048656e-05 4.35484778295002e-05 7.58838317349607e-05 4.29936420712497e-05 2.77071721993825e-06 -3.18293305545181e-05 5.23631260233839e-06 2.01395660844679e-06 -4.15025101645724e-05 5.63998409414894e-05 -2.75483683161773e-05 0.000128658797238818 8.39753761450623e-05 3.28206314787194e-05 1.25912699978261e-05 5.96728797747792e-05 -9.97068409315314e-05 -1.91134522575615e- [...]
+id4097 3.0449325821666e-05 -2.22827622839258e-05 -1.92883914974054e-05 -2.44161275958945e-05 2.05839193875562e-05 -8.24860200180186e-06 3.82769421000108e-05 5.69143204642413e-07 2.28923274757609e-05 6.84889701878613e-07 6.49360305460819e-05 8.68782651527274e-05 0.000132700996118187 3.80256474376212e-05 -7.40464186209513e-05 9.95992133813991e-05 -9.15203900715249e-05 0.000166031364842327 -1.82166394580276e-05 1.92981188912068e-05 -2.29638712790950e-06 -1.90998305688817e-05 5.8242774843780 [...]
+id4225 -5.46282515782859e-05 -7.33492076893994e-05 -4.53593045902387e-05 -5.80868416884902e-05 2.36029637588205e-05 -1.07290850904104e-05 -6.24698866253192e-05 -7.0460071166972e-05 4.30928405324474e-05 -3.47850341300508e-05 0.000107165344952592 0.000103792324274675 3.89004135837875e-05 -2.55679157737255e-07 -3.21986177464364e-05 2.80169232332299e-06 7.96283773059252e-05 9.9121638560388e-05 1.91830087808105e-05 1.82993007036887e-05 -3.72815715625841e-05 3.94571996305277e-05 2.781460693770 [...]
+id4229 8.53745164010505e-05 2.25800766772068e-05 5.50305137232776e-05 3.04365595566389e-05 -7.11359264268064e-05 -7.70449727376406e-05 -6.24630277122678e-05 -4.64312346331083e-05 -6.7658016481246e-05 -3.93996620754304e-06 -0.000120332678825661 -5.84399054622496e-05 5.13433707210168e-06 2.39921637675758e-05 -5.61497351065108e-06 -1.42260007723968e-05 -0.000162155607866919 -0.000282001177537519 -0.000102523188388403 4.8594640290414e-05 1.97637900540677e-05 -7.06736113882817e-05 0.000150883 [...]
+id4233 7.86590017292114e-06 -0.000114142807789251 2.80027728229834e-05 -8.8833297977699e-05 8.86589141961088e-06 -2.38113930920152e-05 -5.58499029266819e-05 4.34631912716198e-05 -0.000176137842652786 4.11862710886878e-05 7.53505207896871e-05 8.5352486930873e-05 -6.37189634345949e-05 -9.23926080583506e-05 9.65118822526606e-05 5.5563113744758e-05 8.90896502027349e-05 5.35375757220349e-05 1.57489366788956e-06 -3.50993691406915e-05 -2.95376929635664e-05 -4.97304323620231e-05 -2.6142060295340 [...]
+id4254 8.66826852424365e-05 5.56281033098225e-05 -3.05242089543845e-05 4.57595692437173e-05 9.23993809731218e-05 0.000122611748557648 1.17686669419046e-05 3.87469643706840e-05 -9.97813720113958e-05 4.30719379241383e-05 -2.25759571538776e-05 -7.48653592748972e-05 -4.4793654710457e-05 3.37550582095348e-05 3.21382547684246e-05 7.53222369963695e-05 2.80677769076389e-05 -0.000147091429630909 -8.05117898696413e-06 5.59210592881134e-05 6.3712625939794e-05 -8.63706275968966e-05 -5.79190161970219 [...]
+id4259 -6.65761913151818e-05 5.26543791331421e-05 -1.22148455062703e-06 -0.000102082259132656 -9.32181360508177e-06 -6.4135679411679e-06 -0.000211157743591280 0.000103241960152350 7.77067170243113e-05 6.84939608402784e-07 -3.67070845437505e-05 -4.41969132391474e-05 0.000119860610521964 4.53469902242655e-05 1.76732710246944e-06 -1.18246960028716e-05 -3.98256448279356e-05 6.77407423938317e-05 -3.82757844964313e-05 -1.8605507886243e-05 -4.2267177819131e-05 6.8450630032908e-06 4.288634382120 [...]
+id4261 4.82076390219129e-05 -6.88164054013613e-05 8.80974507021557e-05 -3.72877353176591e-05 6.06454187959837e-06 6.61105115314094e-05 2.51228843262147e-05 2.97387385140669e-05 -5.38039752463206e-05 3.28299926888126e-05 8.78768014018367e-05 9.36223787721995e-05 -7.50133809627932e-05 -4.67458779325762e-05 0.000107431338206153 -3.55945603696167e-05 -0.000106634429429664 5.42390350517671e-05 0.000105589169022461 7.24514542866977e-05 4.52386968405785e-05 1.70328018802055e-05 -5.0913418127761 [...]
+id4284 -3.53873859890146e-05 -1.42208478556965e-05 3.63106025909321e-05 8.59289926291536e-05 4.22534095602744e-05 2.18000185583036e-05 2.50903681451413e-05 6.09327545261242e-05 3.36146447755178e-05 -8.79520237145797e-05 -0.000128152339200010 -8.75199696828226e-05 5.54044807768999e-05 3.30648243216418e-05 3.48958561602872e-05 -0.000113680988433199 -1.16644578716727e-05 -0.000190757871026893 -2.22772771706712e-05 6.74878204194105e-05 4.54956878588033e-05 7.765622135579e-05 -1.0642374773192 [...]
+id4287 4.15124367452859e-05 -4.82971357096013e-05 -2.10027223744352e-06 0.000112773716855747 5.95469075853504e-05 1.13272041632174e-05 3.8923784201877e-05 3.85937528695738e-05 -4.05551974634201e-05 1.58299446302514e-05 -2.30792115200756e-06 -1.96324487417831e-05 2.58875543721013e-05 8.8765597492903e-06 6.8988688792546e-05 0.000100972682164778 -5.04916786568581e-05 5.3830814941263e-05 2.45151320184232e-05 -4.97242657348029e-05 5.64313426715676e-07 7.22847243146418e-05 2.71683550998705e-05 [...]
+id4288 3.29913197236645e-05 3.27838874991896e-05 4.51068263057966e-05 -7.09616208450571e-05 -1.98460720608716e-05 -0.000125428942303942 3.50107219960046e-05 6.41368584005438e-05 -2.33808054516481e-05 -5.16807902460755e-05 -0.000174836138443778 -2.39149887736655e-05 3.97281375129465e-05 -6.11677629248515e-05 3.93655598798716e-05 -3.70778849541314e-05 8.59801924274753e-05 -2.70450536960593e-05 6.5138562989098e-06 -1.13628869686355e-05 1.75964219242936e-05 3.66569878045824e-05 -2.2008454145 [...]
+id4309 1.68857282005788e-05 7.23922163352749e-07 -0.000117949984143088 1.67485035629386e-05 8.54010581637538e-05 9.69630845405208e-06 0.000103481950479519 8.09628262393526e-05 5.31708370630894e-05 3.04940018047001e-05 3.44325391602966e-05 3.28651025635019e-05 4.41118724936628e-05 2.94347030440889e-05 1.58486566536443e-05 -0.000109128245351242 4.47248936716862e-05 -4.56431644468822e-05 2.56246550854006e-05 2.30301498045464e-05 -1.31961498635972e-05 1.28230830229342e-05 6.58905601880158e-0 [...]
+id4328 3.01595045211194e-05 7.03206165596097e-06 -1.53009329079207e-05 2.97839263738966e-05 4.71731717647904e-05 9.88052721211305e-05 2.09696582745205e-05 -9.4721304802036e-05 -3.08651823161388e-05 3.10709341322899e-05 1.77603982308051e-05 8.01955308609232e-05 -6.52885570546249e-05 5.69631640874125e-05 -6.77900503630051e-05 4.93559862555397e-05 2.20427202020423e-05 8.21336903560199e-05 -3.44753898931531e-06 1.41496993709045e-05 6.29949562418245e-05 5.21319496142716e-05 2.86697074053528e- [...]
+id4337 7.17741844576198e-05 3.1233379128068e-05 -6.45691579100213e-05 3.88270012512737e-05 0.000108764586779467 3.37109946509208e-06 5.34753331665217e-05 -4.99847804347087e-06 -2.22865559516955e-05 -1.17192568780569e-05 0.000110034384951738 6.22628693612885e-05 -4.33775021808774e-06 4.81966790772095e-05 3.37672897923736e-05 -2.26280769987751e-05 6.00993032288622e-05 -6.15668828084722e-05 -2.9871197218901e-05 -3.8976841250501e-05 3.60155608162543e-05 1.79192470628796e-05 1.74674325771068e [...]
+id4363 -3.51899140401116e-05 9.02543685597995e-05 -0.000394572054808071 -8.31638240436029e-05 2.73772509127587e-05 4.43182367319403e-05 -8.49409853627895e-05 4.69798238367248e-05 -1.93342781076225e-05 -1.07965491214132e-05 3.27571959680521e-05 6.85741248497365e-05 -0.000103657833329350 -0.000216162978541678 6.20920511916569e-05 -3.51915227377838e-05 8.30568456209572e-05 -4.99057812459414e-05 4.89768780601811e-05 -0.000133649946576248 0.000101995044903647 0.000143052854761767 2.2563101200 [...]
+id4380 -3.4571409288961e-05 3.05627086464015e-07 -0.000267148955373846 9.44080953031598e-05 5.17518659988884e-05 3.47757533775657e-05 4.39532303182799e-05 2.74794864618198e-05 7.9940053408362e-05 -1.25270399345719e-05 8.68029030994836e-05 3.71606059716875e-05 5.02269876750903e-05 1.81503366307311e-05 -7.8989933800959e-05 5.88798411153539e-05 4.87536676532125e-05 4.15123046488507e-05 2.98684807641459e-05 4.40813795334186e-05 0.000150341047431926 9.2700424256832e-05 1.82767388019965e-05 5. [...]
+id4395 0.000112734889538590 -1.67888762342567e-05 -8.57486517261315e-06 -2.31576043949522e-05 7.79841667533416e-05 -8.20752474619551e-05 4.38663853598255e-05 -0.000102806395133915 3.55825331385542e-05 3.97841488721788e-06 -3.82694007238044e-05 7.3256824236094e-05 -2.14948623557077e-05 -0.000102070329749770 1.84148380456809e-05 2.62922714762250e-05 9.42662632123823e-05 1.52990228281395e-05 1.31421882082886e-05 1.16200939052517e-05 -3.03457380921924e-06 -9.55544879931289e-06 -8.70233887250 [...]
+id4416 -2.03467591736804e-06 -4.48027896385243e-05 2.31164946595703e-05 9.30926662505483e-05 6.24351119218969e-05 5.416641901593e-05 -3.83737380788640e-05 2.97656384373103e-05 -1.17223773323209e-05 -7.62682653223515e-05 -4.34919603737335e-06 -6.95870164395584e-05 1.75211526916996e-05 4.03391073007660e-05 -1.98574503473843e-05 1.45763720065927e-07 -3.52804393809061e-05 -8.00336759841597e-05 5.05213366069342e-05 3.77089794729864e-05 3.47272321553519e-05 6.18476713270892e-05 -1.868629315482 [...]
+id4446 -6.41943487254604e-05 2.59549593649868e-05 -2.28577938887017e-05 -2.17796442514362e-06 -5.77011998590875e-05 7.56534036389134e-05 5.09615969438666e-05 5.03633188716544e-05 2.34516847023318e-05 -6.57913921635718e-05 6.89623339972168e-05 -1.27622312122909e-05 -3.58918704144999e-05 4.05310470858648e-05 4.81298237572041e-06 7.32528628948136e-05 -4.89958233334357e-05 -4.43912696214985e-06 -6.84762011353789e-05 2.61269713013503e-05 -3.39048660148507e-05 2.45728533810608e-05 5.4380401733 [...]
+id4449 -0.000149313131836497 -2.69130725196752e-05 5.47590822380592e-05 6.31122509420631e-05 6.67068677602322e-05 -2.95631015284207e-05 -1.99208700051567e-05 -6.63191595350813e-06 -4.43066962727067e-05 6.23452873406592e-06 7.99071090062466e-05 -6.8155411663948e-05 -0.000147633538242135 -1.49752610282824e-05 -1.93296158912707e-06 4.63718845818751e-05 4.9776621816759e-06 6.02224565403176e-05 7.2897491878208e-06 -0.000114645433382335 -7.77151932156865e-05 2.85162287784013e-05 -2.19890739558 [...]
+id4512 2.13989523533004e-07 -2.08611379664576e-05 8.27802191219443e-05 8.09964644572448e-06 1.00416440540889e-05 -0.000135236839837355 -0.00015835437834408 -1.11126115383676e-05 9.91123451449202e-05 7.33963269061019e-06 -2.46410397304768e-05 6.52923546214753e-05 9.33578095749918e-05 3.16569790186e-05 1.51186164500321e-05 -1.79101343292328e-05 4.72396670290991e-05 8.7512017197029e-05 5.04472998863694e-05 4.15909681380792e-05 9.0650421856673e-06 -5.78020820978438e-05 3.53068121700490e-05 - [...]
+id4552 -7.66125584954902e-05 -6.29637643687257e-05 -6.48304223331881e-05 5.05054482142487e-05 5.13591709340799e-05 -2.32123523029705e-05 -3.80035296421622e-05 6.73937558065583e-05 3.48311721534652e-05 -1.56690891123102e-05 3.33145379854604e-05 6.13879468214191e-05 -5.84972954074533e-05 6.64511827248154e-05 -2.75108398440862e-05 3.99703367558247e-05 -7.18432378102743e-05 -8.09402957755541e-05 2.0746224278785e-05 -6.4692106608077e-05 5.56273645652141e-06 -2.81013879898438e-05 9.57775394408 [...]
+id4561 6.89926303501767e-05 -0.000148928329386556 -1.77403873865224e-05 8.89068198069898e-05 6.88839358718279e-05 1.35326456673825e-05 7.9892943540701e-05 -8.57514241842496e-06 2.01824473128987e-05 2.34486677478207e-05 0.000110155249902044 1.73849863874814e-05 6.44840422600919e-05 7.78313186592005e-05 4.4829026332731e-05 1.93225912757691e-05 -6.53327987101754e-05 -5.31291512147086e-05 -9.14365434048703e-06 3.12454954497703e-05 2.18174628282158e-05 6.41050201526861e-05 -9.2936216513243e-0 [...]
+id4606 -4.12968616398078e-05 4.05219453748279e-05 -5.31839912990123e-06 2.87123818629483e-05 3.18299921299001e-05 -1.42883016683014e-05 -9.2716445223724e-06 2.99128550847779e-06 -6.59184226048056e-05 2.12882625916732e-05 -3.65852519437500e-05 4.28735290583937e-05 -0.000114789452821891 5.69416916148477e-05 -6.81718247498531e-05 6.88407512342668e-05 1.00665842698683e-05 4.33843216765633e-05 2.78245407594978e-05 -6.20069862634542e-05 -4.71029532459606e-05 -4.11826620386941e-05 7.13331196758 [...]
+id4629 5.52848830882816e-05 -4.23575223767303e-05 1.46780795425692e-05 3.33441869581468e-05 5.74207395029906e-05 -3.55892340061505e-05 -1.42776085797756e-05 9.6744009525168e-05 -3.79153805466647e-05 2.72003107933029e-05 7.1693978128287e-06 4.52343961304505e-05 4.23116217037692e-05 2.02062573033576e-05 1.68576491398379e-05 -9.94109653608014e-05 -2.49293257216609e-06 -7.47224605031715e-06 8.02599341978207e-05 5.1419802323912e-05 5.39399774010576e-05 3.71067763753445e-05 -1.07621967554284e- [...]
+id4645 3.40277992096666e-05 -0.000140465860231393 5.47796859327652e-05 0.000128198200756436 4.07367078234866e-05 -6.67324006405739e-05 8.13751579537547e-05 5.01934860503489e-05 6.40409195842899e-05 6.74769882688921e-06 -6.01819409285357e-05 3.74539599976318e-05 -1.16155949185806e-05 8.54456831538374e-05 -2.25857297870028e-07 3.59052851753839e-06 3.7026312428785e-06 -8.4324709151713e-05 7.78875115903438e-05 1.22606639086234e-05 -5.80010134868119e-06 0.000102959405316252 -2.02950720126911e [...]
+id4652 4.58822340719585e-06 -6.59109810874417e-05 -1.48534493247163e-05 4.12135908103718e-05 1.29422937036363e-05 -2.18203211244658e-05 3.22936041696462e-05 1.35615347074468e-08 4.10051285655921e-05 -8.61238770017772e-05 -0.000207020214304085 3.59130639305423e-05 2.69547918647941e-05 -1.99277247632085e-05 3.81257698372314e-05 -3.34690974420645e-06 6.57895509382004e-05 8.3242048018832e-05 0.000107185036447353 -4.60286821643758e-05 2.81197967073238e-05 7.99900834087692e-06 -1.3278126360487 [...]
+id4673 5.80387466581945e-05 -1.53357229384834e-05 -4.19349303537487e-05 1.14888417874640e-05 -2.39921775600358e-05 -1.50749550881753e-05 -2.01322045654455e-05 -8.21853468693531e-05 2.21042636520704e-05 -1.26301208120379e-05 -0.000157413631720921 1.30229149009556e-05 2.98360065297943e-05 -8.25346316958967e-05 2.18453750958116e-05 1.31523999446293e-05 3.49495649939961e-05 6.28661611717157e-05 -3.83080617656759e-05 -0.000176564550618364 9.95776133620286e-05 2.55255281295497e-05 1.8795263524 [...]
+id4675 6.35667969643635e-05 -3.12250704574789e-05 0.000104493557040453 9.7654426369e-05 2.51675497613387e-05 -0.000124090103977009 -1.14239510029199e-05 2.38461086198790e-05 5.55017620279282e-05 -3.68576731576829e-05 -0.000380487025524201 5.55384478068988e-06 3.03017864790673e-05 6.39955430229994e-05 4.62120555832142e-05 -3.09849059392678e-05 1.58127207552308e-06 -0.000279594563965981 4.02929583296349e-05 4.74919960626543e-05 1.52883596983083e-05 2.98040753404930e-05 2.79600204606732e-05 [...]
+id4689 7.8620038491373e-05 -2.07528235695642e-05 -3.66877446557834e-05 -1.00200687501098e-05 -5.92993215703759e-06 4.9876605885426e-05 0.000107665090965730 -8.31102776250872e-05 -0.000158289869485224 -9.7719841268994e-06 6.3327767948491e-06 4.13243284772057e-05 -2.06447662276449e-06 -4.54689375323186e-05 -7.36280788162701e-05 -4.36452769786460e-05 9.1732567097263e-05 -9.83492436326019e-05 -1.80785114251865e-05 3.26270869200576e-05 1.68305614641613e-05 -2.24419855996551e-05 3.596519766413 [...]
+id4705 -0.000279661637311165 4.95150176576023e-05 -6.58745251538566e-05 1.2974300765784e-05 8.49276706427265e-05 -3.31136554045743e-05 -2.55416399458722e-05 7.31217269602964e-05 3.53697235684175e-05 -1.20231329634026e-05 4.29894181492291e-05 -1.77417692322478e-05 -3.10347212686410e-05 9.03259453025011e-05 8.74754649116468e-05 4.52189411608538e-07 -4.46210494495117e-05 7.4627791397173e-05 6.34562557406193e-05 -5.65886910561368e-05 8.91850159508e-07 3.57678266075586e-05 4.06643245715529e-0 [...]
+id4710 1.33490830678987e-05 9.40982584347496e-05 -3.19641946283161e-05 1.68380382381686e-05 7.85517472700012e-06 2.49898848885724e-05 4.43069719046560e-05 -0.000230608754455039 6.22494298404414e-06 7.05168538488109e-05 -4.54114415995910e-05 1.10164372283677e-06 -0.000112378629696377 -3.13625899146299e-05 -1.40905843642721e-05 -2.70568133168527e-05 -1.26545000011157e-05 -1.15351442011506e-05 0.000124725940399089 -6.36738962090836e-05 -5.82994941383580e-05 -7.55482570951047e-05 7.520701519 [...]
+id4717 7.58357541249021e-05 9.27222009246915e-05 -3.43496901889863e-05 5.64965864676325e-05 5.17274678865491e-06 -5.14666440899289e-05 -5.78007468119865e-05 3.19297615019233e-05 8.13728602672298e-05 7.55158635977991e-05 -9.18717754638384e-06 8.45919846229257e-05 4.47863309063310e-05 -1.28240535999179e-05 -4.0174595908167e-05 -7.70753381059184e-05 -6.80590421613297e-05 -4.64067278541859e-06 -1.48870520763424e-07 1.36923340860274e-05 3.92448562473339e-05 -0.000109190799467711 9.98480168189 [...]
+id4734 3.27180747216101e-05 -5.61143024698090e-05 5.41336043716081e-07 -6.22061166508973e-05 -3.38132263487264e-05 9.89137299825007e-05 2.48349782332004e-05 3.92593762336954e-05 6.18045721913159e-05 4.61166479415123e-05 -6.27320201319844e-06 6.15874153619207e-06 7.37387972916128e-05 5.4617846618765e-05 -4.37540982494848e-06 -1.57707645968400e-05 -1.35301886746420e-08 2.26987054222947e-05 1.13180825064194e-05 5.53835478265232e-05 7.80332558214738e-06 -9.02429788542134e-05 6.33361832788377 [...]
+id4751 5.13961261836253e-05 2.73552605485597e-05 -5.65186908523622e-05 4.05554730861235e-05 8.88647600127937e-06 -0.00011696413891321 2.03464554390920e-05 -6.71204840858985e-05 -3.16777797479264e-05 0.000102230679296221 8.47385720599855e-05 -1.00184551110853e-05 -0.000103246140725973 -7.82289151646888e-05 8.12555813287983e-05 3.79103192961125e-07 -5.3288635577112e-05 -3.1996438127896e-05 -1.85496775880113e-05 -3.18132112621126e-05 4.33283865521443e-06 6.59189513473361e-05 2.8630543275646 [...]
+id4781 8.17824458907167e-05 -6.99739710567425e-06 -3.0866063500857e-05 0.000115752685743237 1.46157781983992e-05 -8.06565572518107e-05 4.64154859341875e-05 -6.91218160773082e-06 7.02790268470369e-05 8.61760426080937e-05 7.23840129245234e-05 5.52091544325627e-05 -4.19450232297784e-06 6.22976462964445e-05 -3.02721208097011e-05 -2.54340750630490e-05 -1.01435416113349e-05 -9.20966765731825e-06 2.72733341764113e-05 -6.55890955685404e-05 2.60606603238751e-06 -3.98318549179939e-05 3.84567967687 [...]
+id4798 1.00819387846910e-05 5.11825828896659e-05 2.28823593750909e-05 4.51105606753074e-05 -5.37836009882654e-05 -4.63013510516416e-06 -4.16754628060971e-07 -1.08086795861641e-05 4.67188127487855e-06 6.5084320246899e-05 3.82786988480785e-05 0.000139320438684566 -1.52870297979331e-05 -3.41674103284324e-05 -5.91082695009213e-05 -7.32756817245343e-05 -8.48920689971458e-05 1.93035963895038e-05 4.72306135086374e-05 -4.20121689496116e-05 2.42065730509693e-05 -0.0004501399004603 -6.010778851338 [...]
+id4806 -8.1413374745071e-05 2.35093860756241e-05 -7.62911597817634e-05 4.06386549363925e-05 -1.26661400071013e-05 -5.94325339643037e-05 3.53101194105431e-05 -3.21328408972835e-05 3.03006022610084e-05 3.78092569707262e-05 1.08300884297718e-05 1.43545965085321e-05 -6.34937709341851e-05 1.59870463789566e-05 -0.000135653486617813 -9.72279654791403e-05 -6.91617090633626e-06 6.08961242228911e-06 -6.32859477976526e-06 -8.24100907333738e-05 -1.85150773902858e-05 6.56941258349885e-05 9.8557718357 [...]
+id4807 5.07424360099777e-05 4.68669207930774e-05 0.000103220805038583 4.42395051655919e-05 2.85849973912329e-05 2.11986276745717e-05 4.58511876501211e-05 2.93614728901922e-05 -5.91242609888393e-05 0.000102618320934001 9.8830009004463e-06 -7.30480744286359e-05 1.54488951874984e-05 -5.67434187507267e-06 -2.06796106225858e-06 5.4340835486769e-05 -4.86944776712926e-05 -9.75807739282917e-05 -8.27851136716158e-05 3.15020907780974e-05 1.94768342237541e-05 -5.20876612380494e-05 -6.80211127377654 [...]
+id4812 -0.000174173866160108 4.58888269879593e-05 9.35929639531272e-05 1.48209311171408e-05 6.63231613706445e-06 -4.31752063961385e-05 3.48082757692093e-05 -8.18650742531975e-05 -3.34886022268001e-05 -7.2950501772876e-05 6.97227273010307e-05 6.57338108732135e-05 4.8835649083785e-05 4.73588082428945e-05 -2.87217564053802e-05 -0.000191190097359804 4.74533879428877e-05 0.000113623033415307 3.16024961335333e-05 -1.24135245058158e-05 -6.62393722037397e-05 -9.71617214841475e-06 3.4562540314022 [...]
+id4834 -4.91574997451717e-05 -2.88000838694545e-05 3.22483437823525e-05 5.72617629762282e-05 -0.000201914965860906 7.3125601765069e-05 5.29741265421169e-06 5.53371521940808e-05 -0.00012126776975117 -6.46125103423814e-05 0.000114195982910710 -2.70020366645530e-05 4.02167061438913e-05 5.60092243704733e-05 -5.38920839067462e-06 2.84072897063908e-06 -7.35578239901598e-05 2.61064900731518e-06 0.000100351215065948 3.96109163023104e-05 -9.18916131490788e-05 3.54194135451937e-05 -0.0001811826617 [...]
+id4842 2.37327886969498e-05 5.69648513362486e-06 6.1822148130946e-05 -6.53552012093786e-05 3.18200357329658e-05 6.00506714577747e-05 -3.44552089802415e-05 -2.29995491228538e-06 8.28995283298027e-06 8.7224711913226e-05 6.54461722277984e-05 6.03856881091347e-05 5.52232521834447e-05 -9.93068039609154e-05 -0.000147932469798770 -4.77600639802293e-06 1.49927277152306e-05 3.05543429795426e-05 9.38263789333968e-05 5.18530644757434e-05 2.09914907663504e-05 -2.43038502069229e-06 1.06148147569003e- [...]
+id4883 -1.65100605176833e-05 1.00041240799202e-05 6.25786887250635e-05 -5.40579240034146e-06 4.16386499959588e-05 4.98444093968403e-05 -7.27861309316885e-05 -3.64293308508728e-05 6.99118056991682e-05 4.70344761027461e-06 4.13387649671015e-05 -3.27808680910584e-05 9.70268327975358e-05 -2.87504320837607e-05 6.37795727868874e-06 -2.11658859699477e-05 -0.000123369773739706 9.05760669595133e-05 -0.000110148912432285 -1.66172386022618e-05 -1.12363044934734e-05 0.000154857837522925 4.3283401915 [...]
+id4904 1.69805118725887e-05 -0.000154690153941386 -4.33924526054268e-05 -3.85652490933587e-06 -2.99623931427174e-05 6.22759628809619e-05 1.07679715606898e-05 8.76085678096485e-05 6.55992117168641e-05 -2.63350453277197e-06 -0.000159789329761818 8.4238473544409e-06 4.00871168392079e-05 3.95902626340924e-06 4.00886796953927e-05 -9.20149931425021e-05 -6.01011213152446e-06 -1.01098582881162e-05 9.04865275400503e-05 -9.96911014822925e-05 6.38932546573139e-05 -3.95055103800982e-05 -0.0001070332 [...]
+id4934 1.39840321761171e-05 -8.77253959278923e-05 -6.43857424562296e-05 1.38870364321543e-05 -6.70819390521561e-05 2.08453892703527e-05 -6.75392079555742e-05 -1.76926131408465e-06 1.71822708356452e-05 -2.67798334737655e-05 -2.49832750187427e-05 -1.81026033516078e-05 3.86050720450019e-05 2.41250317884633e-05 -4.65677090824752e-05 0.000113364104807845 5.50052113137822e-05 1.02585422738775e-05 8.4101218930899e-05 3.42784630244738e-05 1.93991530153526e-05 7.21281929864254e-05 3.0989209325929 [...]
+id4959 1.63633041865122e-06 7.78732379111725e-05 -9.90991476274021e-05 -4.31400792100605e-05 1.89694030157786e-05 6.04434903718717e-05 4.91490847949322e-05 7.91737779990117e-06 8.01681548135939e-05 8.69583241353266e-05 7.5754556479037e-05 7.03814720993694e-05 -2.98672274993995e-05 3.97362116983773e-05 0.000100637953627109 4.85877376928525e-05 -0.000316952814063468 8.22718074536974e-05 2.32042593263690e-05 0.000157107633471704 0.000121261116966116 -3.57303540431301e-05 4.20559221227275e-0 [...]
+id4961 4.93725088774819e-05 2.80734238834936e-05 8.44033388782352e-05 -0.000312161842354539 -8.98312579344083e-05 -6.52835624542716e-05 5.83337797298865e-07 4.7825217910691e-05 -4.4283070259488e-05 2.41723105071901e-05 5.43099172595969e-05 2.85326149746246e-05 -2.57543536676834e-05 -0.000288602314865994 2.66407762604795e-05 6.86046942748808e-05 4.23270517922204e-05 7.88185498763024e-05 2.73114483259503e-06 5.11082883892087e-05 0.000113212435658671 -6.02544450765886e-08 -6.80440622932442e [...]
+id5014 8.15610786394985e-05 -5.11692922920307e-05 -7.0384495337157e-05 2.29534954898418e-05 -3.01086265254185e-05 3.29096616981296e-05 2.22650720235424e-06 4.67482251032056e-05 -3.77016329479539e-05 -3.79894330202702e-05 5.69334237028292e-06 -7.85891381225538e-05 -0.000121267681866587 -6.79849838526067e-06 1.50303973679102e-05 6.48663128075614e-05 -2.93188402374131e-05 6.67195086141684e-05 0.000130743345154099 6.69855722598449e-07 -7.64295566040699e-05 5.78608434555049e-05 5.326619027507 [...]
+id5055 4.33535930132796e-05 -6.01522992415936e-05 -3.8704966604821e-05 1.08096117801969e-05 -4.95557767266532e-05 6.64088629446193e-06 -1.55915492549558e-05 8.41461189199739e-05 -5.69774709171604e-05 2.31928483722698e-06 -4.86200532311971e-06 1.71069301157032e-05 1.61139918421466e-05 -3.56759215275752e-05 2.35526562338315e-05 -2.21136701500031e-05 -4.35572124701927e-05 -7.73067938604314e-05 4.62963186545925e-05 6.62715798140768e-05 4.56964264259403e-05 5.98195920099112e-05 -8.87289574583 [...]
+id5078 5.77556935971378e-05 3.07796123771585e-05 4.81426167231843e-05 -6.7962716783729e-05 -8.4291312788887e-05 7.54895537890957e-05 6.90181241768026e-05 2.54897915684121e-05 1.10835289163936e-05 -5.22937782735075e-05 7.1819214222347e-05 -4.33391521349087e-05 3.63658631883138e-05 7.89073632074876e-05 -2.15263340122826e-05 7.31048004841753e-06 6.39961383009594e-05 3.81514976744816e-05 -5.54858560766971e-06 2.5962237254696e-05 -5.30213830686638e-06 2.40892415495451e-05 4.84727936945745e-06 [...]
+id5150 6.25921989370444e-05 1.98565541791938e-05 -2.70422570667135e-06 4.19735195913087e-05 6.23025608309382e-05 -0.000173439397872606 6.04711797242754e-05 -0.000161791023929935 -0.000311384630566292 -6.70477961498284e-05 -5.76041681794876e-06 -3.31532631838394e-05 6.44367435985829e-05 4.52718898624756e-06 9.2161398914012e-05 4.19659500553825e-05 3.49140145893389e-05 -0.000193421969118454 1.33547721096669e-05 -2.05488992909058e-05 7.90299230394909e-05 -1.46371179705697e-05 4.988710374476 [...]
+id5263 -7.16135546165721e-05 -4.82384123552790e-05 3.26966653385166e-05 -4.50102039693532e-07 1.90141267316666e-05 -1.43569509419121e-05 4.02713698420724e-05 -4.54245015222449e-05 7.28521440042352e-05 -5.5266569236392e-05 5.42130887033939e-05 6.22343345451657e-05 -1.16510785363551e-05 3.63579371494558e-05 1.26504079474627e-05 7.92993097590906e-05 -4.74124399960002e-05 0.000122350113900882 -2.76174680955894e-05 -7.60009744325205e-05 3.23960223629709e-05 8.54666238738936e-05 8.985596296243 [...]
+id5274 4.77024823711739e-05 1.96332504762515e-05 6.88992241985046e-05 -8.80491278847296e-06 4.77602979946755e-05 2.24287698955104e-05 -7.24116356172217e-05 0.000124737896645301 3.8239936910141e-05 3.25207033961453e-05 7.12700834445461e-05 4.28933315784055e-05 -0.000108409410576959 6.63169161804481e-05 3.72281020342321e-05 6.03585942121185e-05 -6.66400103817645e-05 1.56874147995575e-05 3.54957543409949e-05 0.000113614262464571 4.3300782572373e-05 -1.28795598714584e-07 5.40882138148015e-06 [...]
+id5275 5.5620188901047e-05 6.7567499956218e-05 -1.13292810843309e-05 -1.58570613783746e-05 -7.81882269222385e-05 4.47189032816383e-05 6.89942134187432e-05 4.38698215531746e-05 6.1342084080621e-05 3.37173737743406e-05 -9.3965299925672e-06 6.02800513556225e-05 6.31501968271757e-05 -5.8564986672721e-05 -2.17498167730036e-05 4.89696504926652e-06 3.18102227954044e-05 5.57746899118401e-06 -2.18958002077046e-05 -0.000134710327232182 6.56780086705829e-05 4.6249675445878e-05 -6.74073670757681e-05 [...]
+id5324 2.09063602596918e-05 3.09393101374411e-05 6.34816227874179e-05 4.25281805972183e-05 7.75880245987856e-06 1.11963822257631e-06 2.91334521481574e-05 -4.33001962352956e-07 2.44929712349793e-05 0.000102439747069717 2.64985131335172e-05 1.65410834967616e-05 5.18033708813068e-05 -1.64156087847709e-05 6.84550193514857e-05 -0.000136442866073906 7.4901479247131e-05 1.61387203312007e-05 2.01511031041910e-05 5.56208124537059e-05 -6.53759653565136e-05 -1.9913799471582e-05 5.36852095372522e-05 [...]
+id5385 9.26059372840626e-05 -3.19055757785459e-05 9.27788536020545e-05 2.43848887226066e-05 -8.4390895320826e-05 -2.81186194241748e-05 5.52752494059741e-05 7.90730394101227e-05 -2.78064665479795e-05 4.82861693630425e-05 -7.07736043517081e-05 5.46839919024736e-06 6.4247081046865e-05 -3.07742999800185e-05 -9.88223583781402e-06 -1.33115247209041e-05 9.75177313330556e-05 -9.34565724995287e-05 1.70836088169143e-05 -5.14194935072906e-05 -7.20091256736796e-05 -8.63351392869463e-05 6.94524155363 [...]
+id5398 1.25226240664145e-05 9.33848587090189e-05 0.000124244729444202 -3.49323865435701e-05 3.19785214557185e-05 -5.46683486480313e-05 -0.000219929858902351 -3.21938709161434e-05 2.92617335044405e-05 0.000113895979895084 -5.73976211416665e-06 9.73466985836486e-05 -1.32957451303594e-05 1.21085527316062e-05 1.59837145220433e-05 2.95284581057649e-07 2.56060726970944e-05 1.41221844012624e-05 1.67287802653429e-05 7.72263123805674e-06 -5.46657755335851e-05 -0.000356795804755601 -9.496925024736 [...]
+id5407 7.0939148412016e-05 4.23104592267077e-05 -4.07332745119563e-06 -0.000162697474185624 3.90731473163254e-05 -3.26398883346243e-05 2.45189367962001e-05 -3.49590389044493e-05 6.94326680430363e-05 1.10543005471206e-06 0.000121207600295228 -4.39384062717609e-05 7.02473326561582e-05 -5.49617863691962e-05 5.64102340873417e-05 -2.94910953296002e-05 -1.55921061302508e-05 4.47836936224881e-05 -2.80568285090446e-05 -1.3111802584415e-05 3.05968684529652e-05 0.000125834252545064 5.1743391868274 [...]
+id5444 7.62860617400928e-05 6.31651618069468e-05 2.27355335223129e-05 -3.44426706640043e-05 3.50029991038533e-05 8.48005405015205e-05 8.66601358082374e-06 4.45211045390377e-05 -2.86695446924722e-05 3.01684495870146e-05 -3.00547401374291e-05 3.12483854835843e-05 3.52527664361457e-05 -7.2618165288369e-05 2.44516649159465e-05 -2.52009590663732e-05 -8.4352482607753e-05 5.58898740621837e-05 8.13305246388336e-05 -2.24485379804424e-05 4.63339857790127e-05 2.89017955556381e-05 -0.000208562115646 [...]
+id5454 -4.36647101278356e-05 -5.3656109648778e-05 1.85952058221764e-05 1.79968607288040e-05 -4.60140899084648e-05 0.000100847162347238 -0.000108224962562297 -3.38953258758347e-05 -7.29868018472455e-06 -4.98240121056318e-05 1.24620455308818e-05 1.07390343940142e-05 -1.84329345097403e-06 5.31409027386232e-05 -2.72502597632121e-05 -3.85092840859388e-05 1.01821200913258e-05 4.51792683535506e-05 -6.71723448631243e-06 -4.42427807124852e-05 3.38576931026013e-05 -2.77389116758346e-05 5.456498627 [...]
+id5495 6.15821100121356e-06 4.18080243108528e-05 -6.38242491881147e-06 3.04225784953304e-07 4.53601131160906e-05 -5.19469443114538e-06 7.0587841296862e-05 -4.09298591090469e-05 -3.28573912674471e-05 -2.52264759311999e-05 5.03383507251192e-05 -0.000357582454598050 0.000117604425178728 1.70095292032569e-05 6.54787340445244e-05 -7.92917540082784e-05 -4.00856377485859e-05 2.29968469813011e-05 8.37479920269955e-05 7.71331913238346e-05 8.49904927747605e-05 0.000124281589980327 -7.1397512544757 [...]
+id5496 8.29167469947984e-05 -2.70951702683519e-05 2.69350587484767e-05 7.4649501712871e-05 -0.000151715063691707 4.26832878110622e-05 -1.10133067002833e-06 -6.04341812583766e-06 7.575722749869e-06 7.33633413731604e-05 -3.01858222636014e-05 -0.000212682468316387 -7.63799695043831e-05 -3.18364333161393e-05 -3.92464011670167e-06 -9.90664991248265e-05 4.12442491884612e-05 -9.16864535725448e-05 6.53177529519241e-05 9.24788818551728e-05 6.02917290244091e-06 -9.63979892378301e-05 -0.00017840710 [...]
+id5517 -0.000109147574657006 -4.5823979528812e-07 -3.81152929505719e-05 4.8747413948005e-05 6.59990800629233e-07 2.65717171646356e-05 3.84834426122548e-05 5.01437327962484e-05 3.1272056624575e-05 -0.000305282113817886 -9.01075642373105e-05 8.41003067162425e-05 -2.21985982271067e-05 8.48622335823399e-05 -7.78676172474559e-06 -1.00702362636483e-05 5.23861338148836e-05 -0.000133583790657975 -0.000168364127191055 1.69487334956686e-05 -1.28514729666605e-05 -0.00029327603489397 6.1041602308833 [...]
+id5522 -0.000114226124995312 -3.47192969147694e-05 -4.9555928442955e-05 7.19827550692498e-05 2.6364752956877e-05 5.51051193887797e-05 -4.10976509550423e-05 1.28290816770930e-05 6.34930685395339e-05 5.74720817509592e-05 0.000106204364752161 -1.49671331922971e-05 -0.000221959740487845 -3.39449888142999e-05 1.64658287626537e-05 -1.52528816155198e-06 6.42839108357588e-05 4.00501451900433e-05 0.000104549925515410 -2.74504087268666e-05 3.78221391476585e-05 4.87409770583512e-05 5.74865128247354 [...]
+id5598 9.8698413738596e-05 0.000110058305984349 3.08598461422015e-05 0.000112412209323485 3.96581052996274e-05 3.72213575315217e-05 8.08193241064602e-05 -4.60457740633241e-05 -1.47272983745675e-06 8.33091589445001e-06 -0.000125713678980328 2.88325547481026e-05 -6.10170032323885e-05 3.13576402190867e-06 5.64416484843181e-05 -2.24559792591566e-05 -1.08864390901419e-05 1.88166968228325e-05 -0.000119405040090698 5.28193983427786e-05 -4.88321566225485e-06 7.28311481997017e-05 -0.0001805448729 [...]
+id5627 3.77903231949559e-05 4.43375089621879e-05 1.77336572803970e-05 5.34708461741792e-05 8.06986951764627e-05 7.36337484079121e-06 -5.91031823441018e-05 7.01310979774667e-06 9.64344870880774e-06 4.87305404113603e-05 8.87158437416512e-05 7.57512519302734e-05 6.06664757685271e-05 4.76533804524097e-06 1.32019990808963e-05 -1.18422273601013e-06 -1.28696200190632e-05 -2.56887673387737e-05 1.56241582662736e-05 7.67257073648295e-05 2.22513244915401e-05 -2.03882910060412e-05 -3.32316595390164e [...]
+id5672 -5.72363314815091e-05 9.63622208340184e-06 0.000122502359548033 5.18633837881083e-06 -1.47836303425855e-05 6.11304222765285e-05 2.29872534352052e-05 5.3354651527279e-05 3.03857937188241e-05 2.56253506734558e-05 -3.71946060689235e-05 4.1220267940427e-05 -2.6336905984845e-05 -0.000163132485763466 6.74430422245038e-05 5.10509568663826e-05 5.41746420816211e-05 2.0438266170768e-05 -7.9366143576429e-06 3.2879554771317e-05 6.19419377574844e-05 -3.03801998414247e-05 -2.5021897609827e-05 2 [...]
+id5736 4.01862394678087e-05 -2.21059794267448e-05 6.33616490860412e-05 -0.000189340366385812 3.56683264613273e-05 -0.000292781944779982 -3.20324104907475e-05 -4.95090835835919e-05 6.18848637630514e-05 -6.38651101003803e-05 -3.19347081690951e-05 0.000111549563447486 9.66167319756925e-05 -6.53858246402739e-05 -5.85884050889861e-05 1.10486904781467e-05 1.53589964777478e-05 2.88689892466617e-05 3.39820278162915e-05 1.28972365243104e-05 -1.38820512288604e-05 -1.16055051459734e-06 -7.838517723 [...]
+id5739 -3.66114946901091e-05 -4.53522874990136e-05 -4.23697523060040e-06 8.51566379329333e-05 3.57165033832478e-05 -0.000154404725285487 7.46955488325478e-05 -3.38887868352457e-05 4.21222142646744e-05 3.24129464343928e-06 -0.000122861615280443 3.83366897264158e-05 -3.55725579689722e-05 -7.4767683004488e-05 1.81778595103268e-05 -0.000152075685807232 5.24486193584643e-06 4.62675449555037e-05 2.87413281302564e-05 -5.6366301091904e-05 0.000164787365219844 -3.96620845167755e-05 1.254372577632 [...]
+id5764 1.10471921566712e-05 -4.76606797480848e-05 5.62580525356401e-05 -2.78300507993166e-06 2.94952659151041e-05 -5.46971574376727e-05 4.89553130374605e-05 4.96424958245045e-05 6.1186604969444e-05 -1.68987446043694e-05 -4.00303834390479e-05 3.53474357907994e-05 2.93998910241635e-05 2.69465275343598e-05 4.60968408743562e-05 2.58299632211946e-05 -3.03000037981283e-05 7.48455582669855e-05 4.29900639310191e-05 1.65521415606786e-05 -0.000100008456242648 6.596706895031e-06 9.35871866183077e-0 [...]
+id5770 3.33504385860571e-05 -4.24787387764027e-05 5.57824090244534e-05 -3.88776004902597e-06 4.30163299166154e-05 7.58388519651837e-05 2.10900307511461e-05 1.87076729164757e-05 1.71702934351381e-05 -0.000193381178567220 7.96814594105056e-05 -3.10269456072497e-05 0.000116894453418107 -3.28507369699546e-05 4.44870130233179e-05 -0.000100362958363352 -6.21976352769819e-05 -7.87983441280546e-05 6.59222679608204e-05 3.10944408124774e-05 -1.72274704480551e-06 -9.63814903603782e-06 -0.0001618460 [...]
+id5844 -0.000181063677405290 1.23436373136346e-06 8.62069656491497e-05 -2.7768594567255e-05 9.4455276052949e-05 4.67004618484105e-05 8.92340198157493e-06 5.17683905966233e-05 3.59787528061942e-05 -9.12851761117183e-05 2.40897418758919e-05 -5.30729341556757e-05 -1.66589876778023e-05 -7.78940859802542e-05 2.21223082459388e-05 -6.34099760656254e-05 -4.83306780813828e-05 3.05074290664191e-05 6.08966485306793e-05 3.32118950526143e-05 -7.5802629891638e-05 4.90433458448662e-05 -8.88615595520713 [...]
+id5853 2.9488444502147e-05 4.99894193854581e-05 4.54285517814567e-05 -4.79525008177222e-05 4.50400198266475e-05 1.82878167748189e-05 -3.07425157073401e-05 6.33712093410532e-05 -8.67054814000451e-05 2.24254299594431e-06 9.7990551048685e-05 5.49448808667708e-05 -4.29786151274471e-05 -5.93700576650472e-06 1.16737634227296e-05 -1.37062053572110e-05 9.7652736224609e-06 2.35487690951328e-06 -1.26059319135257e-05 7.78280917540546e-05 8.14401594999575e-05 2.10729484565904e-05 6.77440692352738e-0 [...]
+id5890 -7.82068489140378e-05 -4.3323293151252e-05 -2.18480692134601e-05 3.2191903294388e-05 -5.02153110048292e-05 -1.79126981979242e-05 -9.79731961590189e-05 3.18207128162271e-05 -2.44653043472404e-05 -4.90897535563023e-05 -1.00421040954720e-05 3.30811498558341e-05 1.09184666265074e-05 1.91789631581848e-05 -4.13213739671177e-05 -1.61915990619317e-06 -2.13057742396776e-05 -5.43264596328824e-05 6.56641629684274e-05 4.98346099089597e-06 -5.10778945125918e-05 -4.39559788789161e-05 0.00015237 [...]
+id5912 -4.78890738003543e-06 4.10121001141296e-05 -4.16987548677115e-05 -9.00466901959723e-05 -2.22762859213219e-05 6.03709772831893e-05 2.20806237068333e-05 2.33877289069933e-05 4.3849613807557e-05 -2.09528113707595e-05 1.56895894712040e-05 3.61086343769461e-05 -6.87167983474757e-05 -5.48109659121511e-05 3.54103687960462e-05 -3.64836816504159e-05 -1.52176631559740e-05 -1.43607991249955e-05 4.3690150348591e-05 5.3559103698824e-05 9.33617387505602e-05 3.01431801227052e-05 7.21029064768023 [...]
+id5926 9.61542943582814e-05 8.40706775422317e-05 -0.000114655071224567 1.16453687545444e-05 -5.00381931221952e-07 9.18775024072687e-05 1.11791939943559e-05 2.08329958861146e-05 1.34745084732542e-05 6.6179779420746e-05 -7.94809875496744e-05 -1.52800617102970e-05 0.000126263995459707 8.38762256036112e-05 1.38199717829580e-05 -0.000117857156469948 -4.34085886525104e-05 -9.85051497753712e-05 5.07967759956414e-07 1.40456501910497e-05 -5.4614898612553e-05 1.16676870355767e-05 -1.47950341212099 [...]
+id5966 1.04200427363003e-05 -6.06607563740418e-05 -1.70432096610726e-05 7.4021506283054e-05 -3.34962223087668e-05 -4.25804027764198e-05 8.1083286838308e-05 -2.81876669780122e-05 7.85434226726273e-05 5.19843368235043e-06 5.45725363184218e-05 1.51261423432881e-05 5.32638472681784e-05 1.93202530953987e-05 -4.3327988319689e-06 7.66436880271138e-05 -8.69627424037783e-06 6.10690321271379e-05 6.07493566351434e-06 -1.17854676014554e-05 5.00112879268044e-05 -0.000114625382100715 -1.35345967276528 [...]
+id5969 9.57744416913818e-05 -8.5103541876746e-05 1.61215930083995e-07 6.45480276390664e-05 -8.84084877255194e-05 1.87653016878931e-05 0.000101414950823801 6.08099618597408e-05 1.45460443327376e-05 3.33662355290106e-05 4.71192814397445e-05 -2.08792787886829e-05 2.35138008150442e-05 3.7294208632972e-05 -9.6064994089211e-05 -4.31886058528353e-05 2.89070545203997e-05 -3.88697606339573e-05 -5.28684858542518e-05 -0.000123037224103688 -6.25523867415883e-05 -3.31868957377596e-05 -0.0001700697494 [...]
+id5989 0.000100984585027222 1.38620733090882e-05 6.09693564630065e-06 -9.85079201559188e-05 -8.5610911358313e-05 -1.67019346946783e-05 1.22458812863726e-05 -4.75820384068185e-05 6.54721551631378e-05 3.74110561850615e-05 5.05314549065709e-06 -2.39470217603052e-05 0.000134245607433292 6.04243658642806e-05 -7.54384081232976e-06 1.40518947887178e-05 -0.000138949602764512 3.10860539255611e-05 -0.000212086632512334 7.09781941144352e-05 -4.5281231187187e-06 3.9646410688642e-05 -1.90521824559375 [...]
+id5991 2.22163030904596e-05 -0.000171618765301293 2.45985600182852e-05 8.7507791796341e-05 -6.08202439877167e-05 8.39426128698612e-05 1.15328891092938e-05 -3.74010825702348e-06 -7.13033978685403e-05 -9.04210258153778e-05 4.12507704416812e-05 -1.73492026697023e-06 4.62184268178241e-05 6.03173506171833e-05 -0.000225125615363498 1.2008673606361e-05 -9.14749429133791e-06 9.35761254727255e-05 2.61308659199242e-05 -0.000308473693461675 0.000113773964130424 0.000105134170045374 -6.7936359938568 [...]
+id6002 3.48428732176074e-05 -6.00445612523353e-05 2.76393444988955e-06 -5.40692285542802e-06 6.2706336417755e-05 -2.87480569900335e-05 3.35136895365016e-05 1.08665025522303e-05 1.80875663629966e-05 -3.97339227871912e-05 -4.9871021319533e-05 0.00010964457616564 -1.60957712257277e-05 1.62964063655078e-05 2.10077264794151e-05 5.60406706993146e-05 4.64193928197955e-05 3.89883972056184e-05 2.47090288307996e-05 -3.43378968830016e-05 8.15285538145288e-05 -9.05957899570953e-05 5.19095510631097e- [...]
+id6009 -9.87327514992468e-05 -0.000111265088723915 -0.000214688940605798 2.44720404434062e-05 -8.85202506022246e-05 3.35001504100312e-05 5.41854012271652e-05 4.31887171481433e-05 -5.89639247765652e-05 -2.78410538105303e-05 5.82893654047353e-05 -1.62353012478001e-05 -0.000268485598771884 3.04998117579588e-05 -2.73572393563225e-05 3.17365812626679e-06 3.57862733684829e-05 1.5789178976071e-05 2.50369930000281e-05 7.11475570598296e-05 2.77710911114405e-05 3.48476447011926e-05 5.0616246094216 [...]
+id6011 -1.16083097878068e-06 -4.36490789116347e-05 3.35939773628749e-05 -9.4550587895e-05 -2.58318264324481e-05 -2.22192985862620e-05 9.75389880300422e-06 -5.32964808189741e-05 -2.29943831846617e-05 1.16451994599977e-05 -1.06603835063163e-05 -2.01706562378207e-05 4.87139187334574e-05 1.11058502521830e-05 -2.88663568269829e-05 0.000100612628290489 2.42655174609881e-06 5.81250501195585e-05 5.13562740965139e-05 -3.28567044429647e-05 -4.60433571420127e-06 2.02822577022320e-05 1.0848155280713 [...]
+id6020 -1.08202468522576e-05 -4.23653310782423e-05 1.51163118359692e-05 2.50657872575030e-05 5.76977891870267e-05 -4.02317312976967e-05 -0.000120437291104153 2.16986122816630e-05 4.37711499948541e-05 3.81261366040611e-05 -1.36501206485349e-05 9.13594540638543e-06 9.48351620837106e-05 6.59211199589263e-05 -5.08203681153831e-05 -3.2689014583928e-05 4.98368760165559e-05 0.000124684939746132 -1.50333029856976e-05 5.89183410920933e-05 8.57138808369837e-06 -8.00061073503575e-05 6.6180744726123 [...]
+id6043 9.1461445436394e-05 3.94105436892789e-05 -4.33349645084211e-05 6.74979638490237e-05 -2.16553090357485e-05 1.25147118910445e-05 -4.49952719361710e-07 7.43447630209058e-05 -0.000121950809000143 4.52133730798405e-05 2.07574950645692e-05 9.97217712105183e-05 4.99792913472017e-05 -1.59992480973267e-05 1.57635300801768e-05 -0.000173457175836523 0.000149243783225698 -7.77678973800855e-06 2.96460349836149e-05 3.18856473977111e-05 5.90446840131588e-05 -9.57582447871599e-05 -0.0001627801850 [...]
+id6051 5.52534700284043e-05 -7.66127071990346e-06 6.58841807379662e-05 -1.75699235200928e-05 2.45745072436621e-05 3.84411498318632e-05 -0.000119943767001697 -4.30432968445072e-06 -2.97649645866062e-05 1.48854080366039e-05 6.1849172840834e-05 9.6136282483646e-07 6.67678459273402e-05 9.81021135533497e-06 1.19030001048520e-05 -2.37638556452059e-05 0.000127343433590077 8.97551059448204e-05 9.70569959857793e-05 3.48498169385669e-05 4.60314940247564e-05 -6.64118009838129e-05 -3.56779072390948e [...]
+id6139 -9.8815175439082e-06 1.14978593838271e-05 -6.3512532305387e-05 7.53129996929022e-05 0.000109600048404031 -2.90218946286352e-05 0.000111511873741754 6.20647621480862e-05 4.6324915727819e-06 2.93777265660901e-05 -2.50671910320268e-06 6.94398310521154e-05 -2.49481525560733e-05 3.06983250974775e-05 -1.94379076614803e-05 -5.0705955020282e-05 0.000103217084476202 7.16980767621954e-05 5.32704237373396e-05 -4.3485684344946e-05 7.78939059149021e-05 4.58451097806602e-06 -7.28549807268266e-0 [...]
+id6141 4.675433558986e-05 4.66060891100062e-05 4.75895218568903e-05 -4.1333576588365e-06 -1.02211825202643e-05 -5.4762386991854e-05 -2.73684278556937e-05 -1.47798410296359e-06 -0.000107012896691781 2.81879229619652e-05 0.000118801488195182 7.10347713900908e-05 0.000102714680287968 1.74327183429692e-05 3.33501170192745e-05 6.3689800702121e-05 -0.000149958791736584 8.21727632594937e-05 8.5862036644541e-05 7.06151852173766e-05 1.34697213280597e-05 6.77561421908698e-07 2.42865849933598e-05 3 [...]
+id6208 -1.86447419008523e-05 -0.000145016258726647 -5.04633210328943e-05 -5.90625907182954e-05 1.43559948495434e-05 4.09859168382688e-06 8.1933975059052e-06 1.72018300116457e-06 2.59314324130873e-05 -4.70963608461476e-05 4.72785876373127e-05 -1.59551633608550e-05 -9.25936997819341e-06 -7.72067238889057e-05 2.98322396750916e-05 -3.16134999350904e-05 6.01075772276953e-05 7.72487673877401e-05 -0.000102842803364430 2.37366350936978e-05 4.52118190890971e-05 -7.74942138263962e-06 3.74986366715 [...]
+id6221 -1.24366440023659e-05 -4.07536144607384e-05 -5.96857726435934e-05 8.07819546610175e-05 5.92419519447445e-05 3.86766385582574e-05 -3.10451547029783e-05 -6.97181080886027e-05 6.98994669489209e-05 3.0955735455269e-05 7.7256119558248e-05 3.43133058537672e-05 3.35266939174482e-05 8.50960682988204e-05 9.1728715834741e-06 3.34042525128653e-05 2.71298307196878e-05 -6.01256938015355e-05 3.57036690892191e-05 4.16606595314613e-05 3.60998301006995e-05 -9.7550237915268e-05 3.96763133645551e-05 [...]
+id6222 -8.09276457489756e-05 -7.21691479786145e-06 0.000176049331080745 4.0179845859071e-05 1.62919385274070e-05 7.86407706699825e-05 4.74931578425839e-05 7.81870902583125e-05 0.000106038230528346 3.20821500226410e-05 6.65240806993357e-05 -3.19086104735322e-05 0.000103128327506529 0.000117622590141014 2.51829894473372e-05 -0.000149372884787908 -0.000127269644152208 -0.000110375558769105 -7.08782094971438e-05 -3.15584518254002e-05 -3.09350900164578e-05 6.70494003826084e-05 5.7782231297741 [...]
+id6237 4.88321286735863e-05 3.77011343911616e-05 2.69707042316732e-05 0.000142604340914084 -7.4068553513605e-05 -1.26992303818317e-05 1.81320063869673e-05 -7.56096486690838e-06 -5.22689094241156e-06 4.57205932309865e-05 -6.40958126900882e-05 3.71074679137444e-05 7.3657578019027e-05 6.57412479551969e-05 1.38697898017323e-05 1.53196927272374e-05 -4.14354699091923e-05 2.05948201648786e-05 0.000122855255082193 -1.46668210445974e-05 8.06044665656167e-06 7.60783900051471e-05 2.08681349168667e- [...]
+id6243 3.54582482445363e-05 9.41107072144408e-07 3.07870762117072e-05 -4.33496055287437e-05 -1.33996216742446e-07 -8.82325960209297e-05 2.39569854163195e-05 2.54782148895245e-05 0.000130903732004599 -6.92957422711258e-05 -0.000102161900306653 5.96470865605894e-05 -2.67810188733282e-05 7.75694652327032e-05 9.17828492498529e-05 -5.64252066478597e-05 -9.3888576165918e-05 -7.98737429820876e-06 -0.000151006406878041 8.76929464701544e-05 -0.000186749699818241 8.67798254081567e-06 6.27263625237 [...]
+id6244 -6.14158397140569e-05 -6.39711205510018e-05 -9.27848236366411e-06 -0.000143967898387978 7.63812660977931e-05 -9.72969251028058e-05 4.54123461191721e-05 -1.83536511839117e-07 4.28413853665643e-05 -4.40525795723861e-05 5.32194561011974e-05 -8.74471705386688e-06 5.46968127818924e-06 0.000100466602076354 5.10195414526188e-05 9.66766110233106e-05 -0.000208526827722234 7.92298771298683e-05 -0.000207827027469580 5.4582986107221e-05 -5.07053264010329e-05 0.000115377233200154 5.99958590769 [...]
+id6255 -3.67792593403337e-05 -0.000111214969772177 2.74790640043116e-05 4.54841699516374e-05 9.7957409446865e-05 0.000137193738519372 -3.28352085528939e-05 -1.21071987984483e-05 1.92529350881939e-05 8.2315621371238e-06 -1.77668655782832e-05 9.10924537643541e-05 1.18257580823754e-05 1.91786986405637e-05 1.76195549173669e-05 -6.21532849213611e-07 5.99261598669354e-05 -0.000280712512508493 -7.94099549488647e-07 0.000101986411494865 1.41933690247313e-05 4.29821705463027e-05 3.16669556795043e [...]
+id6270 8.07737682474614e-06 -5.94236743895989e-05 7.82650733595802e-05 -6.91042163720844e-06 3.9138406891651e-05 -0.000135812091498321 1.21714050041411e-06 7.07927993673685e-05 7.45897961184499e-05 -4.91714661560054e-05 4.78814085355118e-05 3.85757007966152e-05 -6.8612387793712e-05 -0.000108454206751158 3.84160304469801e-05 4.72452841976877e-06 8.1317709711953e-05 2.97195188387219e-05 -2.62274949005434e-05 3.67618117212542e-05 5.49250244223128e-05 3.23219533248727e-05 5.06790113871097e-0 [...]
+id6278 6.1991858164055e-07 -1.19686988817375e-06 -1.10389440298718e-05 8.06374713107979e-05 -6.78904621511766e-05 2.66494151395106e-05 5.38190346104695e-05 -3.26074503273488e-05 5.71705596767007e-05 -8.99001770917882e-06 -5.88131299631419e-05 -7.5160283953451e-05 -4.50397585340904e-05 6.19240409724662e-07 -8.92301777569365e-05 -5.05906675959369e-05 9.62671666311333e-05 9.41960995512378e-07 0.000101820507064289 -1.83684766407241e-06 6.2840455241134e-05 3.8576794422728e-06 2.62912334938334 [...]
+id6290 3.48558582580410e-05 -7.80158775884696e-05 9.85351404181399e-05 1.1083262261185e-05 3.96500359580409e-05 -2.43449399478517e-06 -6.78104896096543e-05 -5.25467621769672e-05 5.59413068481451e-05 6.43919502593638e-06 2.96402985733503e-05 8.09731211018263e-05 -0.000102000168973737 -5.53555757502717e-06 -8.53715278829925e-05 1.75159134657748e-05 8.29040811410324e-05 -9.13322382400612e-06 4.64053865465819e-05 9.07508078949172e-05 1.71794484753897e-05 -7.29883386485578e-05 4.8869806447759 [...]
+id6306 0.000107890953605128 -4.29908464402586e-06 -3.97446021515418e-05 2.38379414775193e-05 -0.000514103382974636 1.09167160957402e-05 -0.000132126197791363 -8.59785590476218e-05 -2.32288433854224e-05 6.7484987305003e-05 4.01631163345457e-05 -0.000129399884516296 -2.05592662111342e-05 -4.2705211058166e-05 -4.02330225825926e-05 8.90519941961518e-05 -0.000134798899881936 6.29097694748684e-05 0.000106142199425573 1.05409338639720e-05 -7.6517921748195e-05 -5.49578561723591e-05 -8.9307656481 [...]
+id6333 2.46114922737070e-05 -6.33098535234734e-05 6.25014261787843e-05 5.10149773689034e-05 -1.47860320464538e-05 -5.48907528311796e-06 6.87235313262432e-06 4.02369913278066e-07 1.04531854441025e-05 -6.85439726280884e-07 -4.4251232588247e-05 -6.21452309419181e-05 2.21341947438321e-05 2.3396186738074e-05 -0.000101350118113990 -1.92400531791678e-06 4.28975705662907e-05 -1.43894918758456e-05 7.35634603363504e-05 -2.83973352046015e-05 -1.59795771198116e-05 -0.000141233308485299 1.83385091380 [...]
+id6352 1.66079858675557e-05 3.6431974912472e-05 8.14644027007052e-05 7.16167119898533e-05 4.26212905067789e-06 4.06734177481907e-05 -4.8672697800855e-05 1.42409548482286e-05 -3.34677379522066e-05 5.21892914439307e-05 -0.000106089123551870 -7.7994675546633e-05 5.72430802431871e-05 6.59697212570161e-05 -4.17888342801694e-05 3.16361448278652e-05 -2.44740760378461e-05 8.49641806229698e-06 5.97664497860378e-05 -0.000111259566375934 1.90903300056583e-05 7.44194410692556e-06 7.74460397355295e-0 [...]
+id6386 -4.77473633352353e-05 0.000130849785043832 6.6760568485985e-05 5.17319850721282e-05 -0.000116556556192381 8.04642912775304e-05 9.8879580292768e-06 4.56488902602713e-05 3.45844306427276e-05 -9.84822902665378e-06 3.08333929225766e-05 7.4836440077072e-05 -5.75044975743675e-05 -1.55101510871517e-05 -0.000237141306057194 7.61264957838408e-05 5.30878953115303e-05 -1.71153317495566e-05 7.9936582101746e-05 4.45456747165781e-05 -3.59249468085307e-05 -4.34669256156748e-05 -2.3731630652869e- [...]
+id6443 5.8454242912869e-05 5.09671590047448e-05 3.54082155579860e-05 1.76217520648157e-05 7.14974472402829e-05 3.66987983244743e-05 6.45736935989556e-06 4.1013500882096e-05 -0.000137943368033918 9.31072506501391e-06 -7.88451012451248e-05 -0.000173627765659406 3.73922888272325e-05 5.816371928062e-05 7.90414507616487e-05 -0.000136155751162855 -1.42148386644097e-07 -2.09105123129042e-05 -1.28561487579848e-05 -4.33773093868519e-05 2.22697144127468e-05 -1.60897020657628e-05 -0.000148942966428 [...]
+id6488 1.01166335660571e-05 1.64651626280453e-05 9.43895749497163e-05 9.9644910057288e-06 1.80983578779391e-05 9.34657402719606e-05 3.77632028527248e-05 -6.24645277677986e-05 -1.75242466073881e-05 9.44905829992765e-05 -5.18181839427114e-05 4.51991141996539e-05 4.03426851823204e-05 -2.42024551604992e-05 -8.52433059021492e-05 -3.13104439124696e-05 9.20775067084938e-05 9.14194727687085e-05 3.21322091652263e-05 6.99408644530607e-05 2.03425479383988e-06 3.20007055906670e-05 6.37018555462856e- [...]
+id6499 4.90947082732212e-05 5.81968786362089e-05 3.77165466735642e-05 0.000115338535361245 -2.549535723095e-05 -5.29268485293354e-06 9.57873281083846e-05 2.32511465719052e-05 3.20166190116548e-05 -9.51950897996984e-06 -3.59183903986587e-05 -4.37918378674033e-05 -3.52202965346931e-06 1.94258122131316e-05 -7.57841623261253e-05 -4.97306787832376e-05 -8.02033825172023e-05 2.66739868473617e-05 -7.98813536947887e-06 6.66274918604018e-05 2.81473990486084e-05 -5.60984513836611e-05 3.176263793367 [...]
+id6501 -0.000120859156266657 -1.76418171295935e-06 -4.42167981420615e-05 1.20766117826349e-05 4.17510483732024e-05 -8.25449827039384e-05 -2.59424845400992e-05 -6.88960245446703e-05 -4.71175212088635e-05 -1.02789214602413e-05 1.04933905920771e-05 1.65909301247934e-05 6.8547004605988e-07 1.17492940101099e-05 3.07259359962548e-05 -1.25315093980538e-06 -5.36918125203393e-05 -4.13834220533852e-05 4.96933603585052e-05 -5.40677262622068e-05 -2.12599170000977e-05 5.83632593943011e-05 -7.36734747 [...]
+id6506 7.3560169544585e-05 -1.89528342346066e-05 -9.42032700166132e-06 -3.29820852607234e-05 -0.000219595244817286 5.96132136892338e-05 6.96034297679773e-05 2.16353836848341e-05 3.90155002501645e-06 5.15812678785451e-05 -0.000115325748077728 9.97942499090193e-05 -4.99823244266489e-05 3.62821113763673e-05 -7.46624435690771e-05 -2.50727367622242e-05 4.27520679847977e-05 -5.78392090877714e-05 -1.01552382192853e-05 3.57412757223578e-05 2.77003702569335e-05 -1.77373499605293e-05 7.04630672669 [...]
+id6544 -7.45532459400231e-05 9.06505944971667e-06 -1.46798403932961e-05 1.08705868133887e-05 2.87479559254159e-05 9.28375143175514e-05 7.50533709736598e-05 -4.91703764058308e-05 -7.65706881938689e-05 1.48391258646512e-05 2.79478891670764e-05 -1.53478750585755e-05 -3.51022596233126e-05 3.95687434662573e-05 1.6829363537682e-05 3.80596672799094e-05 0.000108774774637235 0.000164005410569558 5.99138442429117e-05 -1.21466392808196e-05 -7.15848062851327e-05 -5.76878893752508e-05 -0.000122433581 [...]
+id6554 -9.89149175789604e-07 -2.64866173011807e-05 -3.61551350006627e-05 -4.43585934570794e-05 -2.88124371048173e-06 6.08094101560637e-05 0.000108948716180304 1.82940465577944e-05 -0.000264607163370879 6.70858927029152e-05 -1.77371045405693e-05 1.18728355815995e-05 4.02112959335602e-05 7.38417425916625e-05 6.049820212538e-05 2.26076462454437e-05 -7.5839225874957e-05 3.89471596583019e-07 3.30715352691761e-05 -2.22696066845820e-06 4.3892521665579e-07 1.86461821287801e-05 -5.52626652415417e [...]
+id6588 1.59354508641969e-05 -1.69396232188084e-05 1.6995223943734e-05 5.28252387574913e-05 -0.000102126728218188 6.70892995132554e-05 4.63403707217609e-05 4.3505914393815e-05 -4.06025553912264e-06 -6.12488359052636e-06 -7.37939078214234e-05 -7.49632521243772e-05 -9.58190449036253e-06 -1.64192437783064e-05 -3.44130036031758e-05 5.64150477391351e-05 -2.32170698602214e-05 -1.45234826697519e-06 -1.76711617012261e-05 -3.36669296801630e-05 -2.26922880553307e-05 0.000126924893899366 -3.64100306 [...]
+id6603 -4.92050071333705e-05 -2.54686203373091e-05 3.31610531631954e-05 -6.40981526887263e-06 -4.90578943409881e-05 2.52956409417940e-05 -8.83991286847119e-05 8.69206137114782e-05 -2.09533332538427e-05 -2.53940611745834e-05 -0.000113478324433978 -8.63898508911945e-05 5.78511641799924e-05 3.86418374680024e-05 6.34676682034701e-05 -2.2020322813885e-05 1.94776560952554e-06 7.9267507422908e-06 1.78009770085155e-05 -5.4631449616377e-05 0.000107799265397435 4.466065537437e-05 3.15756629533179e [...]
+id6641 7.15561185206434e-05 -0.000163688297285609 3.64645069329225e-05 1.49174422041373e-05 4.24117107602882e-05 5.0557395739848e-05 4.50391451200671e-05 -2.27590349246515e-05 3.06435092962524e-05 -9.92633986381996e-05 -0.000120961873960303 5.66681895795432e-05 -3.33289266881065e-05 -3.63029843842658e-06 5.18754702032151e-05 3.10291645335037e-06 8.75675631363224e-05 -7.86907928470412e-06 -4.65821866967053e-05 -9.1672746339527e-06 -1.93311264454234e-06 -0.000101349435290065 2.062079396752 [...]
+id6645 -2.13221977944409e-05 -5.39307881343323e-05 3.67681649672586e-05 -6.43638995737095e-05 0.000103182129952792 -6.38044439401217e-05 3.72108803654386e-05 -5.90304096166229e-05 5.77715244003777e-05 1.43508659444607e-05 1.45651631780326e-05 9.00645766143502e-05 7.54005958070389e-05 3.31530973675243e-05 2.35762832185779e-05 -6.07285205808030e-05 7.65852336353605e-05 0.000101759341578050 7.0596657464933e-05 2.34560956831748e-05 4.77345417290333e-05 8.52645816934194e-05 7.35558484768993e- [...]
+id6651 -0.000157422451481567 -8.63569756376525e-06 4.48513765363542e-05 8.0072376507072e-05 -4.49179086855139e-06 1.07659731105827e-05 -0.000100580988455743 -2.07874683866720e-05 5.01622254589493e-05 6.117248713079e-06 -5.12508424413202e-05 -4.36012619647916e-05 1.19370088489047e-05 2.68186086157781e-05 3.94223657121459e-06 -5.70060770699274e-06 6.66231974444393e-05 3.62297765150633e-05 3.80429169804520e-05 3.57103176704899e-05 -7.42093996198284e-05 1.82850997721792e-05 5.164709748168e-0 [...]
+id6661 6.71338799409705e-05 -1.64023747686559e-05 -0.000177950416522549 2.1580324780765e-05 6.95459853968495e-05 4.76411667697755e-05 -1.69974972395988e-05 -7.06460744348894e-06 -2.04549772325744e-05 -3.84867613273134e-05 -6.1937744540642e-05 4.16444327644431e-05 -2.09828928906206e-05 0.000100755480283772 4.18608718962749e-05 5.92158894382861e-05 5.88747989757782e-05 -2.11754800536858e-05 -5.70557951032978e-06 8.27877837743803e-05 2.27171910054819e-05 6.47447985686253e-05 -8.820021080695 [...]
+id6663 -0.000151988445724805 0.000125204934516317 4.88036416959402e-06 5.46632429587036e-05 2.19105064893362e-05 -4.33782784281689e-05 -2.8560452170064e-05 -0.000338998004574139 -9.36784587544211e-05 -0.000156190833037625 3.2177726299914e-05 1.89424544281723e-07 -1.54710532844247e-05 -5.04819318594402e-05 -1.07847756740034e-05 6.68865304956568e-06 7.05320470238307e-05 9.01998612658148e-05 9.5479625231288e-05 2.88822825269361e-05 0.000119227346699619 4.63192228094433e-05 2.83102950550108e [...]
+id6709 1.72607355195417e-06 -0.000122042349225784 5.06994586769085e-05 -0.000111701175000081 1.06570379377482e-05 7.05068704444074e-06 4.24140299919269e-05 9.24893596978413e-05 3.6308358739438e-05 4.30061707749745e-05 5.09303664194868e-06 8.6107145347771e-05 -0.000111813492759266 -4.9566778669763e-05 -2.13722212563532e-05 -2.78049137576769e-05 4.74849788976576e-05 6.71558910930258e-05 4.06975609850702e-05 -6.14142982679682e-06 -6.66322389069954e-05 -6.37157501192008e-05 -2.88279310887375 [...]
+id6723 5.74767930485397e-05 6.86315889400546e-05 -5.04446482730065e-05 3.12333766864934e-05 6.03417680975761e-05 6.21196342424435e-05 -0.000322247230858475 -6.52007348029036e-05 -5.2712775505132e-05 2.11283194840222e-05 8.6000635935105e-07 -3.55494968620251e-06 2.28938882686913e-05 -5.61244117341205e-05 -5.9817604678254e-06 6.39799207931509e-05 8.158931266782e-05 -3.15539790948133e-05 6.70109011736148e-05 6.41126237582284e-05 9.01510101926318e-05 0.000155216424052482 1.8401498814713e-05 [...]
+id6740 3.04872693595917e-05 -2.01044855067450e-05 0.000106851631941911 2.98442456324317e-06 1.11410230923349e-05 -0.000126978064528487 1.61936786803340e-05 -3.55801319186667e-05 2.54137701988155e-05 6.8280951974145e-05 -7.2420007706378e-05 4.71763189276113e-05 -3.65276437196339e-06 5.9014848157439e-05 3.85905381013197e-05 2.30799691296837e-05 6.54160867746505e-05 -4.32241157196736e-05 3.86953317867958e-05 1.47370454761857e-05 3.13989234503034e-05 -0.000180424379635331 -3.72229634608464e- [...]
+id6773 9.48218905611064e-05 -0.000207462254130583 -2.55914998154000e-05 -5.128104039522e-05 9.03350605175099e-05 3.94338933314934e-05 7.42235503044763e-05 3.711826155877e-05 7.1095331637662e-05 -5.49129842469186e-05 2.56031425472417e-05 9.56676914568438e-05 -3.92085008079478e-06 -7.78283307792521e-06 -4.16996903673486e-05 5.8025047639758e-05 3.8417054193805e-05 -3.77761170638703e-05 -7.02883696586188e-06 2.01392723751324e-05 -1.83213660459647e-05 -9.9190762223073e-06 -1.97637135793795e-0 [...]
+id6802 3.617367523684e-05 -7.29243658104693e-06 8.63793260053382e-05 -5.47011538391188e-05 -1.39741316828602e-05 0.000106537198074118 1.26269103782106e-05 -2.78792568309003e-05 6.48884404223364e-05 -7.26503491158776e-05 -4.58578728994068e-05 -5.51908524125906e-05 3.49862480581658e-06 -3.43392538944225e-06 3.05200469504137e-05 2.54665155486766e-05 1.22021562600729e-05 -4.47371395905967e-06 3.88268208110969e-05 3.0411360001893e-05 4.55746459720257e-05 -2.8696938634352e-05 -3.61188871966972 [...]
+id6820 -1.02675313223807e-05 -3.53045921839715e-05 0.000120949638513915 0.000141620441961736 6.38709931221401e-05 5.2853176077355e-05 2.42152348727855e-05 9.97671426186583e-05 5.20716306551579e-05 4.50000457962101e-05 1.60548902141831e-05 7.71666508485971e-05 -9.02283214453853e-05 0.000100185478000886 3.78657512863155e-05 -1.99644286701415e-05 9.32297825527477e-05 -1.25761155451765e-05 -9.86750965704304e-05 -4.26310486159338e-05 -0.000107588659315365 -0.000129437682819265 -0.000148826728 [...]
+id6829 -3.74259988055902e-05 -2.85642979057640e-05 -6.74790904846047e-05 3.79348350480100e-05 2.00289922227333e-05 -5.05946219102566e-05 1.57213519934679e-05 -1.35674494101183e-05 0.000133645097111166 -3.48159833021735e-06 6.47667767108263e-05 -0.000184056601216265 1.07911374978353e-05 1.36396736550796e-06 2.86076425172925e-05 -0.000102761417333567 -0.000137897269543926 -1.10673043567314e-05 2.24523203247604e-05 1.12287605971355e-05 9.8491843521518e-05 1.75234598574639e-05 6.482946169850 [...]
+id6840 -0.00012305708888275 7.1097934541304e-05 -5.28379250333975e-05 -5.74658860389608e-05 -4.06395998475544e-06 -0.000117850503678751 -9.09437170581913e-06 7.5771087565631e-05 7.779359275977e-05 -1.65572222361248e-05 9.29013821927245e-05 4.34511756775784e-05 7.082621717663e-06 4.60044303877711e-05 6.87964020329559e-05 4.19398219994364e-05 -3.80966968165431e-05 -6.93150506493554e-05 -3.60199408342141e-05 -9.6689991163614e-05 6.13394848909529e-05 5.36364165978723e-05 2.24780779581135e-05 [...]
+id6847 -0.000138666076308969 1.19276699741683e-05 -3.8790071051967e-05 -1.98079849145153e-07 -3.18980439414182e-05 4.00786357851223e-05 1.35782595504484e-05 -9.83752128787743e-05 3.61789052341795e-07 -1.78400064366381e-05 -2.21992531270099e-05 -0.000105634459236457 9.06655789443156e-07 4.97916654661766e-05 8.5059255733179e-05 3.56700761687653e-05 -6.52183050646924e-05 -5.15144230359349e-05 -2.25101599839291e-05 7.37093872883554e-05 -2.71570479641832e-05 2.27965068176609e-05 2.99936785080 [...]
+id6857 5.18189668290949e-05 -8.47596149505201e-06 7.38851465864153e-06 -3.09193673377997e-05 -1.30566083116921e-05 -0.000129068179551799 3.07812126895729e-05 6.94352764384415e-05 6.70148433329236e-05 5.82101230131156e-05 -0.000173420884071701 0.000110842601082459 1.14907288430232e-05 -1.90961942025771e-05 -7.74406923294377e-05 -9.22916777065281e-06 -9.877480240424e-06 4.07781568577927e-05 4.05951727304394e-05 4.14925396409264e-05 -1.73227816663387e-05 -7.76933573964868e-05 5.509478364094 [...]
+id6866 -1.50655464283727e-05 -3.03304965002047e-05 3.75412315702965e-05 -0.000267232370184698 -1.26691486352294e-06 -0.000213265623758315 3.56612301960349e-05 3.084438590286e-06 6.21785549946814e-05 3.27763031931491e-05 -4.35583385819115e-05 0.000119958112359884 4.15924875656524e-05 -0.000226995449551852 5.3698166940465e-05 -8.75669685221344e-05 -8.57928681669352e-06 -1.73990672256754e-05 9.25152473002725e-06 3.36761150254241e-05 3.92507590969396e-05 -1.28479969486873e-05 -1.437332254463 [...]
+id6950 1.15546980795458e-05 -0.000158578445727809 -7.82341097704251e-05 -3.13541556526679e-05 -7.67694405601693e-06 7.32331261212392e-05 -9.59841970058068e-05 -5.00437395291637e-05 6.69176092584185e-05 -2.82886458607952e-05 1.8365106678075e-05 -1.23497021276005e-05 -3.71212083514346e-05 2.87809174681735e-05 1.72396795069174e-05 8.20080552054258e-05 0.000121154002873437 5.16201902126239e-05 2.16424728916612e-05 -1.52529022645722e-05 -1.71230141011713e-05 4.84214846407563e-05 -4.7934842047 [...]
+id6998 -2.54689926611717e-05 -9.47259610205573e-05 -3.90166552132272e-05 -7.17150329486732e-05 -5.08306646314696e-05 -0.00011229517481194 8.47593059322888e-06 -3.58751925729323e-05 1.45353332658508e-05 -3.40135651930952e-05 -1.42082588664533e-05 -2.75187786403605e-05 -8.49326396632356e-05 1.49948422560745e-05 7.56124059787486e-05 0.000128572018719546 3.50180981381828e-05 3.3850033464958e-05 -1.29028926370386e-05 3.18640942551397e-05 -8.45329668071121e-05 3.18952896355791e-05 7.4679144268 [...]
+id7036 -3.40294707610315e-06 2.28602319641564e-05 -3.16302317954733e-05 0.000131707114686791 3.66223477975646e-05 4.35552678356938e-05 5.87757826179128e-05 7.26788243106667e-05 -4.96082989465324e-06 0.000105274547665667 -9.58430447133292e-05 9.38485229873872e-05 8.70010978440168e-05 4.37449512127459e-05 -2.39525479508302e-06 1.60009825049775e-05 -2.43296296631674e-05 -3.33623396727256e-05 -9.7903711904015e-05 -4.1351746345791e-05 1.54563631513603e-05 -4.57386636383482e-05 8.4763130622155 [...]
+id7038 -3.0402829027364e-05 -3.16066779802242e-06 -0.000223531170581937 7.84906713840633e-05 3.86567758839702e-05 -0.000185780910431466 -1.87451034302973e-05 2.11916799531368e-07 7.75472041154521e-05 -1.01519775201370e-05 -0.000158675112065358 4.56195918669404e-05 5.64773437702793e-05 -3.69373090943511e-09 3.75819270039728e-05 4.38096161222691e-05 7.42383760742985e-05 7.32483272123634e-05 5.30104367023499e-06 1.92273119564297e-05 -6.354102849552e-05 3.81139085356163e-05 -5.93493600096771 [...]
+id7063 6.5685006448404e-05 5.42012172652182e-05 3.89503645465075e-05 -0.000193940937004315 -2.62580917506323e-05 1.72423440722317e-05 4.40623073751402e-05 7.37684176046898e-05 6.9416135496002e-05 1.88184019115095e-05 5.12210107751688e-06 -2.01686105401319e-05 3.07558381231764e-05 -6.80455544399275e-05 4.73980260613118e-05 3.28942055206378e-06 3.50003982414563e-05 8.38228105559047e-05 -4.84362614673991e-06 8.30977957873541e-05 -3.7361801461041e-05 -0.000117813726174283 7.25452880012786e-0 [...]
+id7072 -0.000329299476240756 6.24712479303711e-05 3.96888544606755e-05 2.20508353515602e-05 4.54895733090213e-05 -2.32676611356734e-05 -1.53961289026317e-05 6.5270553031707e-05 5.78531101726921e-05 2.35177751569547e-05 4.02392731899442e-05 0.000118487256344727 -6.56626082027653e-05 2.52554261513581e-05 1.48358837818968e-05 4.98066982231845e-05 -4.53477599430002e-05 5.12528539292991e-05 1.88349302723252e-05 2.19090912057082e-05 6.39163930070181e-05 0.000137076637923538 -7.60077773465554e- [...]
+id7094 4.31530350470096e-05 2.13877960893827e-05 4.02341688558189e-05 -4.93528958362161e-06 1.67995890292552e-05 -4.93251287156549e-05 -6.81229717783768e-05 -6.57908637124796e-05 -3.06152937577076e-05 3.26853274184955e-05 1.15055960476399e-05 4.55254390738066e-05 2.75011886269588e-05 -1.72135067244370e-05 2.12618646114465e-05 6.58415225807875e-05 1.65105133052459e-05 5.61657239660275e-05 -2.16170296526208e-05 -6.62169538336434e-05 -1.47429282694963e-05 2.09865106343445e-05 2.786914522793 [...]
+id7100 5.85431942776379e-05 6.3424486008359e-05 -2.22603056771476e-05 -2.91539897359352e-05 -1.69554558130566e-05 0.000106766398412564 3.19519150155464e-05 2.75751044401475e-06 -2.7019784697699e-05 0.000127150675124014 1.84188819854996e-05 3.05778243598552e-05 4.6944304930227e-05 4.06802780915497e-05 4.41329777138541e-05 6.68342117601258e-05 1.55123328290166e-05 0.000115402241139105 -7.40033200042264e-05 6.98207039870872e-05 -2.44479886077964e-05 1.65490383362237e-05 6.82355163013491e-05 [...]
+id7139 2.29615244941747e-05 9.95314061306074e-05 8.11830642180157e-05 -5.41451905230449e-05 -0.000126750944630616 0.000111316261125474 5.05316846051147e-05 4.76128072654844e-05 4.57446037119616e-05 -8.36906214503368e-05 0.000119090529563872 2.00985986291021e-05 6.39119563349768e-05 6.41064125990056e-05 -2.2707321180304e-05 -6.4764261754252e-05 -6.02881433308318e-05 5.855376179802e-05 5.83011438115964e-05 8.99807149226624e-05 -3.19724124554546e-06 -7.69173072524419e-05 4.93546836341021e-0 [...]
+id7147 -6.23539698220244e-05 -2.05287852855064e-05 -1.83501098797095e-07 -1.38791947683288e-05 5.38120624949383e-05 8.93013877326132e-05 1.88555908652333e-05 -7.90218783108553e-05 -6.68529170538646e-05 -5.35235576460827e-05 -7.53926773772195e-06 3.05222505053995e-05 6.99930357769991e-05 -8.19904213128309e-05 4.52180864355003e-06 6.84710580828691e-05 3.7473574536253e-05 -7.90280532830565e-06 6.2439714523723e-06 7.44529397966162e-05 4.5578266970017e-06 7.62143051044777e-05 -5.8333258523836 [...]
+id7157 6.59984689261985e-06 6.00621755969337e-05 5.08407291131867e-05 2.00630345917727e-05 -9.73133381174733e-05 -9.15569315807025e-05 -2.04660632485460e-06 2.26520874094327e-05 6.65494088353134e-05 2.86903356452782e-05 4.94992189348864e-05 -3.39599403226809e-05 -3.31469673417674e-05 -4.95829217774696e-06 -3.30152202262004e-06 9.78479390707034e-05 4.22668359806436e-05 -8.89548025038275e-05 -0.000243437152780721 -4.19248292524303e-06 -0.000144309197179860 -1.06287246802317e-05 -1.95961346 [...]
+id7173 2.0498300961329e-05 -0.000180826168524224 8.83679537331292e-06 4.92077483041871e-05 2.51636560863971e-05 1.99499057738078e-05 -1.21114875008658e-05 5.23798052042245e-05 1.97009583927428e-05 -1.42677727795750e-05 9.03254080740875e-05 1.04571821046693e-05 -2.84040867235319e-05 3.79734559073832e-05 9.5369963649352e-06 8.77137513073114e-05 -2.53796819874614e-06 9.33713382105546e-05 1.65715795949140e-05 2.48277289991112e-05 1.65866950609517e-05 -0.000102180923318556 8.47880303175709e-0 [...]
+id7202 4.80093226716379e-05 3.95497715469886e-05 8.39772779781911e-05 -6.12393798488562e-05 -1.81280230177597e-05 9.9036004449752e-05 6.34536508133117e-05 -4.34365961782531e-05 -6.69578027242799e-06 3.06985850456225e-05 -6.04221524227157e-05 -2.19770341755613e-05 6.45375801083139e-06 2.54079640431366e-05 -1.63519687605837e-05 -3.42719232292222e-05 1.0434562871465e-05 6.69204500337959e-05 0.000111620212971465 -3.7940365787986e-05 3.82163353774793e-05 -4.38766261556156e-05 -3.8485264294768 [...]
+id7212 1.94407203704215e-05 -5.16797183041693e-05 -6.22970493186909e-05 8.61639064628461e-05 4.72468952835919e-05 1.40801801920932e-05 1.75530476664003e-05 6.21143541058336e-05 -2.76847631068265e-05 2.68022693525594e-05 -3.81001657634687e-05 -5.3775346882362e-05 -3.08885253849398e-05 1.20650974556173e-05 1.88097934745365e-05 2.16651801403976e-05 -4.28860080041993e-05 -7.14530784553294e-05 6.21532864239381e-05 9.95633702821453e-05 -1.81625640269551e-05 4.54977439862849e-06 -3.442331494358 [...]
+id7249 7.72861048691645e-05 8.0195951731412e-05 4.36569811952324e-05 -5.56398404523426e-05 6.32942319606603e-05 8.33891222858915e-05 -1.46272153529140e-05 6.63011819952042e-05 5.83978295243053e-05 6.57085255298456e-05 -2.82755891240142e-05 1.60008938814346e-05 1.97509098721421e-06 -9.12575839927093e-07 8.63359765034444e-05 -3.8003837116405e-05 2.23232018248348e-05 -3.73930840373937e-05 -3.88727184724312e-05 -3.0084141768088e-06 3.73523213234435e-05 2.98409561501938e-05 -0.000116849567855 [...]
+id7255 -6.89194943072496e-06 3.90988256886171e-05 3.72568336297579e-05 8.82132636017596e-05 -6.14080373846429e-05 3.21998457147372e-05 2.39270173467788e-05 7.64576898301189e-05 5.59371233168366e-05 -3.49840644778959e-05 6.37869699441411e-07 3.84507886565537e-05 1.44049451529333e-05 7.90086071899623e-05 3.74784456669325e-05 3.05251731273552e-05 -0.000207849580092371 5.66508683194037e-05 -2.13245427117277e-05 -1.29064334907971e-05 5.04376365296991e-05 1.94976268229247e-05 -7.15038262117227 [...]
+id7257 3.94738811850198e-05 -3.86356989440789e-05 2.32414516040066e-05 1.03486455414406e-05 9.72490398848428e-05 -1.51493313720575e-05 -6.93445507485229e-05 8.03808225877558e-06 4.96914720514406e-05 -9.73844744850398e-06 3.28412944853974e-05 2.78628974728469e-05 2.63781116369547e-05 -9.78527806373204e-05 -3.54131036318649e-05 6.38802034270447e-05 9.46579002935483e-05 1.86782526244397e-05 -8.04587501314157e-06 -6.007896600504e-05 2.03520634901988e-05 1.90620309552725e-05 5.17884738656410e [...]
+id7333 2.04482588699866e-05 -5.48176530009325e-05 4.86772934756582e-05 4.52993287404461e-05 -1.36121586528256e-06 8.58381138726775e-05 6.92389593804561e-05 3.47336530207501e-06 5.68477808245065e-05 9.48080940592304e-05 6.34952810696615e-07 -3.43460075830731e-05 1.27554880915223e-05 2.22160706208532e-05 -1.11766637099844e-05 -8.23695917215737e-05 0.000118280958034033 3.37593337154372e-05 4.27160764249439e-05 -7.25391925321539e-05 6.85667030079988e-05 -6.6123232932193e-05 -2.35746508706831 [...]
+id7355 4.46834859784067e-05 -5.25753253951201e-05 5.18807762394737e-05 3.70953141846921e-07 3.11700206332958e-05 -1.48422698105438e-05 4.66670521699652e-05 -2.51076638822287e-05 4.20624465458146e-05 -2.71137627058561e-05 2.59644850228568e-05 5.94918453163145e-05 -3.73561171878409e-05 2.27868567133601e-05 -4.10666891131772e-05 1.00476491988056e-05 -4.47398840565347e-05 -1.25859855556374e-05 -2.63454417740615e-05 -2.21269641784514e-06 1.80142000957764e-05 3.20814712511994e-05 8.36274916107 [...]
+id7369 -1.05658172292228e-05 -3.16908920247689e-05 6.195901294917e-05 -9.64141493143523e-05 1.84074078228858e-05 -5.48358661268998e-05 -4.34267477371677e-06 5.61760161285564e-05 3.02680807804183e-05 -7.64894102311496e-05 -0.000102046491405783 -6.70530606548624e-05 8.52759097752895e-05 -6.56415865290636e-05 6.09422800498008e-05 8.77863912820968e-05 6.03737208709869e-05 4.19270874984124e-05 -1.6526851288551e-05 -6.29442720741915e-05 -8.44633494285747e-05 -6.52144897067974e-06 1.59091039318 [...]
+id7415 -1.30352623837763e-05 3.71317006593035e-05 3.18736979084684e-05 -3.87481130685684e-05 5.73074334516093e-05 9.40403846582063e-05 -4.22783987526988e-06 -4.12077928709046e-05 1.64725704429720e-05 -2.81341662137712e-05 -1.36250890258891e-05 3.687543132673e-05 -9.71010810618081e-06 -4.49697873077823e-05 4.40668996470458e-05 -3.44140114947758e-06 -1.18106551605924e-05 -3.84733863298137e-05 7.60862806985726e-05 6.3593271672602e-05 -2.19378277853924e-05 1.10401802859435e-05 -2.27021356695 [...]
+id7451 -5.87105750799558e-06 1.50687597187428e-06 4.98390144732516e-05 4.46488378789673e-05 -3.75572465234291e-06 6.33024262759759e-05 -4.46831379239894e-05 -0.000129660604407299 2.48200869903539e-05 -1.49346583816589e-05 -7.95868117838855e-05 6.19850609798074e-05 6.28903710651281e-05 -3.44878240014966e-05 7.99819996311475e-06 -4.76250750345304e-05 0.000110278137106926 -2.55600422913624e-05 1.74559699107580e-05 9.26657572509168e-06 5.58991082321928e-05 -7.01791922240806e-05 -4.6525194694 [...]
+id7499 -4.25882070397065e-05 4.69850330650369e-05 -1.31312505711440e-05 -2.00512309712579e-06 -5.07703917146108e-05 0.000108534809282931 2.61237085042360e-05 -0.000119266522432378 -0.000211251472651201 -0.000337281156484187 5.35685396700273e-05 -4.04460489549257e-05 -1.77403017274368e-05 1.87614171432664e-05 4.89978770702347e-05 4.75844096582356e-05 -2.29862776727763e-05 5.55345478549052e-05 7.61390251761339e-05 -6.45062344080697e-05 3.70821024504826e-05 5.33684855224041e-05 6.0607364125 [...]
+id7507 1.25109853623081e-05 3.80558345740907e-05 -4.14577317067374e-05 5.42749329931229e-05 6.06333914569012e-05 4.35858459983883e-05 -1.31063722960808e-05 4.55278582427506e-05 1.37531023342241e-05 2.27900655530568e-05 5.10361377160874e-06 -5.82453233274218e-05 -6.38046098838802e-05 -0.000246856037146491 -1.07635029045134e-05 7.08006312751211e-06 -2.04683136216751e-05 -5.65405146114186e-05 6.31393334409024e-05 -1.31126408192485e-05 7.21200009491827e-05 6.63691199335583e-05 -3.39100533568 [...]
+id7514 6.31316961903579e-05 2.18748706964362e-05 2.8507576476019e-05 -5.15932042591554e-05 2.65443773854668e-05 -2.14194847759070e-05 9.14415616550858e-05 5.91386930494061e-05 7.85759214969953e-05 -8.26064183346456e-06 0.000106683687070973 6.56762873540992e-05 -7.62317520388288e-05 -3.75320622147274e-05 -2.67061162369262e-06 1.61908238905239e-05 -0.000137889586502278 3.96192500876501e-05 4.4943722837544e-05 -6.91239449068289e-06 4.24967307850827e-05 -4.66001853047063e-05 7.04753385656122 [...]
+id7528 7.43319906833982e-06 5.58366184794053e-05 -9.94559297501276e-06 5.42627168932323e-05 5.62958963076467e-05 5.49907964290844e-05 -3.18818982970483e-05 9.88004699441681e-06 4.19366421857955e-05 2.12894970964687e-05 4.33764384197399e-05 -7.06001863599089e-06 3.87680594556233e-05 2.58455430694144e-05 -5.68321660144622e-05 5.05531224556454e-05 -2.60567355810523e-05 3.47274304053281e-05 -8.8506470381757e-06 -2.91699095576564e-05 1.11806381481232e-06 -3.44563617072169e-05 2.20775006604219 [...]
+id7541 -2.90709182005434e-05 4.6598498649701e-05 -8.29995189887272e-05 -4.33269162559522e-05 -8.96555012621468e-06 -1.64726672695194e-05 -6.32027097249247e-05 -1.35512247063897e-05 2.10892349067005e-05 6.56947830633966e-05 -7.9538024403804e-05 4.63217258426074e-06 -1.95718972764269e-05 3.04938815474889e-05 9.08012861112397e-05 6.29710434663097e-05 -5.72087016677053e-06 1.47155071988558e-05 -7.53280444636324e-05 -6.03058308382061e-05 2.65440862387956e-05 6.86863586920279e-05 -6.8755227800 [...]
+id7546 1.36123334366618e-05 3.22463638387688e-05 -8.51964210024153e-05 -0.000198373637002313 -6.74091120124806e-05 3.22090977001014e-05 -6.40654038594327e-05 6.93045505718301e-05 9.15956930554142e-05 3.70706162950766e-05 1.06702184808970e-05 -0.000139821049016631 5.22933564209647e-05 -3.83208385458499e-05 2.78294173026756e-05 1.83489386058223e-05 -1.9945872735447e-05 -6.18490597673778e-05 -0.000152154674571162 -0.000125225273998645 -7.78207475346262e-06 5.84462529440643e-05 2.05847258907 [...]
+id7563 4.41738472538723e-05 1.21331993910191e-05 1.63830356018128e-05 6.69094952089194e-05 1.826979179257e-05 3.03078462955124e-05 -4.7391607071363e-05 1.52598903706905e-06 0.000128814825788494 3.31526542501948e-05 3.89552453170964e-05 5.81917282502985e-05 -7.75783486881893e-06 1.7970903884414e-05 3.26809871092145e-05 0.000106150349392193 -6.85516346129316e-05 7.8327653757287e-05 6.71113699938104e-05 6.20202366145387e-05 -2.23077082372103e-06 3.4239231135654e-05 5.1575655391999e-05 7.773 [...]
+id7570 1.11110002960080e-05 -2.10555207453548e-05 6.72301798090616e-05 -4.59572302211157e-05 1.67034654391916e-05 -0.000126191984430137 -3.11758853224457e-05 -0.000267562533059864 9.6694289831333e-06 9.67814200515099e-06 -9.2558583273568e-05 -5.42265590125398e-06 -2.37683353817929e-05 -1.32564128232939e-05 4.92571919433333e-05 1.36340422398957e-05 0.000125713989436620 -8.64605115310679e-06 7.90666921686639e-05 2.42850046744492e-05 4.52890540157027e-05 -1.8338282153954e-05 1.7619643023934 [...]
+id7589 5.23516600864628e-05 4.5027193157141e-05 -3.66067532973347e-05 -1.22106209229389e-05 3.34587830225752e-05 2.78483891331685e-06 -0.000100799829303215 -4.09942576370523e-05 5.20872621815e-06 -4.871717976204e-05 -6.03064311224494e-05 -2.55463710851074e-06 -2.27247067562743e-05 -0.000339054563396868 8.55181116973348e-05 2.93622600967581e-05 8.25282675591438e-05 7.5328194720215e-06 -3.21819002093597e-05 -3.06297251111823e-05 3.7171105067517e-05 4.64615710422842e-05 -0.00012861333801145 [...]
+id7598 5.89918033840334e-05 7.65396594989474e-05 -4.81529112306582e-05 -6.61752297463965e-06 0.000100721774240472 -2.25926421996839e-06 -5.53517622997823e-06 5.96347125747637e-05 1.67969527120820e-05 -2.86203961263001e-05 3.0438091933743e-05 -5.98434365194921e-05 5.24357173411505e-05 -9.04458442597608e-05 -6.72133751544391e-05 -9.99547964240904e-05 6.38768919998503e-05 3.16245397529487e-05 4.3327286112287e-05 -3.79147134215435e-05 2.55377680048175e-05 7.83092668967488e-06 1.9888325244440 [...]
+id7607 5.3437941566218e-05 -3.85465789860894e-06 3.16406929822621e-05 -4.81494406011671e-05 7.5149521985716e-06 -2.16207146281093e-05 4.61314525228551e-05 -9.63760443170665e-05 7.7091629733876e-05 -1.47395447713061e-05 4.14686634648224e-05 -7.97949883965299e-06 0.000111816777559958 3.20369434986642e-05 -6.15881907542299e-05 2.34707646898525e-05 6.0213060050196e-05 8.61982758935582e-07 -3.26252403284558e-05 4.42481343789422e-05 -2.04947217548526e-06 -3.18960895248644e-05 3.98934123328553e [...]
+id7623 1.44142054099316e-05 -1.55552911325400e-05 -7.28008452214717e-05 6.2436614959359e-05 6.60698759089164e-05 3.07150875211404e-05 8.24911569472438e-05 4.74439904455135e-05 -2.06777845415399e-05 -6.6339844675921e-06 -3.27044501659614e-05 -4.46837231630914e-05 -3.38450951470164e-05 5.59600704742932e-05 5.41300691586395e-05 -0.000123355723073922 1.65209087782802e-05 -3.10310506361301e-05 1.60711142895396e-05 -3.05078676702502e-05 0.000123864467654116 0.000134023699288275 -2.579953995771 [...]
+id7652 -8.74196870150818e-05 -0.00011655651308054 0.000139823814119590 2.19653466652694e-05 -8.39241466322988e-06 9.00391177069052e-06 -3.46114328282632e-05 1.08565123205347e-05 -6.31577086679006e-06 4.49783069763658e-05 1.39286099056581e-06 4.7466766094958e-05 -8.0508269017385e-05 3.68805719886935e-06 -3.97709591922191e-05 8.86655280108822e-05 7.27515603647754e-05 -7.54251687232558e-05 -0.000166737637238500 -5.7376794272954e-06 -2.89923749276010e-05 1.02378075038772e-05 1.29665748330854 [...]
+id7733 4.80742043870214e-05 -3.57784999620908e-06 -4.35758250766400e-05 -1.03727679811555e-06 -0.000121230105619333 4.43926428313678e-05 7.47320266996865e-05 1.17188414576202e-05 -2.87266932170819e-05 3.89411418810129e-05 -2.43893088152038e-05 -4.93829436476569e-05 3.52014044298057e-05 2.25119747701927e-05 -1.48762677837112e-05 5.14762499619697e-06 -1.97234443464957e-05 -8.54035773669854e-05 9.39830671315835e-05 2.04122725597233e-05 -2.95643958981661e-05 4.53640863190352e-05 -2.205882509 [...]
+id7737 0.000114518688713110 6.34485851961284e-05 3.41927630674357e-05 2.59524983411110e-06 -0.000135274691069481 5.40725878904049e-05 1.73592413136310e-05 -3.04979792317754e-05 7.17627724430756e-05 -5.19278487308835e-05 -1.16480946920275e-05 2.20043466093523e-05 5.0900013296191e-05 1.83511102839152e-05 -0.000128686610591140 -7.75006586958597e-05 -4.18916513592559e-05 -1.20999712658313e-05 2.22641046072937e-05 -3.52009705057308e-05 -4.09178104070457e-05 1.95409182101774e-05 4.538784863808 [...]
+id7738 -2.60478529359774e-05 6.14407576734121e-05 -2.7134244009907e-05 -4.93628695472542e-05 -1.92449698749336e-05 -1.72458419867841e-05 8.76397436434794e-06 -0.000135583668745760 4.10793703893000e-05 4.30529543567939e-07 4.31572522653705e-06 -0.000111843545566071 7.7829826643979e-05 9.50167358157215e-06 0.000108234105719602 -2.13609765085072e-05 3.90542818592238e-05 6.89039762637909e-05 2.67446395484150e-05 5.32382253551755e-05 1.68865185142882e-05 -2.77576844649834e-05 -1.9871743372682 [...]
+id7771 4.47578227400167e-06 2.84352439381236e-05 5.52183817225744e-06 4.71997201557399e-05 3.34087721044308e-05 -3.90185565821236e-05 -3.65698153614279e-05 -5.43631422749776e-05 -5.27883949320957e-05 -4.52689640153964e-05 -5.99371203231998e-05 6.1224845062233e-05 -2.9751369049565e-05 -0.000101800293608911 -3.84950861943004e-07 -3.75941805894718e-05 1.47469241240754e-05 2.74419891393269e-05 -4.42435793088443e-05 -0.000190086291620306 3.98697909502788e-05 4.77283834889865e-05 -4.7578448908 [...]
+id7772 7.6544020227875e-05 2.35794437403107e-05 4.88715265296459e-05 -8.26090627008864e-05 -3.63539574688281e-05 3.20722449586259e-05 2.9191108778307e-05 -5.45311249876255e-06 2.55904919747562e-05 7.37509023281316e-05 -3.0406115187658e-05 4.64105718922682e-06 -6.91116426224628e-05 5.81579723204017e-05 4.982743038322e-05 2.89133989992153e-05 -3.73350213448748e-05 -1.97226119636772e-06 3.05869527658424e-05 2.11356430945542e-05 -6.00040023162766e-05 -6.1731941068702e-05 -1.00689262341795e-0 [...]
+id7801 1.73754768345705e-05 5.28564639757046e-05 4.367067626422e-05 7.16625644635138e-05 -1.50539808818747e-05 -7.81116798891893e-05 -8.05606549643964e-06 4.57082526958071e-05 3.94758796230257e-05 2.93799679228291e-06 -1.95955987688379e-05 9.01844779018041e-05 -6.48631804717664e-05 -1.72103679050969e-05 5.79200478134108e-05 -3.82554032579832e-05 -3.95544678370196e-05 1.83584784831601e-05 6.38473976986322e-06 8.43506128004436e-05 3.38269838186481e-05 8.55728944747019e-05 -1.88113111915776 [...]
+id7814 5.42485296787955e-05 7.31091982273424e-05 5.35924231177243e-05 7.30688164010704e-05 3.41282857452123e-05 -2.69812105462527e-05 -3.75980660497667e-05 6.89531950034587e-05 1.94806904979290e-05 3.11943691863851e-05 -1.97419520630974e-05 4.64403531837221e-05 3.45897579780623e-05 6.86419424415877e-05 3.89622647773839e-05 1.44736778942706e-05 3.81949772268197e-05 -1.52228498873078e-05 4.82358586836634e-06 -0.000121815805650837 1.36438376559786e-05 5.94810865511877e-05 -0.000112467593518 [...]
+id7835 -8.8870403479537e-05 -0.000159811394686310 -6.1804942259129e-07 -4.74724637523218e-05 2.07737688527859e-05 0.00011207902307186 -1.43498298735966e-05 8.24123265738335e-05 3.51963556006447e-05 -5.45566679478245e-05 3.27811870784122e-05 -0.000112751543839894 -2.78639717120908e-05 5.68491802958681e-05 7.054015803599e-06 -3.29938492061099e-05 2.09346641608415e-05 -7.85765322608647e-06 3.07001681861873e-05 -7.99185184525284e-05 -6.52942044614254e-05 -4.4632709657335e-05 0.00011487666365 [...]
+id7850 -1.15339203572344e-05 3.70764453755538e-05 -8.64460222703744e-05 -0.000170668507705212 3.95292223485967e-05 -6.72567141472076e-06 4.16502464240558e-05 4.13848780295502e-05 5.76137155448951e-05 3.96930506112442e-06 8.63250228518924e-05 -9.36415409705452e-05 5.02214935554895e-05 -0.000182442092175217 1.7725382545659e-05 -2.92386996985533e-05 -1.04128823826479e-06 -1.71939885410476e-08 8.0550102649129e-05 3.16176383350926e-05 1.84024382967819e-05 1.03505688905587e-05 -1.5706073347455 [...]
+id7868 2.7907240183659e-06 3.38648370727251e-05 -7.9375238638939e-05 1.59107769103821e-05 4.58035209335539e-05 2.68511017037232e-05 -5.74707013503362e-05 2.71975412112511e-05 -2.28964439049585e-05 9.38388261611788e-05 5.11482635501134e-05 5.29958491115781e-05 2.09864363774729e-05 -0.000158256498819186 -7.35289243668457e-05 -1.08530020493116e-05 5.55219840520391e-05 -0.00011873781102037 -0.000180325954173334 6.30357139361108e-05 8.03932468102713e-05 -7.29901753721087e-05 7.81646689879747e [...]
+id7909 3.74142976257993e-05 -8.14844189079976e-06 1.25180883616737e-05 2.88213372778103e-05 4.45585056583979e-05 1.61807452252063e-05 2.64229247512270e-05 -0.000106629194131943 -6.23348486074339e-05 -4.15540649717504e-06 -2.80109845222839e-05 -0.000114805630751670 -1.09636328339284e-05 -2.53033142418454e-06 3.04948152676817e-05 -2.63603138742433e-05 2.15860874384622e-05 -0.000113700290885645 0.000109392989847109 2.15772017041357e-05 -9.48388557983471e-06 9.49196743868319e-05 -4.661902353 [...]
+id7939 5.67464509648834e-05 0.000108131583735162 9.61364640274514e-05 -2.72773417349465e-07 2.00057358408268e-05 6.97121817354855e-05 6.42471837135029e-05 -2.04742055816785e-05 7.03764610582893e-05 5.60055844219747e-05 8.53802253480313e-05 5.33818513536588e-05 4.24490881995729e-05 -3.55238420280458e-05 4.17944755855477e-06 6.34980441063666e-05 -0.000260141453033733 2.29713423468125e-05 -3.14766890031321e-05 1.31771691252999e-05 6.2383280466155e-05 -0.000152633344368575 0.0001267251790076 [...]
+id7949 5.30650445800214e-05 8.03992184189135e-05 0.000140049900860225 5.79129408732308e-05 3.5427274568059e-05 6.10488990216237e-05 -3.75266095764746e-06 -7.71912123517114e-06 6.4695075546216e-06 -9.11350205046695e-06 9.09653004444077e-06 -1.16077829864511e-05 -2.714640826827e-06 3.59744602275328e-05 6.15961204752198e-05 -0.000378218481697644 6.8384967437627e-05 -1.96526898538933e-05 7.89837184060452e-06 -0.000130460684544043 0.000100038394985636 -1.58888416481275e-05 -2.50869851059941e- [...]
+id7952 -1.59728011841735e-05 -1.21358151054549e-05 -2.12709778316229e-05 5.47458697948514e-07 1.48688217205247e-05 9.09487385938482e-05 2.07254727992785e-05 3.09292126749547e-05 7.05928691098364e-05 1.54811015185262e-06 1.49621652933502e-05 -9.29043580218406e-05 3.3661322228333e-05 4.6263236040611e-05 -7.15017524781836e-05 -6.90338327029071e-05 -2.13906576594028e-05 2.47672533349199e-05 7.06331665680942e-05 2.67146606183486e-05 1.73888769559999e-05 -2.60711328810129e-05 0.000103075287035 [...]
+id8059 -5.71928622153213e-05 -8.676142317759e-05 8.84289436964922e-05 -2.37698563496233e-05 4.56604591520146e-05 5.83242222130034e-06 -7.4464163095102e-05 4.56501499230539e-05 6.10050433587537e-05 -1.54487628133768e-05 -5.97937673354159e-05 -7.36609347775946e-05 -0.000160428610445887 4.1716772366369e-05 7.57391344582907e-05 -4.14207069411015e-05 5.21671364849965e-05 -0.000129757376559181 6.4495368541883e-05 -0.000106412480791515 2.59982384898371e-06 -4.12164768784453e-05 -2.1212951308777 [...]
+id8109 -4.07304899591825e-05 -7.91722860740673e-06 3.51133835065517e-05 3.00768504789592e-05 1.11847681445815e-05 -5.62648287035815e-06 -3.67127774792767e-06 -4.11359123473023e-05 5.96258611199474e-05 -9.42348879342861e-05 -3.26403232532013e-05 5.07449352499719e-05 5.43950002668402e-05 -0.000108306513642539 1.74574462112179e-05 2.63447622759921e-05 0.000108590176465049 0.000107740542686221 1.08649451608256e-05 -1.75565858402252e-06 1.90493838413158e-05 6.94379589029443e-07 -0.00011690880 [...]
+id8115 2.79697284442653e-05 -3.65676872715967e-05 9.94574129059315e-07 5.03273838069172e-05 -1.63781870230339e-05 2.92080704529232e-05 5.37372250950223e-05 -2.72372933805132e-05 8.11779717874482e-05 6.37950356076197e-05 2.58098427293893e-05 9.38193659941973e-05 3.86629230343422e-05 2.3791552064956e-05 1.54169150690916e-05 9.04386505122914e-05 5.31018003307426e-06 4.43403566203557e-05 1.60469867508596e-05 1.26013640491376e-05 2.92871217006506e-06 -2.94019909077422e-05 7.5867300941686e-05 [...]
+id8128 -6.33007192303883e-05 4.0531358650719e-05 9.39088220666567e-05 -9.49774029811986e-07 3.79996522539454e-05 4.14601251694800e-05 -0.000113367791657051 -7.45053120726455e-06 2.73311922666568e-05 -2.77665645469103e-05 0.000150636010279682 -0.000200361771662998 2.72665381940079e-05 -7.61433293284194e-05 3.19923413127662e-05 8.37761378501397e-05 0.000121958623303737 -4.22080383782129e-05 -0.000156610680180905 8.24330912133366e-05 -0.000120445124370159 4.13929359827562e-05 -6.94821325730 [...]
+id8136 3.8080397817566e-05 4.89340021534083e-06 6.98576756946866e-05 -1.30941313745046e-05 -0.000263234990323031 4.4503539544369e-05 9.75751040176971e-06 8.38834076905938e-05 0.000102048937511391 7.95698044187001e-05 -7.32652048314807e-05 1.55636478471099e-05 -2.45982365312272e-05 -4.09287018304963e-05 3.13899480831455e-05 4.79294417797859e-05 4.84656618433053e-05 9.68330936807092e-05 1.29636552386129e-05 1.52086021161964e-06 -1.85769056380186e-05 7.96533135725447e-05 -2.53569271872462e- [...]
+id8138 -2.36269446650998e-06 -5.97246543092056e-05 -1.68616763704864e-05 3.86467997063545e-05 1.68993689855239e-05 2.97170537753301e-05 -8.29853443312675e-05 -6.35812562139725e-05 -2.70086164118087e-05 7.52640149575073e-05 -6.58038267711318e-05 -2.18087007685236e-05 2.88489764777625e-05 -0.000170149262906238 2.83691130413343e-05 4.60115581978272e-05 6.45845972229334e-05 -8.86760740648225e-05 -3.35468637731355e-05 -5.93953679669614e-08 -2.47411871268332e-05 1.26010205312898e-05 1.78486491 [...]
+id8143 7.19798462061088e-05 -1.30099320832142e-05 -1.74560488944890e-05 -3.59586869805578e-05 -1.95338484446044e-05 8.65943417838461e-05 -5.2153708544421e-05 5.90085501499134e-05 3.33844510122340e-05 2.76701342461092e-05 7.21083043522221e-05 -7.82964329928888e-05 -1.36400745144706e-05 -3.71878807179467e-05 1.24670916583705e-05 -4.48663055694889e-05 4.21383936975315e-05 7.9758398974824e-06 3.21645045865647e-05 2.64043882104118e-05 -0.000124499927480418 4.42298911382744e-06 -6.345241233228 [...]
+id8208 -1.74121940163408e-06 7.29492469131523e-05 4.46634377317317e-05 -1.97834544772253e-06 6.78711728040909e-05 -2.72831472103349e-05 2.02540025916533e-05 -0.000110737530847574 1.46554665403649e-05 -1.30892456748357e-05 -3.39686392878485e-05 4.45540597508764e-05 8.6819377869516e-05 5.68439147794856e-05 -8.21623955984316e-05 -1.82590675945758e-05 -8.05802161013689e-05 0.000123148587024945 3.25392242647008e-05 7.17762893532076e-07 -8.7924659587383e-06 6.06479590208773e-05 -8.597528478740 [...]
+id8213 4.28520788268714e-05 -2.88200826558689e-05 9.70891538764539e-07 -0.000102228954647308 1.90277862726952e-05 7.85830701128215e-05 1.45631446935375e-05 4.57399465374298e-05 6.12554182803459e-06 8.03163734330916e-05 8.95593697833702e-05 -3.86333124160611e-05 -4.87441037427544e-06 3.86896309126622e-05 9.85290417297703e-05 6.29363785153268e-05 -3.84391255783495e-05 -3.82901785369769e-06 -6.32523408811589e-05 4.9549522298568e-05 -3.91797744708259e-05 -4.31584518186895e-05 4.1594658168219 [...]
+id8268 -3.56945215111395e-05 6.55733416277694e-05 -1.42205103032392e-05 6.93673271178484e-05 4.24487386270099e-05 -5.47869045609413e-05 2.27959558981368e-05 5.75019993506594e-05 2.35546566040240e-05 4.72796449930438e-05 2.39351250180995e-06 4.38352007813022e-05 1.20587822266610e-05 4.14837808584604e-05 -0.000327015698820867 5.89016333914676e-05 -7.3583299206394e-05 -9.43536048013453e-05 -6.43316227878531e-05 2.07505328789018e-06 -2.15319095170295e-05 9.03329888218772e-05 -1.3805769795009 [...]
+id8281 4.79137098515165e-05 7.76696894520732e-05 3.52513534315502e-05 9.63189880913299e-06 7.60570691919457e-05 3.80336047233742e-05 -5.73783502077607e-05 8.67987982702052e-05 -7.28227079021838e-05 -8.26821276794069e-05 7.72882531400612e-05 1.82363816819543e-05 -1.12357991215854e-05 5.59826536773678e-05 -8.19872125318622e-06 2.59573599456242e-05 -8.99867531285916e-05 6.0720678692596e-05 4.54405984461898e-05 -5.81352927825397e-05 3.77783566326512e-06 -1.06026074121691e-05 4.89769088389888 [...]
+id8286 -1.78933702588758e-05 -3.19678887267551e-05 -2.85972138134823e-05 3.83247149873989e-05 -5.99850176844548e-06 -6.5891231188795e-05 5.91683830797876e-05 -4.69304292332107e-09 8.30274153728948e-05 -4.19439804723592e-05 -1.43031597947719e-05 8.87176105576577e-05 1.9792217369504e-05 5.3138105243277e-05 1.47612403973643e-05 5.6061558718718e-05 4.38058590076139e-05 4.69877448086915e-05 -4.90151390804252e-06 2.14223043934016e-05 2.97802123644021e-06 6.32357136577442e-05 2.29952143223560e- [...]
+id8326 -5.15665758546734e-06 9.31660920358286e-05 -4.89173105845558e-05 -5.03500187399599e-05 6.0560284842722e-05 2.92658064434403e-05 4.38841477714172e-05 -4.15198225693327e-05 2.40901782207502e-05 -6.52586510057914e-05 7.38174222635693e-05 7.73937594805703e-05 -2.48228845430046e-05 2.16168035698093e-05 9.5532995754849e-06 -3.49137011757100e-05 -0.000387981059326333 1.00821674061475e-05 4.13161509242096e-05 1.16363820223519e-05 7.35148955653139e-05 -1.95179363767470e-05 -5.1955989034075 [...]
+id8400 5.75686719921401e-05 6.37351803013642e-05 -8.48655930003262e-05 -4.1340946127239e-05 3.38042714270203e-06 5.09321146880835e-05 4.31193967079584e-05 -6.42066632499321e-05 -7.94982009933523e-06 -3.26056744622466e-05 2.68798940422282e-05 2.39662732639443e-05 -5.49908042707468e-06 -1.31847259249965e-05 -8.81905736462032e-06 1.57602328841881e-05 1.16780580503470e-05 3.66283992092884e-05 -1.92004421527071e-05 -1.06547218263529e-05 6.32221203369511e-05 -0.000172195231589205 -1.3297292836 [...]
+id8423 4.44936100519528e-05 5.49632459735885e-05 0.000109527788137410 3.15110121230032e-05 0.000102950033157161 5.36957989742461e-05 1.66401074124183e-05 -9.46626636755758e-06 2.90238222793378e-05 -4.92642856974173e-05 4.57541565205881e-05 -9.94246481790905e-06 1.19384182517518e-05 3.03120651367302e-07 -5.62040122635237e-06 4.13679268064341e-05 -5.26519653498968e-05 1.95635129763304e-05 -1.24333050154132e-05 2.68121679332692e-05 -1.90079693466627e-06 5.5550199626627e-05 -1.48672541776975 [...]
+id8433 -6.46235497251099e-05 6.46867758569858e-05 2.84974035591245e-06 4.62727539983507e-05 3.20586537649939e-05 8.14706094263298e-05 2.63113472045966e-06 3.72639152797639e-05 6.11434692539742e-05 8.78772575265797e-05 5.87589993563397e-05 1.51294839951711e-05 -2.55620263865536e-06 8.76712334366396e-06 -2.83162441104218e-05 7.49304663485496e-05 -5.57103084899872e-05 1.75060705582697e-05 0.000106974659678488 1.21245699664270e-05 -3.07284404269815e-06 -4.18597130641665e-05 2.92040628941983e [...]
+id8517 -2.67180110646163e-06 5.99407082280232e-05 -0.000184044903880095 -5.70370717974643e-06 0.000118485415296601 9.53381283927783e-05 9.88570273089745e-06 -9.45444264941998e-06 -1.92489419670442e-05 -1.39882628709834e-05 4.63364305940693e-05 5.0558170525362e-05 -1.33164500891687e-06 2.47288030120055e-05 -2.00244162919280e-05 2.14134010162998e-05 -3.39620954436370e-06 1.66688808403758e-05 1.10548032157508e-05 -4.10860251431035e-06 -1.01574276991744e-06 9.47145131874512e-06 0.00010105835 [...]
+id8583 2.33679819994886e-05 6.39108663819537e-05 4.51838006216912e-05 2.92693063419087e-05 0.000101584989953955 5.21969428505211e-05 5.72099608257085e-05 8.89126375202394e-06 -0.000124616025634745 -1.00178861911744e-05 -3.89808768490167e-07 -0.000124522874105146 -1.03786964886306e-05 4.1111967288128e-05 8.18087650657455e-05 -4.27425015045698e-06 -8.6935710140625e-06 3.51592141986968e-05 -8.41458382884794e-05 2.26413173726949e-05 -9.20430296849357e-06 2.36415245551163e-05 -0.0001258491962 [...]
+id8604 -0.000140812914088431 0.000115197510841662 -0.000136759621348016 2.26212825370696e-06 5.7310985640359e-05 -2.81913998145690e-05 2.22335497629489e-05 -3.37903189729009e-05 -0.000117277142334872 0.000112792184241265 2.08936519671524e-05 2.92980645818619e-06 4.01447567606633e-05 5.58835892251872e-05 5.75996322771816e-05 -3.83743883207231e-05 9.28635513464078e-05 1.70918178258417e-05 4.80303881930927e-05 -3.20088513881673e-05 4.47613014764187e-05 6.43040965828004e-05 -4.48836900609185 [...]
+id8614 6.01052756265009e-06 4.66677260448955e-05 1.95609379882249e-05 8.59794010677755e-05 -0.000202695707457046 1.93580311117450e-05 1.72455754107162e-05 -1.33163405962481e-05 -7.10641685220536e-06 -6.03556406407677e-05 0.000147492895864384 6.19112718390785e-06 6.54549723219344e-05 -0.000142487261871412 6.47346515023739e-05 2.03902662983291e-05 7.65546263798807e-05 -2.32657765592091e-05 -4.13169128778667e-05 7.62257942744934e-05 -2.70521754345652e-06 3.60556720680013e-05 -7.459035905064 [...]
+id8690 4.67342592040397e-05 -0.000138859663830304 3.03939132639537e-06 3.5607698781049e-05 -1.93391054840676e-05 5.6340004320433e-05 6.61988815158129e-05 -4.93643574307448e-06 -0.000247406930251064 0.000123152032985086 1.98289165133049e-05 1.30601184779029e-07 -3.47560058746756e-05 1.85378642842004e-05 -2.53465944733886e-05 1.24906838269102e-05 -6.80684190697019e-05 5.57069867646128e-05 4.27184718150273e-05 -2.3908626914272e-06 -4.65226958137025e-05 9.98529413839946e-06 -8.0346360363416e [...]
+id8693 -3.15144973337887e-05 -0.000168435340360918 -2.77273020068009e-05 7.8002827815312e-05 -2.13065240908373e-05 0.000139644099293926 5.76330677889971e-05 -2.24898510410869e-06 -1.72776098310946e-05 -9.63936565226613e-05 8.14041821662983e-05 1.71748901089429e-05 -0.000237031673651273 3.71365269563411e-05 -0.000107840073018613 6.05734303497722e-05 -0.000112338871779186 -7.67809151616336e-06 4.99204640488669e-05 3.59684958854000e-05 -5.2133413572062e-05 4.42164939046661e-05 -1.6470467028 [...]
+id8729 -0.000107643162810728 6.99077539975225e-05 -0.000122395306793631 -0.000147166749327459 3.81843156446381e-05 1.54084716478487e-05 -4.33130749885384e-06 -7.73430531450496e-05 3.02482085004234e-05 -6.22100450186426e-06 7.81848439273413e-05 6.01901896976743e-06 4.48918225093605e-05 -7.67380402627713e-06 5.95368047791403e-05 4.1928981539612e-05 5.25265258128763e-05 0.000141308103205134 -2.17146892515719e-05 -3.21491937085559e-05 7.01206681697765e-05 -6.10915308401222e-05 7.692893293421 [...]
+id8752 1.66740580045953e-06 4.22235956570371e-05 9.03060330659616e-05 -9.34117209103821e-06 -3.00825090186499e-05 1.91564758753971e-05 1.63060902835139e-05 -4.49113251402574e-05 -9.51401915862506e-06 1.93961754965103e-05 4.06940788138888e-05 -7.64700437269073e-05 2.43623496775454e-05 6.35162280848695e-05 -6.15397360480679e-05 -6.38241356961669e-05 3.38093001444059e-05 4.11662285346408e-05 8.91569480945569e-05 -7.43340376886376e-05 -8.49326400013402e-05 -1.89854304175104e-05 -9.4295260090 [...]
+id8753 3.26270367543907e-05 -4.47755007107943e-05 0.000109961642095055 -6.38683185837094e-05 -9.33398714138383e-05 3.51360724852814e-05 -6.8621162500902e-05 6.66070393151303e-05 4.47641371742905e-06 5.64833009903305e-05 -7.06304737444934e-06 6.90063879013023e-05 5.89661798434222e-05 5.3755024993878e-05 4.10298286341072e-05 -1.85658104352320e-06 -5.34182127209832e-05 -2.98103760080136e-05 4.42089793443155e-06 -8.59089141853689e-05 1.71263417808498e-05 -0.000116578345974077 -0.000102465668 [...]
+id8772 8.34292590354997e-05 0.000119918904192823 4.7028603730262e-05 1.06134266213135e-05 3.94277231563156e-06 2.48923172789927e-05 3.38991933933249e-05 2.21869561375867e-05 -5.16084095342402e-05 -1.45902220685320e-05 5.00971124082926e-05 7.21811379395611e-05 -1.94827937557856e-05 6.29714516416829e-05 3.60181840652203e-05 4.25724078980403e-05 1.92682086420578e-05 0.000149647220335906 -6.9094991775615e-05 -3.38252303302340e-05 3.80703989345236e-05 7.90574703874959e-05 2.51869138101923e-05 [...]
+id8801 5.41819017871879e-05 -4.69880066295627e-06 1.39790554406024e-06 -4.78120517494282e-05 -4.42918705431866e-05 -0.000149573207290621 -1.80619010495584e-06 2.12759501181468e-05 4.9710060250317e-05 -1.36886946498838e-05 -2.77099529318285e-06 1.79996234414511e-06 -4.84041801626895e-05 -1.33263339665344e-05 2.66105155902149e-05 -5.04392614022905e-05 -3.34723885138311e-06 -2.98538276629152e-05 4.10359071907846e-05 1.79414249511403e-05 -3.17370548794172e-06 -9.85831544283627e-05 7.93349371 [...]
+id8819 1.60061307691061e-05 5.69410749378995e-05 8.91729849377716e-05 -9.78760993024603e-05 0.000131172361818428 6.5810817553976e-05 4.91002635415126e-05 -3.4236825061009e-05 -2.18856088144039e-06 -1.89075936825911e-05 -1.82730821128278e-05 2.19329791708360e-05 -5.11720749760101e-05 -8.96113364268371e-07 3.11652263790417e-05 4.35780019590105e-06 1.55381898225037e-05 2.35413289870454e-05 -8.60758813886728e-05 -3.86846040249271e-05 -1.17520526355809e-05 7.64072438993513e-05 -5.222072184745 [...]
+id8842 1.57932849042834e-05 -2.2359380802394e-05 -0.000157281776299325 -4.67965185184166e-06 -0.000146255196764668 -4.12187395644361e-06 3.38003234469883e-05 -1.33325494134667e-06 6.014324249925e-05 -0.000113683311241586 -2.44119825831752e-05 3.72967843581046e-05 2.26572704323621e-05 -2.94376025046324e-05 8.54645041675932e-07 2.76785699990143e-05 5.05521637562263e-05 5.26489413990815e-05 9.981658607186e-06 3.55269565956673e-05 -0.000123981535727389 -9.55905079894392e-06 4.24468551049331e [...]
+id8859 -0.000114274008852571 3.00474208129841e-05 2.29328808081274e-05 5.65580070761602e-06 7.12095430675182e-05 4.10722102407040e-05 -1.73477891655735e-05 2.77344152466473e-05 -6.0800287282597e-05 -3.57916329560318e-05 -1.03520133587262e-05 -0.000112288894532366 -3.15601855744404e-06 -3.19907422113093e-05 -3.1887381436529e-05 3.0889154940959e-05 3.87499891849898e-05 6.1094842364353e-06 3.79032642661885e-05 1.58397242324435e-05 -2.50516842463741e-05 1.30327366783932e-05 8.75737857859964e [...]
+id8865 -9.47625870957498e-05 2.20418424867677e-05 3.83447538560876e-05 -0.000125280010139645 -3.89210627374242e-05 1.44407383490840e-05 -6.0336585042728e-06 5.72836712304723e-05 6.93333859592327e-05 -2.70889947530952e-05 -4.04274470957347e-05 -7.42715235119894e-06 -5.46599379342958e-05 1.60775194090232e-05 -2.73631440582359e-05 2.74235405328313e-06 7.07270817405451e-05 -0.000110551874851972 -9.89191138626394e-05 1.9965187252893e-05 1.01997378666523e-05 1.82940803468149e-07 2.910414484006 [...]
+id8880 -8.50916120791159e-05 -8.65258097316308e-05 -3.82965347861041e-05 5.97538737125248e-05 4.07404452399814e-05 7.72178677240232e-05 -1.26096219170992e-05 -0.000122882221622646 3.73886535008763e-06 -0.000102831849110799 6.87944391386295e-05 4.10686311846627e-05 -8.29602399345628e-05 6.80984049486579e-06 2.48401086969391e-05 -1.32622565245111e-05 -3.26433628502393e-05 -2.94629566684716e-05 5.31959404976966e-06 -1.42632685939310e-05 7.47773164213394e-05 6.18573238993851e-06 7.9926723050 [...]
+id8890 8.1141930013353e-05 5.33015559411986e-05 -6.84858202714952e-05 -5.20202805923652e-05 3.09949176701298e-05 2.76855715278601e-06 4.65269244782739e-05 2.18316747347496e-05 4.10982999811056e-05 5.9782777027866e-05 5.40358460016438e-05 9.03267375957273e-05 -0.000100994135795398 -2.4321361350211e-05 -9.12855985763723e-05 -3.2765185807721e-06 -1.46107681469182e-05 3.70807187949754e-06 -6.19070002508206e-05 -3.66828727554837e-05 6.07284520804659e-05 -1.84504327676216e-06 -3.03522978273242 [...]
+id8894 -9.24800504618967e-05 -3.28364894912215e-05 -5.38814680806753e-05 1.29957872369408e-05 -0.000193072783460236 8.18445714162251e-05 -8.62387154192671e-05 9.48760742034631e-05 -2.58351133354281e-05 -5.27345260610761e-05 2.44474180441864e-05 5.22313513171324e-05 -4.3423287311736e-05 -2.08103174744535e-05 -4.54132194470127e-05 7.07775871690175e-05 5.13021907790185e-05 1.52337467175246e-05 5.87480587807338e-05 -0.000119612986375393 2.83630130672477e-05 7.6781459966319e-05 1.138481796695 [...]
+id8917 -9.83526182511095e-06 -6.98353727446069e-06 -1.79884589402403e-06 -4.73222864346627e-07 9.27354170012685e-06 7.55915451993557e-07 -1.55254662636764e-05 -0.000154679416726297 -9.03600778852316e-06 -1.91093241264875e-06 5.52407861764544e-05 -0.000146929676951530 -0.000170641545458182 1.01937484751699e-05 8.04598918033677e-05 0.000112588133113185 -7.80862165608363e-05 1.21488887408757e-05 6.93383181755561e-05 6.31039092291277e-05 -9.2913497231402e-06 6.07448247807238e-05 1.5867305011 [...]
+id8930 5.25181593724522e-05 -0.000181430539693219 7.06777021157737e-05 3.06644074472407e-06 -8.75860454126746e-05 3.89509214720064e-05 1.87228279553188e-05 6.64055255963179e-05 -2.50419748061138e-05 2.87774553760511e-06 1.42821390170450e-05 1.36480879862192e-05 -1.93341811470243e-05 -5.26019595120235e-05 1.33081572279190e-05 -4.6152299925242e-05 -5.94241437784489e-06 -8.6465584406831e-06 4.41853766943891e-05 -1.72451671455255e-05 3.91139074976921e-06 3.31401256627795e-05 1.08324943425069 [...]
+id8935 -6.53869489217815e-05 2.61916395056976e-05 1.16875414103253e-05 4.85410620595001e-05 7.11825939748533e-05 6.60073637748126e-05 -7.11535681565342e-05 3.83906074213407e-05 -7.5242050370571e-05 1.7639852473731e-05 1.23167244543763e-05 -8.9385286235168e-05 -0.000100675805667895 6.06704887346417e-05 2.54926817821252e-05 -5.44981535230459e-05 -4.12150095925406e-05 4.68632702030846e-05 3.48997773644899e-05 1.50253959686591e-05 -1.02465942464272e-05 0.000133445053137959 -0.000122926745409 [...]
+id8957 -9.11146014030672e-06 1.56328988783731e-05 -1.22461576386616e-05 -8.51414131428678e-05 3.05938281412528e-05 -2.14759157077131e-05 -5.15881821612879e-05 -1.64526362936012e-05 1.68251037906921e-05 -6.09701809328819e-05 2.19884530877527e-05 1.95452321929775e-05 -5.62132683583984e-06 5.56325628667728e-05 0.000112370921970518 0.000108024441989691 6.40715306620504e-05 2.72695857662814e-05 -0.000134510613981425 7.2886669840164e-05 3.33844065696622e-05 -5.56853416056994e-05 2.004527983049 [...]
+id8996 5.6829504471745e-05 -2.45838675844505e-05 -3.16485339184261e-05 3.68506514393552e-05 1.99627711423438e-06 1.7429174138902e-05 -5.06143694699136e-05 -4.96812466873877e-05 -5.78592170729153e-05 2.95121294868320e-05 9.74985749268618e-05 9.1754835954549e-05 -5.46869976488156e-05 -7.9540458018044e-05 -2.43929522390053e-05 6.27053710228277e-05 2.90712781129736e-05 1.69942977561444e-05 -1.48652585090938e-05 -6.03006657235942e-05 -1.50578253340212e-05 7.71702972179508e-05 -1.2781056854638 [...]
+id9020 -4.29192446438327e-05 4.3227904883049e-05 6.1626969340158e-05 -4.9246448188585e-05 3.96028410894416e-06 4.14492818297501e-05 2.87878975978818e-05 1.92902941368153e-05 7.74327935601182e-05 3.68250864549542e-05 -3.31657063369789e-05 -3.42972903982617e-05 6.21532335100325e-05 6.02760231615468e-05 4.28025228160295e-05 4.1018506007432e-05 -7.42013387976348e-05 -3.50581112978001e-05 3.49296693739128e-05 7.15648497484171e-05 4.41554134693297e-05 7.88306694873257e-06 3.87547110456618e-05 [...]
+id9026 -0.000163775630216965 -2.03387012645713e-05 3.46450680538368e-05 -0.000195767256095357 -7.57392235478212e-05 7.14529301821574e-05 -3.87026270329252e-05 -6.5015105152667e-07 -8.60626626720296e-05 -2.13310934974931e-05 9.26673977471277e-05 2.45886804712125e-06 1.37780344576092e-05 4.08545554179674e-05 3.25755790299374e-05 7.15426860845668e-05 1.30859140558160e-05 4.66677018765667e-06 -0.000137543397878329 0.000111872643342669 2.64599546581578e-05 8.65960639827127e-05 1.9618733602802 [...]
+id9033 7.27421453200218e-05 -0.000105037618458648 7.83151431569038e-05 1.08085301932679e-05 -3.61456130115633e-05 3.14716994053250e-05 5.53003098508662e-05 -9.16655174057527e-05 -1.77037328418837e-05 2.39744767548309e-06 4.936881441751e-05 3.40472748908936e-05 -5.63341771052141e-05 5.69401659465855e-05 -4.0411118907264e-05 1.13642403869346e-05 3.74219651151120e-05 2.22639222617783e-05 1.11198193574859e-05 1.04663428875812e-05 2.89412851078992e-05 2.33084253479534e-05 3.6667742129551e-05 [...]
+id9058 -3.9318648008536e-05 -1.29409954729533e-05 3.06312961076278e-05 4.08244708551789e-07 -9.1936733043442e-05 6.16432841070382e-05 4.50512088075465e-05 -2.93151891681629e-06 3.67610176999989e-05 -0.000126892205770323 7.02863979835631e-05 2.67044166241444e-05 2.74336037405981e-05 8.49537388003637e-05 -2.77442162309112e-05 5.45403579447574e-05 -5.1406736592081e-05 -0.000133017420410465 3.62045765299088e-06 3.96401982823729e-05 -2.87978669648948e-05 -8.85932046869834e-05 7.47441632111316 [...]
+id9061 -1.57704563562788e-05 1.08875441987827e-05 2.64680233363604e-05 3.55939473207458e-05 -8.51619533940723e-06 -0.000182670193587516 -3.00748177235004e-05 3.42831579033414e-06 2.62549660781154e-05 8.12480180390852e-05 -4.38704712292664e-05 0.000107612920413389 4.32882461244050e-05 2.57849589376039e-05 8.136444840818e-06 3.36946375479598e-05 -9.19276273421233e-05 -4.05771593237157e-06 -0.000397133630426532 2.31674302478645e-05 1.49973129886404e-06 4.7590386873281e-05 8.83283034751407e- [...]
+id9082 -4.19495074783056e-06 4.30851435504195e-05 -2.94762472728930e-05 3.61369111351553e-05 1.63216446332866e-05 -6.72162274700991e-05 7.9321464455335e-06 1.54523872015426e-05 1.36823311704766e-05 2.34329870574798e-05 -3.85075611796783e-05 2.82685094718626e-05 1.23577459670686e-05 9.19980435110944e-05 -5.89565852912649e-05 -0.000286484865431019 0.000100383938572277 2.63584973336431e-05 2.86656638719103e-05 8.92627737645205e-05 -2.82534863885863e-05 3.67366145862202e-06 3.99604599447931e [...]
+id9132 6.09256639281592e-05 3.41023903373798e-06 4.46696280537439e-05 -2.11933687651754e-05 5.46021736494933e-05 -9.13574089595403e-05 -2.27513880557298e-07 -2.04546687021961e-05 2.31475604505137e-05 -8.20653596170516e-05 -2.39431757648663e-06 8.5546383291402e-05 6.41444032520055e-05 -0.000187595220714613 -2.12254217906990e-05 3.00960015124972e-05 4.44532484080714e-05 1.41506904324029e-05 -0.000108947823227506 8.75204441357038e-06 3.88929990746401e-05 -5.24723593525274e-05 0.000116080750 [...]
+id9166 -8.02853661171895e-05 -0.000277519373124283 -9.70958186569744e-06 -7.96745409079744e-05 8.34121984590908e-05 -0.000129321462183395 1.83494701291080e-05 7.21827718054327e-05 0.000125090884175065 -8.7563498163834e-05 1.22160751680750e-05 -9.18336902687788e-05 -1.19457680561233e-05 0.000107220647963201 7.30368971074946e-05 4.17302675244218e-05 -0.000115818147168931 -0.000172548503896113 5.00115914771072e-05 0.000137668199824639 1.04350432635711e-05 2.09391630175504e-05 3.189961747954 [...]
+id9178 1.59881318823181e-05 0.000113719108298262 0.00010620314403027 3.11099029263451e-06 6.87152487835425e-05 -5.53809604786764e-05 6.50761534229088e-05 7.87737559290753e-05 -1.7178101798934e-06 7.16631947870743e-05 7.32244432042444e-05 3.50024042035192e-05 5.3380076191363e-05 -3.10968825879101e-05 3.79419708433169e-05 6.12413793715862e-05 -9.09314727549079e-06 9.20352347484566e-06 2.90431462497985e-05 8.67053374269434e-05 -5.82650182024705e-05 4.6272884795664e-06 4.2264685126519e-05 -0 [...]
+id9234 -3.73045386092065e-05 5.89730199848292e-05 -0.000120072789983699 6.81041009235093e-05 1.53172964663212e-05 -4.38874477692476e-05 -1.09222349140728e-06 -0.000109550447697171 0.000134513988218166 2.30029073246264e-05 -1.63401454949773e-05 -8.79335574605861e-05 5.31386373153925e-05 8.0975181612612e-05 -7.08586821599618e-05 6.70795207959262e-05 1.91196208430457e-05 -3.5033141791834e-05 -6.07964966254439e-05 5.01077074870913e-05 -8.19311713645733e-05 0.000121086754622301 5.576649024407 [...]
+id9238 -1.61911867428673e-05 5.03728370232792e-05 3.80981469616905e-05 1.30998207496746e-05 2.41617653516963e-05 6.94538951810473e-05 -1.02114710497802e-05 6.6092519334454e-06 3.0433560651071e-05 2.26710678508888e-07 1.91731210899273e-05 5.35962567123869e-05 3.52440171355571e-05 5.38639551447534e-06 -1.90483622156239e-05 -1.87844414271136e-05 -7.36676134858877e-06 0.000110890438259531 3.75524952951607e-05 -3.86455219049406e-06 7.13721757260506e-05 -1.25496977864303e-05 9.5369839157521e-0 [...]
+id9242 6.17620672834314e-05 6.23428651851687e-05 6.15746669725206e-05 -0.000103973177575012 1.47243201274676e-05 -3.21976276257828e-06 5.14379358760559e-05 -4.49899416886354e-05 3.31993293447665e-05 2.97051985922768e-05 -6.07371820868439e-05 7.34621330188945e-05 4.93352640180686e-05 -7.47653919550726e-05 2.15409556703138e-05 -2.04182451576431e-05 9.68700874333908e-05 9.29381014314844e-05 5.46301943913797e-05 3.9809606918303e-05 6.38583926953013e-05 1.93879908372527e-05 1.3381795257887e-0 [...]
+id9259 0.000104570147596396 2.52803184630288e-05 -5.92122453775554e-05 3.16129833074445e-05 -3.51841894198003e-05 1.56589285623324e-05 8.82169376196099e-05 -4.09219277309503e-05 9.92689993283916e-05 7.94198068117088e-05 -0.000115223004255187 7.26209008876189e-05 0.000107103860391429 6.47482715060062e-05 4.86561305190524e-05 -8.62165727211076e-05 -2.31334232406905e-05 5.73134569433135e-05 1.97152943984404e-06 0.000101301259061597 4.18519361741884e-05 -0.000102007687219006 6.62884871919379 [...]
+id9266 7.74723585556936e-06 -2.08324685762573e-06 4.03447462382841e-05 -2.11241184555173e-06 5.96618540484894e-05 -1.87123142628009e-06 9.74689615690869e-05 0.000104610399029488 -6.80337130353697e-05 6.97921709469226e-05 1.8904455852211e-05 2.72362923957779e-05 -6.19992460015252e-06 4.17435826431804e-05 -1.9757726941192e-05 3.85363003704938e-05 -6.3703543215061e-05 8.06549005699101e-05 -2.06605842941663e-05 4.73955554632742e-05 5.72577833861186e-05 6.74053328396136e-05 7.41645498117334e- [...]
+id9321 -4.65686142713639e-05 6.00358688096087e-05 1.28769425457809e-05 3.31810665855988e-05 6.56893054393265e-05 -2.3928481542227e-05 6.06532561468646e-05 3.36070674609726e-05 -4.38900876508238e-05 -2.29117468390249e-05 4.3332905141985e-05 6.53306778595931e-05 2.33506509432473e-06 3.98408169263784e-05 7.65241839566768e-07 9.1123258076515e-05 2.94533422799327e-05 1.15496291465344e-05 -4.86622512685895e-05 6.85763283201607e-06 2.52927167162796e-05 -4.87021625522593e-05 -2.43798433022971e-0 [...]
+id9340 2.27651671874662e-05 6.58066794650058e-07 6.9920592584714e-05 4.401921917198e-05 -0.000259128127850171 5.09728320046389e-05 -1.85928295114198e-05 0.000120484977189809 -2.87932411368448e-05 0.000103161115525670 2.35006404901731e-05 4.81207061209852e-05 3.10279952862695e-05 -7.9878092904187e-05 1.95146068316476e-05 3.83732823446273e-05 3.34662553792727e-05 0.000112304847319456 6.00648285766794e-05 5.61079565252819e-06 -1.01928422704942e-05 2.78656693242582e-05 4.39204957241931e-05 3 [...]
+id9408 1.68265576159664e-05 -6.17197766159736e-05 -2.72946211763964e-05 -7.73277565978465e-05 -4.71307238921925e-05 3.73188404478368e-05 7.7772794131606e-05 5.28319034622695e-05 1.49007231490564e-05 4.05015576874758e-05 2.66390635001666e-06 3.66812480428517e-05 -3.18302784605186e-05 -2.44069496813254e-05 4.02277960124414e-05 6.53890185616374e-05 6.59198956536933e-05 -1.40569652367106e-05 1.47103588374623e-05 -2.18090786483333e-05 4.17447436106576e-05 -1.75090846679174e-05 2.6021878388810 [...]
+id9410 7.8411413162424e-06 -0.000109656696212644 -8.59376219859114e-06 9.862366443621e-05 2.52686309486840e-05 -1.84164090745621e-05 2.22563050700981e-05 0.000110788423190136 2.4567388440438e-05 6.89058688401652e-07 -2.4164859010972e-05 4.41866936237272e-05 -1.09922877115206e-05 0.000101611289351456 1.59149929779252e-05 2.46847587948385e-05 -8.4031200318852e-05 -5.9855555884749e-05 3.89120210341836e-05 4.57727856685747e-06 -7.7249489800116e-05 -5.08732251017136e-05 6.79631802203696e-05 - [...]
+id9411 5.71662175473118e-05 8.55174095098158e-06 5.17620959027298e-05 7.90444606597616e-06 7.3426847485635e-05 -1.70736132917026e-05 -6.90537703244226e-05 6.49795220603472e-05 -3.1702795505094e-05 5.69031075265243e-05 2.81300310578594e-05 1.54881820739418e-05 2.98847242738937e-05 -1.17422719369207e-05 5.25235282552664e-06 -3.05378987649767e-05 8.22949334696387e-05 6.18609351258865e-05 8.71113841052166e-06 3.10870802587249e-05 -2.56718045322403e-05 5.0717474370116e-06 0.000122526376608015 [...]
+id9449 -5.50454837268143e-06 -3.59152404861392e-05 4.29749630456495e-05 -4.05443069658092e-05 2.71751425752562e-05 -0.000157793737059924 -2.21300908451834e-05 -1.39842988492239e-05 6.00789166150487e-05 -6.8581690435573e-06 -6.51990741677016e-05 7.67851386351099e-05 -2.74107250870169e-05 1.09638980334333e-05 -4.62130855857488e-05 -0.000153884876358335 0.000100869296149571 6.98269991926078e-05 -0.000112620266157417 -2.62099535209886e-06 6.10680545451748e-05 3.15928520831758e-05 -8.25561051 [...]
+id9487 -6.57902321964457e-05 3.05306347687885e-05 5.20222863795832e-05 -8.1619683192424e-06 1.43573007702784e-05 -0.000176577653160005 -3.44740085906614e-05 -8.41906383721922e-06 8.23400423001933e-05 0.000105407751978001 1.72445640918142e-06 3.68014891776561e-05 4.29080978329894e-06 -8.4844465570139e-06 5.27438754505525e-05 -3.47689371194836e-05 4.81093358079596e-05 -7.2907056286206e-05 0.000109974714930174 -0.000146398299525314 2.53780043916671e-05 4.59944121986889e-05 -4.99595779913582 [...]
+id9511 2.79802434743996e-05 9.32386933563783e-05 -3.49310383029884e-05 0.000105496182386528 3.20072921017590e-05 3.37728656807066e-05 -1.35054836533843e-06 2.49978398990420e-05 -0.000218783193912074 6.50252280418037e-05 -3.14093826627809e-05 7.70415259511273e-06 4.90211407555005e-05 5.87933034719933e-06 -0.000331820421943984 2.67186324801598e-05 -2.81175162254347e-05 -0.000138707659434933 3.66410498458336e-05 0.000102584643355793 3.23798972038781e-05 2.2271950250805e-05 8.08257924781794e [...]
+id9570 -0.000123754824766651 -7.12047012094976e-05 -6.2025346563986e-06 -1.46356985832456e-05 9.20516682807301e-05 8.45384961225389e-05 4.36649382409831e-05 -6.90235152589784e-06 1.71957279105385e-05 5.52584016457754e-06 -7.02499258759058e-05 -5.97907897293047e-05 -6.57836203480903e-05 6.2322259724065e-05 2.87389656662800e-05 -5.55712696297031e-05 -0.000102517690069880 3.58356198014787e-05 -5.30630674016171e-05 3.02938552388157e-05 -8.52514168581516e-06 5.40530436304192e-05 2.28405948396 [...]
+id9588 9.30046922266389e-05 3.40040418996812e-06 -6.5906177638639e-05 5.7055733601957e-05 -2.78900719473351e-06 6.3335085840203e-05 1.19472408881829e-05 9.089060337173e-05 -0.000249260535874909 1.24128286219114e-05 9.01804620114696e-05 1.54625870264549e-05 -0.000130890346581463 2.41569999856375e-05 -2.88517323483173e-05 0.000108714564702418 -0.000195809818508246 5.08446527907094e-05 8.28642364651186e-05 -3.41254783030552e-05 2.58912896289756e-05 -1.55142935911286e-05 -5.76657560416009e-0 [...]
+id9614 -3.23178075280444e-05 4.50290899543865e-05 8.92668758544593e-05 3.03552585679198e-06 4.29644184214882e-05 1.30769415962138e-05 -2.88219547000962e-05 -9.75622444109584e-07 1.68518393920295e-05 -2.57974492606159e-05 1.66231983932343e-05 -7.73856423021508e-05 -2.46627889795809e-05 1.06685729776547e-05 8.91750789377756e-05 4.1599962738205e-05 3.43027823875157e-05 9.79366699321105e-05 6.86992896525157e-05 -4.83080288268605e-06 -0.000139036879189183 -2.54824149487948e-05 3.6724228992290 [...]
+id9643 2.24554106402744e-05 -5.17970744107033e-05 4.90338974503654e-06 -3.64552586516653e-05 -0.000103936480911452 -0.000133590205265253 -0.000152574097305178 -1.33778085318221e-05 1.25863136195789e-05 -1.98316747433459e-05 3.00710630344435e-06 6.17434652036401e-05 6.70209011609054e-05 3.58856766731066e-05 -7.18832977556414e-05 5.98190671176397e-05 -0.000128620198961459 -1.83477193220220e-05 -5.19709481730906e-05 8.00800474348498e-05 -6.1784103254533e-05 -5.42241950839996e-05 4.843577753 [...]
+id9658 9.06843266176982e-05 -5.3371033856265e-05 -2.8394192223629e-05 4.64451527681432e-05 -2.36680420963836e-05 0.000103278271119565 5.44773378320861e-05 -6.88974732942081e-05 -2.81278657396925e-05 -6.18480896919984e-05 -7.1302026413872e-05 -3.44968761059442e-05 9.53153238120138e-05 -2.78436611792177e-05 4.42860956247194e-05 -3.75202288267768e-05 0.000154436490261289 7.39873484391372e-05 3.81002866254468e-05 5.31978501165781e-05 -7.73820359873297e-05 -4.30803014651954e-05 1.482308284726 [...]
+id9760 -3.26327750761308e-07 -7.53312380104399e-05 3.35187806134217e-05 2.74289365926754e-06 1.46256707635970e-05 4.34027480418606e-05 -1.94579260580566e-06 -7.82420255039777e-05 0.000103925373330120 -1.42278837952123e-05 1.65792963365123e-05 -2.58278439103782e-05 7.44988314684116e-05 -5.87229986079469e-06 4.03619725534711e-05 -2.26598459301297e-05 -0.000115318655671770 4.17830366649695e-05 1.79057995256194e-05 -0.000163610468224032 5.72282525830127e-05 -5.5203111157904e-05 -0.0001013537 [...]
+id9800 0.000125105427876908 8.3904946233958e-05 9.4729083960278e-05 -8.48640707368072e-05 -7.9657208152325e-05 1.49328936611453e-06 5.15146669881857e-05 1.00667692457169e-05 3.76223301978455e-05 -6.91576272630497e-05 5.79306932252971e-05 -8.80567574637928e-07 5.49976509395454e-06 -1.30882585373428e-05 4.07476390900508e-05 2.25043728061727e-05 -2.51361823678927e-05 -0.000106963577652183 -0.000140556750691829 4.18623906199363e-06 2.95257603329051e-05 4.96505297427543e-05 6.38044582803446e- [...]
+id9851 5.45764037982913e-05 6.0784686089948e-05 7.14843523082346e-05 -9.69069879209548e-06 -7.02193700206018e-05 4.55025715738228e-05 -1.46003872893902e-05 0.000133853230167583 8.17180086192434e-05 8.9150791174728e-05 2.48449865324036e-05 5.50344882694369e-05 3.1610200431966e-05 4.46059913065142e-05 9.3419004097625e-06 -7.87100356212847e-05 -3.20618968723888e-05 3.00275968359644e-05 -0.000165790164566632 1.62936512044267e-05 9.03635112284701e-05 -3.11392527610752e-05 -9.10457088650506e-0 [...]
+id9852 0.000112965713253788 8.30921395114331e-06 4.43740249886939e-05 -4.62266778756654e-06 5.14610970692915e-05 0.000101522401914030 0.000100297807799582 4.61483070166309e-05 -1.36151870121368e-06 8.18153562508418e-05 9.4708332863882e-05 -5.04372177949429e-06 4.99844859540889e-05 2.58045468617365e-05 3.84214479788131e-05 -6.40099608631359e-05 -3.77787043797452e-05 0.000114348743078364 0.000115108100741121 -5.1649524254486e-05 3.53282928377388e-05 6.32420500131461e-06 2.38982640242339e-0 [...]
+id9859 3.6966749125974e-05 -6.65414562493825e-07 -6.35400471013426e-06 2.89621542689413e-05 9.82167579178284e-05 -6.2604673240304e-05 2.30213794481313e-05 0.000124991589782529 6.60202381781485e-05 -2.2983637181223e-05 6.08103667068519e-05 -0.000105473245125867 6.88124460201849e-05 5.0754109901867e-05 7.3440898973854e-05 4.04860777384172e-05 5.56832119305467e-05 -1.04114567762833e-05 -2.47139703216140e-05 -0.000145835438535016 -4.80159611405719e-05 -6.7439639146238e-05 -2.06378313943378e- [...]
+id9862 -0.000169132541379231 -2.70072100345572e-05 2.41031114776105e-06 -7.42153355386477e-05 0.000162079319333615 -0.000124507958395353 -0.000328165528552309 2.58854508824324e-06 9.30687333910378e-05 -2.02121144157421e-06 3.5688759481724e-05 5.69042465894985e-06 0.000111551730837299 8.461109158229e-06 7.26788435758227e-05 9.57475191174184e-06 3.93250615249639e-05 3.52003608556185e-05 3.54776614889084e-05 -1.57505812641888e-05 8.3753752482398e-05 -0.000106605582610120 5.04863262089357e-0 [...]
+id9877 -4.55339051935134e-06 6.67827365695096e-05 -9.19484418844313e-06 3.16405893768125e-05 2.86854681419627e-05 3.47387335819865e-05 6.25741762526884e-05 -8.9806801624066e-06 9.86026753942364e-05 -4.56633763161892e-05 -0.000108789739714039 2.58997675037450e-05 4.59736215625912e-05 3.90322021778704e-05 3.385856285913e-05 -0.000212973813245438 -0.000163733524142770 -9.58244143909816e-05 1.0745007897136e-05 1.7527068008768e-05 5.78121030657364e-05 4.83595705013261e-05 7.08246291395889e-05 [...]
+id9883 4.83118403126861e-05 2.31051709084324e-05 7.94369806747786e-05 3.17285843324875e-05 5.92498872690785e-05 -2.69297733384447e-05 -0.000133963139811301 -1.79687296012238e-05 2.65012921574157e-05 5.42266489946443e-05 3.88132093241820e-05 7.58307130061997e-05 0.000148335085281181 5.93267872608553e-05 -7.44896681156336e-06 -0.000238043817556831 -6.95992612110756e-05 3.85183556791761e-05 3.70746663120698e-06 8.8202989114999e-06 -1.83224994523662e-05 -2.64392044099456e-05 2.66698768324508 [...]
+id9893 2.41271153520360e-05 -7.38313659325881e-05 -2.17563045187723e-06 0.000105874161080722 -3.90763654473684e-06 5.57448154325888e-05 -4.92016135061526e-05 5.75971369627134e-05 7.86662469143732e-05 3.21992373930889e-06 -1.86148460106094e-05 -3.05381128901058e-05 -6.07985762442518e-05 4.19066585628775e-05 1.64458881875722e-05 -3.34450487134882e-06 8.0818411948402e-05 -5.18891753546939e-05 -1.02931825388344e-05 -4.31877572320816e-05 -0.000147235877255144 1.93773619608560e-05 3.6228022290 [...]
+id9901 -1.67919484594335e-05 -3.65153300526412e-05 -1.38861833646215e-06 -4.12267069972591e-05 1.57416993390549e-05 -0.000134928178509329 1.74448362885115e-05 -6.77140023743102e-05 8.63038489420452e-05 -9.65698644075015e-06 -6.27351540374825e-05 5.00490375699152e-05 9.9034467724398e-05 3.02412271914876e-05 5.1137453990922e-05 -3.62230218329025e-06 -6.97515114988766e-06 -4.40079834534101e-05 -8.58399988729455e-05 8.91394000107432e-05 -3.26257258613086e-05 7.88558693288669e-05 1.6957520148 [...]
+id9906 -8.93674794339556e-06 0.000105615615407335 1.68749188784100e-05 3.52209453439417e-06 3.44193678561569e-05 -3.43660793264582e-05 7.32142790173834e-05 8.32913461524963e-06 8.70951289846616e-06 4.58286377775177e-05 -3.93253591454353e-05 -4.85147189812362e-06 0.000101698981190937 1.23562651914934e-05 -3.87524984697189e-05 -2.22231090617157e-05 9.54239198356802e-05 -3.54523193483234e-05 -7.60825034134502e-05 9.3949951032181e-05 7.82615952531469e-05 7.09569986045891e-05 -3.4701834154039 [...]
+id9918 0.000127060526677462 8.58149415968687e-05 5.68493520895932e-05 -2.28789505492267e-05 -2.9651390497364e-05 -1.89256771803786e-05 -2.71776566029079e-05 3.81931099856367e-05 3.70952297324828e-05 3.77742489632352e-05 6.02153273766122e-05 -2.30160697387566e-05 6.53134573732845e-05 2.6812094285968e-05 4.82961917104007e-05 4.9131747786532e-05 -6.32999370001766e-05 2.87039939403918e-05 -2.83831825957842e-05 3.93736895926582e-05 1.75544657535084e-05 8.16072521900535e-05 1.56428243267419e-0 [...]
+id9930 -5.45417831530839e-05 3.05888026599062e-05 6.07084488251583e-05 1.36001497341788e-05 1.16708798695767e-06 4.23555182866631e-05 -6.10592909672631e-05 2.21423782592575e-05 -4.58317653057733e-05 5.34523888611017e-05 2.09755779539405e-05 -3.30880095338751e-05 7.67595895148968e-05 7.06764527876599e-06 9.80638021059498e-06 -0.000134602107813385 4.55601670624629e-05 3.69410724809106e-05 5.99073722372351e-05 4.40876068568658e-05 9.93092341104382e-06 1.14121352097513e-05 9.99173607751577e- [...]
+id9956 5.17768263050024e-05 -2.75170152466788e-05 2.77050041760647e-05 3.21266545928531e-05 7.7602716832434e-05 -6.13279521641372e-05 0.000126582651033453 -6.43093303869323e-06 4.07393723268953e-05 -7.44889940546227e-05 -2.89384517268836e-05 6.35858427612451e-07 -0.000140691632926642 2.16995080336172e-05 2.19073232023318e-05 2.01911770149181e-05 -0.00010918431994627 -8.40702165738991e-05 4.40480357686284e-05 9.32023453937047e-05 1.32319949839206e-05 4.90031982748925e-05 9.63107159738819e [...]
+id9990 7.82351953802326e-06 5.67954292123789e-05 3.75383325752719e-05 -5.51755853269674e-05 -8.45193378077701e-05 5.54925747987005e-05 -3.03777005672282e-05 -5.04325602601306e-06 -4.99388603057682e-05 3.11524241137777e-05 -6.98720904970592e-05 -2.78497144279001e-05 -2.46098741179354e-07 2.47458297728612e-05 2.6329301174018e-05 1.41269294915842e-05 -1.71562820876876e-05 5.11859038976117e-05 -1.06084788707452e-05 -0.000106425895675542 -6.62594973700565e-05 3.87817709034239e-05 -3.366744334 [...]
+id9997 2.27933828066323e-05 7.9396102384489e-05 6.12460426444154e-05 6.83507178187196e-06 6.42174091903328e-05 -7.02553011586793e-05 2.03740343926282e-05 -3.73396076150979e-05 -1.13146395878803e-05 9.46294470335665e-05 3.29170652784482e-05 -4.15000722811822e-05 4.74072322195552e-05 -1.70674615560508e-05 8.03109693596198e-05 7.40488287242413e-05 2.09738950393064e-05 -2.89991121557524e-05 2.17077576888598e-05 -2.16562884232870e-05 3.85759745750687e-05 3.59357333899957e-05 -4.5443190664951e [...]
+id5465 -2.93992685730226e-05 -3.04571265677464e-05 -1.22395410911086e-05 -0.000115366382856313 1.06050550793147e-05 -6.17158185816739e-05 -6.45955271508759e-05 3.15536185963130e-05 2.49979838462060e-05 3.3560250572158e-05 -3.38321703929827e-06 9.33776378420774e-05 -3.48154972969711e-05 -2.06170559337056e-05 4.3989969171451e-05 -0.000214810811378088 1.77688089510188e-06 -3.93386656267043e-06 -4.96303200223585e-07 9.94583122390409e-05 -3.09536849047995e-05 5.1841814319674e-05 7.23842004556 [...]
+id4625 1.86719091842716e-06 -5.42618468952761e-05 8.58190359192737e-05 -2.54456361333081e-05 3.90872525747673e-05 3.12418659695272e-05 2.31148898637204e-05 0.000109163418535399 0.000145774925496974 7.73189987509624e-05 -0.000101777940243633 -3.68511052378383e-05 2.81337067527454e-05 -2.98052500847902e-05 -5.03204457383824e-05 2.18992624550478e-05 4.23999693229525e-06 -0.000118415733239528 -0.000143826965121789 7.81300424098385e-05 -3.80459978061292e-05 -4.70745372865003e-05 -1.5992291485 [...]
+id7159 5.91434697661212e-05 7.10633989530663e-05 2.50818482182321e-05 -3.12137173052208e-05 -5.13149007711496e-06 -1.10486115027428e-06 6.05061186902853e-05 -8.18785846902738e-05 2.80338425143742e-05 -5.21038479311152e-05 7.6356686506949e-05 9.7272902724847e-05 8.5324102271208e-05 -1.47716320501952e-05 1.38893806386051e-05 8.92325941898596e-06 7.08040773646209e-06 0.000166669745256243 -3.24419158394795e-05 3.60681149296252e-05 3.70905212129706e-05 -1.97194906724568e-05 -5.55717488960894e [...]
+id8416 6.38870157125575e-05 5.40665649098401e-05 4.96245139595507e-05 -6.96368396087204e-05 -0.000124422884847682 2.42245653844846e-06 -3.10908405897317e-05 -3.21053319516072e-07 -3.77265951905062e-05 4.39669407874433e-05 -4.66305014520267e-06 4.87434527942063e-05 -1.40616150480254e-05 -8.83168675992014e-06 -2.44480081739431e-05 -9.5812362465968e-06 -3.19724373708812e-05 -4.47880358586163e-05 5.31584971192488e-05 5.21394719755864e-05 -2.84424587555762e-05 1.95321310291797e-06 7.690444692 [...]
+id9444 6.19308251378699e-05 1.55663860145864e-05 -2.00560592781605e-05 -1.03661251955448e-05 3.90457377419022e-05 7.07032363364751e-05 -0.000101571516224634 -1.97462639308137e-05 6.62903005617522e-05 5.80134010988542e-05 2.93909563127367e-05 3.48987292036119e-06 0.000113815071960076 -8.37296837030994e-07 -6.95396694954485e-05 -0.000109500202271326 -1.06823982596524e-05 1.36910579962282e-05 4.34154259737184e-05 3.22209098861596e-05 -1.41034062320269e-05 2.71606208378243e-05 -0.00017947819 [...]
+id2622 8.76657935701731e-05 8.03365399924283e-05 -0.000459267996393524 -1.24494762862236e-05 1.09721068472747e-05 -4.84041837035218e-06 3.35494102056119e-05 -8.23480695533762e-06 -4.77166608274346e-05 -7.02641556167012e-06 -1.80905199625722e-05 1.61630447902269e-05 1.99323294772427e-05 -5.08274411333473e-05 7.3823083427458e-05 5.97125343121705e-06 -8.99013038503459e-05 -2.73430457078555e-05 7.99548627116993e-05 5.04457974772647e-05 5.76867677101626e-05 -0.000201163445746824 2.90553607789 [...]
+id7493 3.03761394824331e-05 5.37278446910667e-05 -5.43015905315867e-07 -1.04031318363838e-05 -1.84514212549130e-05 7.37700297179635e-05 7.48925669470632e-05 -0.000106894414785684 3.39264842892205e-05 7.02580543175944e-05 3.24997098088731e-05 5.43526941617081e-05 -3.28933714743068e-06 -3.04749896166613e-05 5.86747281902337e-05 -7.28729954156108e-05 1.95238948018322e-05 5.50674324242206e-05 5.96814107946014e-05 7.53316236895731e-05 -3.75701766419036e-05 -5.31572247606121e-05 6.020115636957 [...]
+id1102 2.99636535399517e-05 -8.91369341257345e-05 3.39037126512354e-05 2.15269049976627e-05 -3.12460813829607e-05 2.94510921737830e-05 -4.66060253930877e-05 2.45950459385125e-05 3.36058400421919e-05 -0.000138835271411519 -8.35991504042987e-06 1.28509500254299e-05 -1.26393300472072e-05 -3.22394419594382e-05 8.77881887497506e-06 6.90652133457812e-05 7.98314199194088e-05 6.77899476798285e-05 -5.79535577267317e-06 4.71353613817084e-05 -1.87378151948894e-06 4.99453316212244e-06 4.643248560505 [...]
+id3210 -0.000101468101352952 4.30427049417731e-05 1.88832751063492e-05 3.66202161056443e-05 7.14388060279035e-05 2.27272489513672e-05 0.000128895437545756 5.64878674213455e-05 8.05720478272987e-05 -7.35139284105737e-05 8.60547252604675e-05 -0.000148843908984014 4.57619205986282e-05 6.7483109280159e-05 -4.48781695807553e-06 -0.000120143610665249 6.22820884791492e-07 -7.71988117725507e-05 8.25049021871012e-05 5.68651064811878e-05 -1.57863664864499e-05 -2.16727219031585e-06 4.25416155687141 [...]
+id541 3.17563511016965e-05 -4.41953958567779e-05 -2.53266528158243e-05 4.40571751217321e-05 -1.58690531117674e-05 -8.51986322904467e-05 1.34463966684344e-06 -6.47708409606478e-05 5.54804462216656e-05 -2.11163703617241e-05 -1.63260464045427e-05 9.40762295674871e-05 7.95126274511648e-07 -4.16663355309313e-07 -0.000349043490895853 -1.69197435156983e-05 -2.15167675132283e-05 -5.91536583523405e-05 6.56702081209573e-06 2.95606839096621e-05 1.77195707185052e-05 1.25159983993793e-05 4.0443006138 [...]
+id6471 2.28715317852867e-05 3.83421034909891e-05 6.45244680154626e-05 1.41513986618943e-05 -0.000268280374552217 -5.36050507029325e-06 -4.77530613849278e-05 -6.11090155480209e-06 2.02995218440958e-05 2.57169933482116e-05 3.72955993955540e-05 2.67992835994825e-05 -7.66172459997837e-05 -6.1381149267265e-05 -0.000130883208226851 5.33536250728988e-05 -2.19145265826434e-05 7.44736791521934e-05 7.86715697956773e-05 3.612639130962e-06 3.32538526345998e-05 -2.44905731889235e-05 4.37929620961469e [...]
+id697 -9.52370606796597e-05 8.10208145751173e-05 2.19185706073402e-05 4.89982727942146e-05 2.39812194003373e-05 6.07213245040221e-05 -8.47163090345618e-05 -1.98750142592246e-05 -5.98797326923352e-05 -8.50784622351724e-06 9.30208645866397e-05 -4.06714124883538e-05 4.17278224815618e-05 3.90034975097658e-05 2.70391515169198e-05 8.2071670903729e-05 5.24956602329215e-06 -6.20045208594283e-05 8.48903881945674e-05 1.98518699343710e-05 2.76242408955291e-05 -2.38856075113212e-05 6.03775584839981e [...]
+id6924 -6.68277465287703e-05 5.01421067339082e-05 9.8919367678174e-05 -3.26994153643401e-05 -1.49378898283520e-05 1.41705962236903e-05 -3.30955466107879e-05 8.34616820429973e-05 6.23010486846488e-05 4.50236729784706e-05 5.65810902181284e-05 1.46029143509725e-05 7.84834800856286e-05 -5.43001067507182e-05 2.04432898893434e-05 2.87292190312714e-05 -9.9907810604469e-06 -1.20175917745498e-06 -0.000157339935811494 -3.51398671361066e-05 -4.73181555286129e-05 -1.72318975580661e-05 -3.29592727721 [...]
+id8060 5.43428901570232e-05 -4.61669462869592e-05 -1.20577567312314e-05 -1.15356287684950e-05 2.95269901688897e-05 4.40795369389963e-05 5.29199668229396e-06 -1.97120331684297e-06 4.90941647744497e-07 -2.05572856569603e-05 2.21049254901314e-05 -4.6431746970975e-06 0.000125659797312676 6.12998178574907e-05 9.53196535975875e-06 -0.000165797604282166 0.000101754831371135 -6.65220869316729e-05 -2.68764141930964e-05 4.60363854865468e-05 -3.7111036996526e-05 -2.58201140057819e-05 -5.35614664697 [...]
+id2004 5.22054268850324e-05 -6.69743736514584e-05 -7.14890233428014e-06 9.96630057484369e-05 -3.56539566651964e-05 9.91832016704727e-05 2.38675067724501e-05 8.43681836906879e-05 5.08086659434749e-05 6.61502433508111e-05 5.20947710360444e-05 3.80421574013651e-06 3.34519748500398e-05 -0.000112450910405404 -6.06792199383091e-05 0.000114552859093601 2.37849312288399e-05 3.07683777454409e-05 1.70012165982580e-05 -4.65249880441720e-05 -0.000143589192734073 -5.53712583746521e-05 -0.000103747858 [...]
+id7534 -7.80346439301999e-05 0.000120218915597336 2.43932071444200e-06 -1.13397012427084e-06 5.71793915087306e-05 2.74837629372545e-05 6.06539394981384e-05 2.02896688461971e-05 6.89382402031814e-05 5.86104964658063e-05 1.60914150697348e-05 3.21292624866624e-05 1.85226318576525e-05 6.72888767757031e-05 7.21958374715309e-05 -1.32094038539012e-05 -0.00022796059717144 2.61891890965189e-05 -3.48936712918738e-05 5.3899402586343e-05 4.51176744142907e-05 5.90841663758241e-05 7.09878405840906e-05 [...]
+id9836 -2.52867370205134e-05 -6.09686466120366e-05 5.95189609647395e-05 1.96358382528025e-05 4.3865887315635e-05 -0.000207162421607562 -7.9973126013271e-05 -4.47225584048688e-05 -9.01310545265232e-05 -2.65720107489206e-05 -8.11082489269603e-05 0.000122800719756551 0.000101818987753825 7.74966808181511e-05 9.25460572697186e-05 3.29727732136708e-05 -3.08733816674943e-05 -0.000135598456443633 5.56601736071126e-05 1.24603362118806e-06 4.42209196979099e-05 -8.10023106702946e-05 9.748406195674 [...]
+id1389 -8.28250158946127e-06 6.91874258391746e-05 -3.68107754128625e-05 2.35531173525301e-05 -9.90322253290123e-06 4.26260186213444e-05 4.29971674313864e-05 -1.81897965366572e-05 -1.12141484394936e-05 -7.92902535615025e-05 -4.88751090714507e-05 6.09130232527254e-06 9.37542957122302e-05 9.7906915713883e-08 -6.75816149052877e-05 3.90035792486901e-05 -7.49685374561014e-05 -5.14418251919797e-06 3.61863389065388e-05 -6.36230317542543e-05 4.51127371110438e-05 -1.78365508434756e-05 -9.606504340 [...]
+id6062 -6.97973461327523e-06 8.58623144755021e-06 6.07226429993288e-06 1.35397958620213e-05 -2.44723117099676e-05 -8.23433277805999e-05 -2.66969422668201e-05 -9.2489792736228e-05 -7.3907015120458e-06 1.70278000821828e-05 6.9707248911582e-05 8.1563558268196e-05 -0.000155041098926697 1.74983246553539e-06 -4.54706532265328e-05 5.77489280498651e-05 6.96320517440095e-06 5.47169670125357e-05 4.92287450491117e-05 7.20693318158552e-05 3.01632495630636e-05 -4.96652377670293e-06 -5.07117356653493e [...]
+id5546 -1.55465586513427e-05 8.8999012713096e-05 -4.28511102369778e-06 -2.91906378562311e-05 1.02806322458397e-05 -7.15985168937938e-05 -5.16498512542946e-05 4.93240160898681e-05 -2.41943387481648e-05 0.000115997778434187 -6.86627312830376e-05 -2.68777125128903e-06 -1.96173179909404e-05 -2.24570703265078e-05 3.30309031115815e-05 -0.000135894311952872 -0.000129413676583353 -1.03757858327357e-05 3.65549311988619e-05 -9.56305243934061e-05 4.44607979126884e-05 8.30470838130368e-05 5.97161219 [...]
+id4096 1.92325402734789e-05 -2.43743176251644e-05 5.36897895556466e-05 -7.58707073614473e-06 -4.86269374424023e-05 -0.00039147249076651 7.6448611293036e-05 -8.6294013326784e-05 -0.000167896215854575 -4.06600229731633e-05 -7.58969521769413e-05 3.86259676784168e-05 -0.000113738572980075 4.36726464358112e-05 -5.72529757877852e-05 -9.51592880385934e-05 6.07050030377624e-05 5.75712827377195e-05 8.5018038774341e-05 0.000111666506062371 0.000110550425570629 -3.15232826258261e-05 7.2261157484066 [...]
+id9185 1.32412006269783e-05 8.10149568294108e-05 -4.38941004772523e-05 5.87087943163968e-05 0.000117883091572367 -0.000103212807512304 5.08728779775603e-05 -0.000201488459638512 2.73360892142377e-05 5.00384324756928e-05 3.84193572841231e-05 5.65568327692218e-05 -3.65522636230918e-05 5.80406875668289e-05 -1.02837981938549e-05 1.69856762664318e-06 3.22908228477954e-05 7.41861198682124e-05 1.81123560983373e-06 -5.52299794928714e-06 9.56050073190219e-07 -5.9762621844626e-05 4.88347883198786e [...]
+id3917 7.05422765764138e-05 -4.97787475370391e-05 -8.03040143680441e-05 5.90579139392239e-05 -1.34114603799344e-05 1.68989695945479e-05 -8.88922826269349e-05 3.22851400042016e-05 5.0502200976815e-05 0.000103345955812694 6.18200384633435e-05 -2.22302856510445e-05 -0.000190430912469694 8.5582393732556e-05 -4.25287266210714e-05 -0.000138882068662095 1.35974757925677e-05 -3.12688222967025e-05 5.6887428124931e-05 -3.43923943536989e-05 -5.45418863521656e-05 0.000120847334648284 -1.507906222499 [...]
+id5941 -6.69451311092816e-05 -1.86670849281840e-05 -0.000157328624843462 2.29622879422620e-05 1.97184069324843e-05 -6.21394148877474e-05 -1.58793156304462e-05 6.68292937021965e-06 6.94067636391597e-05 -3.47994722200176e-05 -0.000109031673174342 4.13828133181152e-05 0.000159010721814835 3.73965667816877e-05 6.63597141170144e-05 -0.000122360900660637 -2.9262543131303e-05 7.5361869083301e-05 -3.63056394336630e-05 -4.9102407016044e-05 2.55982500014266e-05 -1.78998226275994e-05 -5.59743149004 [...]
+id5701 4.70645906915533e-05 4.12960372707646e-06 -0.000115274569265959 5.46794868381311e-05 9.91234349394237e-05 5.10174712099569e-06 4.74383643315855e-05 -5.8950422290268e-06 -3.72905488234471e-05 -1.10088726359748e-05 8.04119219580073e-05 5.81907276288705e-05 4.68681627739929e-05 0.000100475961399946 5.1553678716526e-05 5.1335729551899e-05 8.39040822143778e-05 -4.29989409487214e-05 -0.000112696883027994 7.03222272394369e-05 -4.65572408302415e-05 -1.48964115444262e-05 1.94843467481148e- [...]
+id4711 -4.87122683310602e-05 -3.56481178035034e-05 2.24059962453674e-06 -3.87642045383544e-05 1.43494104237747e-05 1.77819821411789e-05 6.50584768928214e-05 0.000117722890560329 8.91205312455166e-05 -0.000104347788484877 -4.17108645610693e-06 5.32542997664943e-05 7.7023322847462e-05 -7.22911701924334e-06 2.71003988819104e-05 0.00010557089683504 5.79308052227729e-05 5.5395003272437e-05 -5.21741413155639e-05 -4.94039478457056e-05 -3.66139105773326e-05 3.82734679484361e-05 -2.79046565333557 [...]
+id5689 5.93437389046716e-06 -2.99405154052245e-05 4.62818675692216e-05 -0.000124043047562124 -5.87694909082906e-05 1.47374093175702e-05 5.36178428130713e-05 4.03722606271959e-05 4.8453741528897e-06 3.48773353523587e-05 5.06631568932348e-05 -2.48055716772369e-05 -3.62991595088080e-05 -7.31140514651233e-05 -1.98106732983391e-05 -2.90244523521493e-05 4.31169697313018e-05 1.96438929279521e-05 -4.04394060935516e-05 -6.72910587997178e-05 6.54995371971447e-06 -3.87144790615573e-05 -1.0404790205 [...]
+id7947 3.31443960871201e-05 1.21026067452723e-05 2.05447826751124e-05 6.64823555865967e-05 7.02727132702603e-05 -1.91204462188476e-05 7.51760489047272e-05 -0.000457748330767292 -0.000109772478479065 -0.000188452245585613 -2.15160341449007e-05 -4.73355266968956e-06 -6.64528496761998e-07 9.05555726983211e-05 3.2241380193171e-05 -7.19779525716339e-05 4.55047518841003e-05 1.2254517813126e-06 7.42265733489261e-05 2.51393964386700e-05 0.000119973655678159 8.85669587291265e-05 -3.38894159694426 [...]
+id5556 1.53171569965703e-05 -9.61303816377236e-06 6.660207770112e-05 3.34091452326242e-05 3.26517688609542e-05 -2.01849640814424e-05 1.13551382643817e-05 5.45592959167721e-05 -2.91904748487845e-05 4.05961092705693e-05 -7.60910685731212e-05 -1.53846735582086e-05 6.82357333429622e-05 9.81644409932962e-05 -1.86249013756949e-05 -2.96733229856375e-05 0.000117413850544913 2.82805798699505e-05 4.45240056427179e-05 -8.51443040024037e-05 -0.00018382259410783 6.9585171316535e-05 2.41048968235161e- [...]
+id5472 0.00010762110553926 9.7779970426832e-05 1.05071391516063e-05 1.99721701726398e-05 2.88092854560232e-05 1.48604535514515e-05 -7.77483454736385e-05 -9.41782706881476e-05 -3.39317811283343e-05 -3.91039738685194e-05 -2.51427761306858e-05 -7.39759549255308e-06 3.46826820696154e-05 6.07927062780238e-05 3.73053961136603e-05 4.10096061719014e-06 -6.58503419435568e-05 3.91635044897755e-05 4.1696202913334e-05 -4.02740888457533e-05 2.93426725687290e-05 2.54733391075171e-05 8.8775977579587e-0 [...]
+id1482 -6.67734327964744e-05 -1.51129803797125e-05 -3.85144572555437e-05 -3.9424524632002e-05 -7.05809134988219e-05 4.20288916341129e-05 -3.90689749731304e-05 -7.25603456586672e-05 -0.000135413170843638 -4.72425905632929e-05 2.48567684613662e-05 -0.000179520183845663 -3.12719693559035e-06 -7.49649974902242e-05 6.54921642444657e-05 -9.35316167681496e-05 3.73881846782938e-05 3.81246747712161e-05 2.66523181247255e-05 -3.44495541358856e-05 -4.92548031186997e-06 -3.67015023359271e-06 -7.83644 [...]
+id8034 5.98616888603184e-05 -0.0001613657601406 -8.15364086917764e-05 -6.89548546017911e-05 -8.69953733700195e-05 8.91435359264056e-07 4.5716183105809e-05 -6.22900942942036e-05 1.17257076964012e-06 3.55280561108538e-05 4.89309782736426e-05 4.02927536308618e-05 -4.72859322156737e-05 -2.51333736447251e-05 4.60895089053244e-05 1.46238561557159e-05 1.33219642278067e-05 3.29920772562721e-05 -1.78072810731207e-05 2.49901174610886e-05 9.82763036643389e-06 -7.89136757738954e-05 -7.23685829040304 [...]
+id6609 0.000103753143158175 -9.28410990815277e-06 -5.53519103017856e-05 -0.000366135688887508 -2.72502235337242e-05 4.42002197598664e-05 -1.59650146919162e-06 -1.93996140648313e-05 4.7647901015468e-05 -2.93339999072047e-05 -7.6380281941501e-05 -3.38630782257343e-05 3.29528151746382e-05 -7.66756507095091e-05 9.42256479750457e-05 -0.000103391866272212 1.77856711331433e-05 -5.1385495054862e-05 -0.000257550731100388 9.51858533311366e-06 5.56603007346611e-05 -0.000101410175749098 2.8127423568 [...]
+id2181 -3.11097376642035e-05 -1.40887796238519e-05 3.15620379257055e-05 -3.5910532658734e-05 1.47171963451056e-05 6.90764657582349e-06 2.00368802862485e-05 -8.93959024273212e-05 1.17336746515902e-05 -1.85199251741823e-05 -6.96753030286842e-05 -4.20420089155074e-06 0.000102733330021503 1.85575097239893e-06 5.76614302178617e-05 3.02444384857455e-05 4.15893947951553e-05 0.000144501609758405 1.74824093780813e-05 0.000146764492575566 -3.75447357919643e-05 4.54996305704797e-05 3.58534829638357 [...]
+id226 -2.07593655730172e-05 7.49509922558686e-05 -0.000112346222073865 3.33800432560544e-05 7.94848905541257e-05 0.000100603484025677 -2.64494037174580e-05 -3.8445369141013e-05 -3.55906006522828e-05 6.64340530606701e-05 4.58164690377453e-05 -5.78634315281973e-05 -6.29176551424975e-06 -7.18066101930498e-06 7.70985747142567e-05 -1.83990160313368e-05 7.39454709390811e-06 -1.48862999139880e-06 7.44209089031336e-06 2.89410069686893e-05 -4.93865938540667e-05 0.000109892129988860 -0.00018002735 [...]
+id4947 1.78027196017354e-07 5.1157458748388e-05 -2.15391438344707e-05 -4.23564801379052e-05 -3.52320319401384e-05 1.52311285768982e-05 -4.87889495411838e-05 9.72276300692977e-05 -1.68718748614787e-05 3.84014701315335e-07 1.91463168773492e-05 -0.000153968789840244 -0.000211683995165135 -0.000101063916944576 3.37932233311434e-05 7.15356944921727e-05 7.65004007708184e-06 -0.000175092665045109 -6.07367448349252e-05 1.61059797516334e-05 -0.000172572258134223 -3.91388826306541e-05 -3.191034590 [...]
+id9626 -1.03931394965053e-05 6.04084441122961e-07 1.55271805796317e-05 -7.00362122668664e-05 -2.05175761494311e-05 3.97571157530085e-05 -2.80763489695115e-05 3.72384367356789e-05 0.000117974484375112 -2.18347438205141e-06 -1.97849888110554e-05 -3.41108703344479e-05 1.25750085643895e-05 3.70308458953858e-05 -7.01554337317011e-05 9.51414287310144e-07 1.92198525729151e-06 -0.000115724769411531 -0.000177978451213673 -3.64501076218419e-05 -1.28831293095694e-06 1.20210927746472e-05 5.397604706 [...]
+id3825 -5.42823731194103e-05 5.13375521871165e-05 0.000102702073041476 -7.04476220895586e-05 -0.00014390333766403 2.418407777146e-05 1.33365225289592e-05 -6.9566658386384e-05 5.19382716619494e-05 2.13097409180519e-05 3.34858504541665e-05 6.94665416994477e-06 8.11309075452592e-05 8.80819727694083e-05 4.59637991157607e-05 7.47220353852069e-05 -5.80032861681962e-05 6.81610125977402e-05 2.39152373486965e-05 6.58550175368946e-05 -3.56902794001922e-05 7.26409524012459e-05 -1.17269239402696e-05 [...]
+id5114 8.0066114419724e-05 7.35698377725997e-05 -1.89113778404008e-05 8.8756632191247e-05 1.72196136407512e-05 0.000102170081123415 5.31394769022203e-05 4.74694118367558e-05 -1.98983988599244e-05 -1.94444022833474e-05 -2.65989147167514e-06 -2.21200456127145e-05 -0.000117859062520652 -6.90004862498089e-05 2.78068813728517e-05 -0.000333334651329721 1.44750380719531e-05 1.71642049020276e-05 0.000130689403454466 8.8317171943169e-05 4.52235315404956e-05 -0.000109560519478428 -8.03396554353354 [...]
+id3059 -6.33719526943525e-05 6.38506753367046e-05 5.98275567500786e-05 2.13796698049052e-05 1.29880139824545e-05 5.00854495603471e-05 3.89388299634449e-05 -0.000237257258596915 -0.000300060733753486 -0.000200864612257809 -5.6277639630903e-05 -1.18071108899293e-05 2.20554740403627e-05 -1.41741284159402e-05 -1.38725541709181e-05 3.23674905162309e-05 2.64388112726945e-05 -5.43474783277177e-05 4.00555441132632e-06 -2.1573143370025e-05 3.91934125197418e-05 2.68951965584091e-05 1.4044988960156 [...]
+id967 -3.16096267224493e-05 1.94164824876007e-05 3.33916430209655e-06 4.36855185404436e-05 3.33601971630223e-05 -0.000101034537450814 -3.09393333473484e-05 5.70747937623104e-05 8.90282430847942e-05 -0.000108189363811966 -4.95657339857162e-05 -2.62140261383549e-05 -2.76609522698563e-05 3.96053254925618e-05 9.55539664440006e-05 6.83095811139263e-06 -2.81573926887869e-05 -3.52463496546764e-05 2.54906478602985e-05 6.09457544281094e-05 -1.28405050212382e-05 3.14792266074606e-05 6.093113301348 [...]
+id4505 3.45628137693546e-05 6.74807361597093e-05 7.73819016928684e-06 8.03906167298972e-05 7.21664193952652e-06 -1.80825990930390e-05 4.90343723346426e-05 9.81187560261865e-05 -7.23045124290348e-05 -1.64612936921552e-05 2.41079949991378e-05 -1.92363261301474e-05 5.6987186613327e-05 -6.12985692167028e-06 3.1822421303379e-06 5.23479603089351e-05 -8.1468065792779e-05 1.48728207117629e-05 -1.07559795934361e-05 2.84994244455853e-05 0.000112499901900247 7.10972142112434e-05 -0.0001283950216750 [...]
+id455 3.74118067682800e-05 4.62655087062856e-05 -0.000124884509880700 4.24796853053794e-05 -8.58740873926981e-05 -0.000147178057668780 5.04106258322688e-05 6.88947257412144e-05 -2.00023865852003e-05 1.92348170239269e-05 -1.65139903734448e-05 4.46197398453048e-05 0.000102209686635465 7.43245847988743e-05 -2.6292033187076e-05 1.92839471245730e-05 3.04274288011215e-05 -0.000175044919282153 -0.000123462992480644 -1.87288370811746e-05 -2.63684594217769e-06 -9.29428841885124e-05 0.000109799014 [...]
+id6934 -3.21857689946456e-05 3.83194646373186e-05 -6.35950952453283e-05 1.73495721897263e-05 -8.95087430070685e-06 8.95800514669037e-06 -3.21475686006730e-05 2.55686804358617e-05 4.93159814621435e-06 5.41416349674516e-05 -2.85894811667143e-05 1.34158379005019e-05 7.4578956183562e-05 1.15465109224529e-05 -0.000402605216624568 -1.71315609313839e-07 -3.28496654658969e-05 5.32838829830952e-05 5.88600648797585e-05 1.30595085226783e-05 6.14314604284348e-05 9.72674101426568e-05 -1.0976151912648 [...]
+id8474 -1.41792946322405e-05 2.35390709846597e-05 8.47820741722553e-06 1.26330342967590e-05 1.89858285986015e-05 2.2741180610502e-05 7.1879806598775e-05 3.3016142097298e-05 1.4345743487231e-05 6.63581455732656e-05 1.19274132145165e-05 -0.00011848076779081 7.59713120021131e-05 -7.18372253591449e-05 -2.13477455543598e-05 2.18320875158099e-05 -0.000118267350294269 -1.83653948743314e-05 -0.000105859331468805 7.20920382525196e-06 -1.24608249074410e-05 2.65617521163306e-05 -3.29557646666604e-0 [...]
+id5971 9.51817948745304e-06 -3.06218870102257e-06 2.4866076244097e-05 -0.000116731870375672 -9.4425028855742e-06 2.66629902588236e-05 -1.09658864978364e-05 -2.42505336992503e-05 -3.65850093877284e-08 8.86210600160387e-06 1.73357992434753e-05 -0.000119249596195892 -0.000272817166395585 -9.00725535102954e-05 2.09479998429479e-05 3.31256194761773e-05 -7.93341545744927e-05 -0.000122724929163032 5.85623538546968e-05 6.25709589214687e-05 3.17623349573927e-05 -1.80454785966819e-05 0.00012307856 [...]
+id283 -0.000276353310974104 4.82490303764847e-05 1.38716134422850e-06 8.58227995197954e-05 5.23427189914126e-05 1.96171159661167e-05 4.18234357599847e-05 -1.19765132572121e-05 -1.41520756735288e-05 5.05873581947764e-05 1.9512321510525e-05 -4.92615638559199e-05 1.93584307158675e-05 3.28582691291572e-06 -0.000158228190326886 -6.2015945693254e-05 -3.75139582017312e-05 -6.23281041697888e-05 1.91905777386903e-05 1.22468274646015e-05 1.51661512799921e-05 9.81880184528144e-05 -4.38734842951107e [...]
+id2338 -7.28456777667776e-06 5.82641107754408e-05 5.50292436362137e-06 -2.33588170996617e-05 -6.64424340362538e-05 5.70524005652166e-05 -0.000130224975094739 -1.62791604676485e-05 3.61013315900467e-05 1.93983904983775e-05 -2.4305328153151e-05 2.81520501411644e-05 -9.8598070162741e-05 -2.16116841303784e-05 -9.25561846611404e-05 -1.44203031338299e-05 -4.4927027523683e-05 -8.51848148837103e-05 -5.61546628291201e-05 3.18678277425788e-05 -2.83040143486554e-05 -6.93094821312048e-06 3.648115767 [...]
+id4484 -8.4002814418529e-05 -3.44334058058817e-05 -9.01211225993325e-05 4.14062131437389e-05 -1.77762154966399e-05 -1.23442675136048e-05 1.56574916561529e-05 2.00744583407020e-05 -8.03346662164827e-05 -1.94619690804907e-05 -2.069784615179e-05 6.24929012974582e-05 1.68004052254869e-05 1.28641664327205e-08 4.87390472895074e-05 -3.85833119048383e-05 -0.000172471091011833 7.07701059602436e-06 -2.55679076670211e-05 6.22241620496455e-05 7.1168409304564e-05 7.57209613756704e-05 8.78969637877717 [...]
+id1515 -2.92487328926008e-05 3.98298509462997e-05 9.24673545898695e-05 2.31312974808584e-05 -2.58108503098029e-05 -0.000107067188931929 1.31947376882010e-05 4.46472030370892e-05 6.6234872817017e-05 5.76724501650764e-06 5.42409958069267e-06 -0.000181912170272492 -1.30083979892391e-05 7.40223877149217e-05 6.85513959818906e-05 6.53260914029384e-05 -3.13467560137110e-05 6.13742655616004e-05 9.76118105460274e-06 1.49906533497233e-05 -0.000184603272239671 -2.04954048269023e-05 0.00010144868903 [...]
+id9678 7.98946712978303e-05 7.36665006150313e-05 4.7123336512559e-05 -1.65719634282228e-05 0.000125316946977545 3.02032358268772e-05 6.5901154407813e-05 3.89447025762921e-05 -4.04239970130367e-07 2.88088351809928e-05 5.79417510007436e-05 6.52620781028085e-05 -6.2760548816512e-05 6.94417511618722e-05 -4.74282958804926e-06 1.40236420087775e-05 -5.37472297531236e-06 -5.3887455039282e-06 -0.000111086619425118 1.25460568366721e-05 4.52523976707538e-05 8.59140810685512e-05 -5.91720712659918e-0 [...]
+id2837 4.255133034346e-05 -1.95970458877650e-05 0.000102391166966904 -2.77253088642221e-05 -3.36388510684002e-05 0.000113842433977208 5.78953318282763e-05 -1.01774121553053e-05 1.57570129884046e-05 -6.75824946259143e-05 6.7262516548161e-06 -2.10810204837117e-05 0.000107562391549528 2.09678852264373e-05 7.62745799143999e-05 4.49283700043928e-05 2.17887396165040e-05 -4.50698025504888e-05 -9.46003838539927e-05 -1.97748078159062e-05 -1.95435812153367e-05 -2.65301556363108e-05 3.7979423400813 [...]
+id8545 9.78232414680944e-05 6.04446232231702e-05 1.15340309663174e-05 7.77160375034031e-05 -2.82284976875496e-06 -1.33327059990198e-05 9.93805601327719e-06 -4.37637608774956e-05 -0.000131798484967130 0.000123953704416767 -0.000127967949227841 -1.18166770087056e-05 5.20230325104193e-05 7.05221696573483e-05 3.70136684743613e-05 -5.42204900845045e-05 -4.91502480524945e-05 -5.90765619800393e-06 1.35844534716257e-05 3.82592820174472e-05 -9.32912643523558e-05 -0.000100605368528964 -2.052159661 [...]
+id4474 6.97743942541248e-05 1.67316181126842e-05 -4.57900161438225e-06 -5.80557932492399e-05 -1.09236011515468e-05 3.68316565289828e-06 -2.85538649989033e-06 4.06864022447092e-06 7.68322067241475e-06 6.22531559182891e-05 4.27354115770897e-06 2.50852530634684e-06 3.36674973727677e-05 -2.99613193524126e-05 4.88519013657279e-05 -1.34892601948949e-05 2.26331077236609e-05 4.84735802387169e-05 4.21270111798656e-05 -1.69402619421770e-05 5.21655340524103e-05 5.47010772910306e-06 -5.7713479115932 [...]
+id2606 5.27178402668706e-05 3.23559571194838e-05 3.88883463919182e-05 3.01668403371485e-05 5.85168361022909e-05 -2.26624447543966e-05 3.91530071436089e-05 8.25805564456613e-06 5.33229891263141e-05 -1.51200395715223e-05 -0.000144123358852056 2.70956782547538e-05 -2.66333886362666e-05 8.39726476262136e-05 -2.2100583158387e-05 -0.000184857818576068 1.47911248857864e-05 -8.05581659756694e-05 -0.000196219545298535 -2.11615245692118e-05 2.59781057683215e-05 -4.42454627689963e-05 1.547181388234 [...]
+id4211 5.25916530054618e-05 9.9968047892562e-05 7.33607634410051e-06 8.20935241574139e-05 -4.33630160816653e-05 -3.7906254195924e-05 -2.15424550512435e-05 4.45424991998009e-05 2.06525275044845e-05 9.53749935933472e-05 -7.3700714392825e-05 3.67283273343417e-05 7.09833380719139e-06 -9.9751885615463e-06 -6.11960822550235e-06 5.22894468947849e-05 -0.000149168007636625 1.76463436791603e-05 3.07251335102883e-05 2.70601897434766e-05 4.63557283759191e-05 0.000104809333332203 -0.00013099461990267 [...]
+id992 2.74969849148881e-05 4.5894514463401e-05 -9.46519946958447e-06 -4.55449920824711e-05 -1.13793926748135e-05 5.8163595106549e-05 -4.04984268264927e-06 -2.39564487103592e-05 -2.98114902842980e-05 1.48498368864662e-05 2.27101594117205e-05 -2.11139111809198e-05 6.16224736700768e-05 7.52830173670987e-05 7.12473706238787e-06 -1.53041380225159e-05 1.83874171870096e-05 5.41698357617471e-05 3.54199408758022e-06 7.97114665026349e-05 2.63188725668074e-05 0.000132590721680657 8.55974636662636e- [...]
+id5334 -4.92928378187512e-05 -0.000187076510215007 -0.000103820903613495 -0.000131614390313811 1.82174978507456e-05 7.28084808251428e-05 -2.84255010184377e-05 -9.08721988083578e-06 8.27690731053167e-05 8.51821044439283e-05 7.65454060528539e-05 4.76341417973911e-05 2.63977407742006e-05 -3.05286249551274e-05 -3.13044111698315e-05 9.35258178882172e-05 -7.58474781589778e-05 3.61496937863635e-05 9.9802016315245e-05 -2.06471417820589e-06 1.66375361904764e-05 -2.68524977526671e-05 0.00010098719 [...]
+id2605 -1.34434731430247e-05 3.68181361635636e-05 2.08554687674099e-06 2.13547311736541e-05 -0.000203436185281274 -6.24132752934339e-06 -1.67036565660817e-05 -3.28222282221785e-05 6.83631973760743e-05 7.659273126849e-05 5.11766224101356e-05 -1.75290434917888e-05 3.31711209863933e-05 6.07973087816752e-05 1.74574662008477e-05 2.78126746027422e-05 -3.89012407866972e-05 5.24128850815645e-05 -5.37280576635937e-06 1.64488537941485e-05 -1.29689593579898e-05 -4.44615962269485e-05 0.0001181285456 [...]
+id8351 -3.27444954046579e-05 9.31577035576592e-06 6.5965333856441e-05 8.39889764227686e-05 6.7015943009636e-05 6.76052189733738e-05 8.24254342699499e-05 -5.47718921205152e-05 -2.74122697353979e-05 -2.07133726998282e-05 -8.18004942860187e-05 1.54025680009e-05 -9.09271346239353e-05 9.07548724741657e-05 1.99083407742515e-05 -1.26211917932864e-05 -2.16269919447224e-05 5.59133809956646e-05 2.56556328457130e-05 -2.10908260425891e-05 6.1735456858013e-05 1.43468472983962e-05 -4.0463186240534e-05 [...]
+id4425 2.29394625879933e-06 3.77513916318862e-05 -1.11110506333017e-05 -6.35795047727545e-05 8.28872452667189e-05 4.69678891231792e-05 -0.00016833512492788 -0.000119657813556684 -5.23713335473429e-05 3.41836973837429e-05 -0.000100271803892796 2.37214676472979e-05 -0.000109074384273687 -5.37160373249988e-05 -2.64009917246003e-06 5.547462560974e-05 -6.42903968466129e-06 0.000102045019217658 5.70792004877388e-06 1.16914125590538e-05 -1.18125616410133e-05 7.76093543688444e-05 1.1745324086582 [...]
+id6808 7.25859662836997e-05 -5.73824933161366e-06 -1.89350990396259e-05 7.44421685146465e-05 -5.50607803368103e-05 6.10438391245683e-05 0.000123897542310893 -5.85944805107174e-05 3.70274929516662e-05 -6.88361886038826e-05 8.99561768723519e-05 8.00286822604046e-05 -4.31039911767541e-05 9.64258773197787e-06 3.21833672839281e-05 7.87585258195472e-05 -9.06756063792346e-06 -6.08383280885182e-06 7.23833619227682e-05 -4.12556166658029e-05 7.70006573490591e-05 6.60195868205997e-05 -2.43835728143 [...]
+id9406 4.87699857056073e-05 -2.70975110093443e-05 -1.38279779781349e-05 6.29672434913387e-05 3.87966589633098e-05 8.37105836696651e-05 8.74022174868219e-05 5.25168977166048e-05 6.37589859829674e-05 2.2970547421623e-05 3.19564836183494e-05 -7.79144689348322e-05 -4.61136519286540e-05 3.71846739741398e-05 9.79316883941336e-05 -5.76477626890782e-05 9.65872474404337e-05 8.60697608896966e-05 -7.23204758652499e-06 2.18995289143642e-05 1.94847882465276e-05 -7.60800231008174e-05 2.84052428117138e [...]
+id5419 1.45502349625049e-05 -4.87320671468647e-05 6.61958958037039e-05 9.91006878031501e-05 -8.35537327119831e-05 6.14550499848489e-05 6.08758325899284e-05 8.10237931227423e-05 -4.66473969442907e-05 -9.28235638918439e-06 -2.03674694875141e-05 -0.000151969333690825 -2.00106134952440e-05 8.82290956031681e-05 -3.6330110267256e-05 -1.41804096577657e-05 -2.95294040951302e-05 3.9513326565247e-05 2.4968450386708e-05 1.5380321355359e-05 -9.54413689001443e-05 -0.000124178546545949 -6.716764724039 [...]
+id620 -3.64699813873321e-05 -3.12667497457492e-06 -9.1612523089629e-05 4.98062890259527e-05 -0.000103281458973591 -1.79389228489012e-05 5.82788722723501e-05 1.48905376999271e-05 -0.000211203457663495 -3.39702644785636e-05 7.9031843240652e-05 5.47505981396808e-05 -5.30731137195048e-05 -1.06584399815947e-06 -2.84629632126269e-07 -6.44265065658005e-05 -4.94718551026410e-05 -2.11324401668744e-05 -1.37067880967065e-05 1.55092880782057e-05 4.69795865301788e-05 8.07659534502165e-06 -8.926856871 [...]
+id6359 2.92297211243033e-05 -5.242166752635e-05 -3.35862578256847e-05 3.67658317742584e-05 -3.46411827747403e-05 9.04553506255255e-05 3.90785409468053e-05 3.24694882954104e-05 -3.74998941993703e-05 5.30135297311278e-05 -3.43867202281668e-05 -3.11342195414458e-05 3.79197649507509e-05 6.5056954284937e-05 -0.000403864801671088 1.47463247235614e-05 7.21885994643988e-05 -5.8679552442212e-06 -2.93158788960265e-05 2.75012058081205e-05 -2.74161730861275e-05 -0.000100945946792098 5.06752278653654 [...]
+id2418 3.60376462242249e-05 4.92708888543426e-05 2.673486866052e-05 -2.13547137495849e-05 6.46896781021729e-05 -2.22799020439876e-05 6.26848304996805e-05 -2.36344655111860e-06 -2.15587867196227e-05 7.75962149097829e-05 1.31989385461503e-05 6.43426699874726e-05 -5.06890365496309e-05 4.59074141089080e-05 -2.17232886046837e-05 -7.14517222455906e-05 9.97700648854922e-05 1.30870207600337e-05 -6.71534250856701e-06 8.06455994353034e-05 -6.01501141184053e-05 -0.000109613261794101 -6.708844249505 [...]
+id7928 -2.81994145120838e-05 -9.56689178086222e-05 2.89444838641305e-05 0.000150490491180050 0.000122290689336579 -3.62540376264508e-05 -2.58448289034854e-05 2.54334888154592e-05 4.97523932591468e-05 -7.69183675215692e-05 -1.32023872919743e-05 -9.42829668532815e-07 7.41331112284399e-05 4.70435136465164e-05 -1.60821260410441e-05 0.000100366955266991 -2.32363118607478e-05 -2.28716966955134e-05 -3.72016266956246e-05 4.59512364778242e-05 -5.99029372286963e-05 4.10578752243139e-05 5.653956604 [...]
+id4935 6.47651067035164e-06 3.79271237113946e-05 6.91065313238279e-05 7.18028450987167e-05 8.56273012017665e-05 3.82302635669868e-06 -1.07800187155449e-05 0.000144973625029566 6.57876571531705e-05 -1.53026781380726e-05 -0.000103960263764051 4.48046700154078e-05 4.7487327786089e-06 2.70059701582958e-05 9.91080285505394e-06 4.09711785218594e-05 -0.000142055862495247 7.68258235108915e-05 -5.00248939528721e-05 2.27853288762828e-05 -7.82961192261091e-06 6.52658149631596e-05 6.62429488903258e- [...]
+id1791 -3.33218512723775e-05 3.27353019987104e-05 -5.14134800808847e-05 4.51569493077279e-05 -5.63422993485185e-05 7.33368543278005e-06 6.4018960040354e-05 -0.000200856693272234 -0.000216952347263659 -8.87338861450386e-05 -4.95946545540685e-05 2.45880290231393e-05 -6.26642271264623e-05 7.09360482734821e-05 -3.51724573649691e-05 5.80000399799164e-05 4.01840923863906e-06 -5.77394870259266e-05 -7.96491067533696e-05 -1.45536939473064e-06 1.78524788167070e-05 -5.83524571645994e-05 0.000154056 [...]
+id6424 -0.000100942027502452 3.28183004996938e-05 8.57353071248542e-05 0.000107091815532118 6.0950925586994e-05 -0.000105627317531915 -2.34632841136530e-06 6.97247231111199e-05 1.38778718154044e-05 4.2921340217773e-05 -7.79021674772534e-05 -2.14685175495319e-06 -3.06150493304286e-05 9.5403041562564e-05 -3.33545707999536e-05 -4.26505884622514e-06 8.94667311251892e-05 1.30192247719236e-05 3.5553954600821e-05 6.9384360827769e-05 3.24764710807777e-06 3.82906074566005e-06 4.44824563502605e-05 [...]
+id8618 -4.85364473501149e-05 5.55689501404148e-05 -0.000128342581027056 -2.70421189914351e-05 2.53465763065506e-05 1.78710136777885e-05 2.39130863824291e-05 -6.24937536732965e-05 7.94828459760296e-05 4.53247483109039e-05 -1.04177318031911e-05 4.79650338133578e-05 2.73355355966535e-05 -1.26972969735385e-05 -3.75680283127684e-05 3.89600444521618e-05 -1.35379309979888e-05 4.35458305339839e-05 8.29474147092315e-05 -3.33591701441285e-05 -5.6396364377805e-05 -2.32474350735366e-05 -1.0568339755 [...]
+id1449 7.9978116295496e-05 4.09179240548189e-05 3.25355955759647e-06 -7.51177813086778e-05 2.36697081906614e-05 6.27271499707207e-05 -1.14854476066161e-05 -7.78201954075415e-05 6.61568542238323e-05 -2.72163738270461e-06 6.74716548967726e-06 -2.80582337817768e-05 -2.29753468561788e-05 3.78552045815655e-05 -2.64092301388625e-05 -1.98118804175635e-05 -5.71977505519616e-05 -1.48568268561488e-05 -3.40788606565304e-05 3.31026511577829e-05 5.07099210788071e-05 -1.21644579491120e-05 4.6367398224 [...]
+id8737 -0.000103674099135421 4.50805255260823e-05 1.01653521521767e-05 -0.000112292271826314 9.8097186754727e-05 4.28563458818114e-05 4.71057935351472e-05 1.06729443912582e-05 5.26803072861643e-05 0.000113144536136039 3.90374432410458e-05 4.01332590182603e-05 7.92585203314123e-05 -4.28035464015282e-06 1.43360256508443e-05 4.56532662619029e-05 3.62280330323862e-05 -8.01992844689913e-06 7.3469666476919e-05 1.11136733595847e-05 -3.65214315164148e-05 2.5188939734321e-05 2.99112996548427e-05 [...]
+id517 -7.78596913675664e-05 4.40188703795877e-05 -0.000117812629834292 0.000112355186520858 2.06941444099521e-05 -2.66528573086508e-05 4.21636966356656e-05 9.38859751348047e-07 6.64273935892611e-05 -8.81000708181744e-05 5.94836019415408e-05 -0.000340117666062762 -0.000215326229179257 2.97590926184366e-05 -1.26844424421088e-05 9.90228869193711e-05 -0.000130002841809959 -6.36398687784493e-05 -4.15343253013605e-05 7.81442800007989e-05 -5.78124163558028e-05 2.60993953927840e-05 7.63454482733 [...]
+id1960 4.65242869891432e-05 3.77572833827726e-05 0.000112164267209046 -7.74452274572044e-05 -6.14201430473864e-05 -2.3915941424579e-05 -8.12833828077306e-05 -6.76889815202224e-06 5.71684155421143e-06 4.17537444573566e-05 7.73108282624855e-06 3.94231288093339e-05 7.53005614738706e-06 -0.000175068183207395 9.60434905721762e-05 5.07894037331129e-05 4.58204100635254e-05 1.3943924210799e-05 -2.45675276416166e-05 3.09619138525671e-05 1.24813721982249e-05 -1.25367045414925e-05 -9.3607755813379e [...]
diff --git a/examples/mmscore_pheno.PHE b/examples/mmscore_pheno.PHE
new file mode 100644
index 0000000..a277088
--- /dev/null
+++ b/examples/mmscore_pheno.PHE
@@ -0,0 +1,501 @@
+id height_residuals
+id4 -9.8130684563732
+id10 -3.47642823404311
+id25 6.26095765925731
+id33 11.3778459732314
+id35 -4.79095430879806
+id58 0.370774680307449
+id68 -8.65341409945518
+id74 4.95199124661318
+id107 -9.8280719102797
+id119 -2.05732829257249
+id145 -11.0053065203606
+id188 10.5684266561150
+id199 -8.71144640748489
+id266 -10.8128568432748
+id300 1.0195502997056
+id327 -3.7888225605937
+id345 -1.68040743597638
+id386 8.34187263008582
+id392 -10.7763909646547
+id403 -13.3594925810281
+id415 11.8359072103713
+id496 5.10677928638211
+id497 -10.7400082781849
+id504 -8.63655134111576
+id542 -4.01591406453912
+id575 -2.12341534210501
+id586 -16.0447985928816
+id608 -8.9912423243371
+id617 -6.90731288125582
+id666 0.563723455274641
+id689 10.4066232174958
+id722 -2.83795563094370
+id765 -0.125989177421445
+id780 -4.43119585976052
+id796 0.941018457375321
+id802 2.72037466743413
+id812 4.32510152907633
+id830 -13.0483091132892
+id835 18.6892597836088
+id892 0.556771363748197
+id908 1.61754574930427
+id938 6.37385612058515
+id980 13.8899429152807
+id994 -4.44218215757641
+id1047 -7.49298976970613
+id1052 2.43234373992473
+id1055 -0.583915991056585
+id1068 -2.04247224486994
+id1076 3.50761816208049
+id1109 -7.69449401049312
+id1156 -7.67898835525202
+id1176 1.10542823464897
+id1186 -3.9592856566029
+id1193 -8.27698180641326
+id1251 6.53321043068226
+id1265 13.7962430289602
+id1382 5.2380357372179
+id1394 0.452181685059628
+id1408 -3.75355790480694
+id1423 5.89873704601058
+id1457 11.1354832747320
+id1469 9.0606547835391
+id1477 11.3681340715066
+id1505 -6.18932731138415
+id1509 -6.84319168403212
+id1514 -5.96178175303527
+id1591 1.69100048369290
+id1593 -4.03244983210041
+id1653 -17.2580746348943
+id1656 12.5462602712063
+id1737 -2.46090392227131
+id1760 12.3115532434616
+id1784 3.87794638649257
+id1827 -0.518595007278947
+id1841 14.2072014632652
+id1895 -8.2482149369763
+id1897 8.8749603612025
+id1910 -5.97847715653035
+id1918 -1.76181430936728
+id1950 -1.63488005279669
+id1983 -2.14549008150408
+id1995 -5.04268790108853
+id2012 -3.20559043450839
+id2049 -3.13305763940451
+id2054 6.6177950813842
+id2056 -7.72515994844642
+id2068 10.9949723234170
+id2089 -4.89985136875183
+id2094 8.17524434709682
+id2151 6.72214379662239
+id2173 -3.43851781285727
+id2242 4.93109773793748
+id2245 -1.89001998834146
+id2317 6.19878719400907
+id2328 3.19741508196412
+id2348 1.90282004140229
+id2351 -1.54389479372281
+id2428 -1.03040098410276
+id2444 -5.26200945510791
+id2476 8.55206759050233
+id2514 6.48863862644171
+id2520 3.74287783934892
+id2524 -4.72069946857982
+id2531 5.7933146870285
+id2558 -7.63002944866747
+id2589 16.9657170995498
+id2618 6.35112143844248
+id2653 1.11833235934660
+id2654 -17.9253150504631
+id2681 2.79019415415405
+id2689 -1.07371367653616
+id2693 -13.3887678204363
+id2708 -11.3119778636504
+id2741 -7.394987730216
+id2842 -2.26488453432884
+id2862 -3.75796419603515
+id2894 0.922267381560118
+id2901 -2.55627896717709
+id2925 2.79106926754633
+id2932 -5.36359702664322
+id2973 0.643379103735981
+id2985 -9.89973602344017
+id3056 4.18812433519736
+id3111 -11.8773565056154
+id3129 -11.0763144547548
+id3139 -1.48714630106701
+id3189 9.60962074383804
+id3219 4.66790583061299
+id3263 -2.31141217004202
+id3267 -20.1958005366562
+id3305 -0.445348110669642
+id3323 4.84916137937606
+id3330 -4.62286854706736
+id3354 10.2868375628467
+id3371 1.66536551629321
+id3398 9.66677267409943
+id3400 -2.45935625128766
+id3417 8.30667798509873
+id3465 -2.74920926718139
+id3521 -0.455455602876469
+id3573 -2.77209433503862
+id3593 0.490679463433452
+id3630 6.30578504340369
+id3635 2.72215984933186
+id3641 6.85222444776304
+id3657 0.648514832521869
+id3692 -2.77480675805444
+id3701 -1.44173157176252
+id3709 13.0593762753571
+id3735 7.46361406189902
+id3809 -12.9303865594249
+id3820 -2.31456812074236
+id3823 -10.7256444160499
+id3828 13.3376002305737
+id3831 2.45280474361962
+id3847 2.91954273603349
+id3857 -2.48849567520048
+id3933 -5.5598937797115
+id3934 2.77251126475713
+id3942 -2.9730485450782
+id3957 -3.22378594681646
+id3970 -3.8159845914692
+id3983 13.4040029122255
+id4008 -8.84059278203713
+id4024 1.20514777912325
+id4031 9.2602156478988
+id4067 5.02906704192955
+id4097 9.48681901049201
+id4225 -3.70611798608215
+id4229 3.46161164395616
+id4233 13.7165843693059
+id4254 -0.554851658842949
+id4259 9.22248031030895
+id4261 6.99144472980353
+id4284 -2.84725446753006
+id4287 -7.1362992544891
+id4288 -14.5507963533545
+id4309 3.14991112389362
+id4328 -2.32243094010457
+id4337 -7.04827296283764
+id4363 -0.0698465329223552
+id4380 -8.65249763451999
+id4395 0.0983110187692375
+id4416 13.4468237297463
+id4446 4.3222508343961
+id4449 -5.24161983953474
+id4512 1.29418407062701
+id4552 1.65816825541773
+id4561 0.756700903883825
+id4606 -2.08774559558768
+id4629 -2.16599113294816
+id4645 -10.3515097019612
+id4652 4.58504635309785
+id4673 8.27948500228098
+id4675 -1.73992427713699
+id4689 1.48889468103945
+id4705 3.19457119711456
+id4710 6.66200989261543
+id4717 11.1855358629543
+id4734 4.22040966680999
+id4751 -13.7660927768540
+id4781 5.42999106077042
+id4798 -5.56183220832767
+id4806 -6.31898179745696
+id4807 -12.6015674562566
+id4812 -1.83585656283950
+id4834 1.28690641603740
+id4842 -4.70320649610326
+id4883 -3.32973189572022
+id4904 17.811751648638
+id4934 -8.76656160222461
+id4959 11.5390567878313
+id4961 9.48033687242435
+id5014 -2.22860060877608
+id5055 1.41366276608940
+id5078 7.58788949436791
+id5150 0.243516721992222
+id5263 -2.81560333143190
+id5274 0.624028494875603
+id5275 -9.26746590591844
+id5324 1.30910673356234
+id5385 12.5722308928482
+id5398 2.02801932328646
+id5407 -13.5745812497076
+id5444 6.54888728788927
+id5454 -0.96823902515203
+id5495 -14.3039571177545
+id5496 11.0888024325840
+id5517 -5.47515077323865
+id5522 -11.6590765185805
+id5598 -2.06215204747215
+id5627 -2.39591715695238
+id5672 9.54924433171917
+id5736 12.5180526080973
+id5739 1.05582810639763
+id5764 -11.6024578646660
+id5770 -7.83932792381216
+id5844 -1.55857457500829
+id5853 -13.7888455143191
+id5890 4.78609843080784
+id5912 7.775602976615
+id5926 -1.81095004132476
+id5966 -15.6009969578792
+id5969 9.72366966331373
+id5989 -4.09701088958161
+id5991 2.9652833809171
+id6002 10.4855557008254
+id6009 -8.27174185086076
+id6011 3.27360637668770
+id6020 6.03545342139572
+id6043 -2.85036649693646
+id6051 0.982287013348696
+id6139 0.377806155972223
+id6141 -7.90864671555954
+id6208 -2.57569084064119
+id6221 2.46656177959903
+id6222 -7.80973202691865
+id6237 9.9896302475631
+id6243 -10.0359884419365
+id6244 -11.8065916731486
+id6255 -4.50024284656817
+id6270 8.28980551196634
+id6278 0.500569404060286
+id6290 -7.1586482842159
+id6306 -7.37523537289937
+id6333 -1.20429934651497
+id6352 11.0643852424278
+id6386 5.00369075724862
+id6443 9.97205858860599
+id6488 8.85544422821135
+id6499 9.20755205806154
+id6501 -5.44893064482676
+id6506 -4.07810304406422
+id6544 14.5810665170695
+id6554 -9.60088030340611
+id6588 -6.99199996260145
+id6603 -1.62904803674573
+id6641 -13.7886340930404
+id6645 2.37253176023961
+id6651 -5.04331538121389
+id6661 -0.704660340435112
+id6663 -13.4129631299766
+id6709 -5.23963547311016
+id6723 2.88817515381976
+id6740 -1.78348139502958
+id6773 -3.49185176205748
+id6802 5.27710865653376
+id6820 8.2041010281982
+id6829 -2.78518159278889
+id6840 -8.85104209454437
+id6847 10.1079632079496
+id6857 -6.9921445803565
+id6866 -13.4743852930216
+id6950 5.35397306801752
+id6998 -1.52744663773433
+id7036 4.99774754515752
+id7038 2.66121819614244
+id7063 0.914734405550405
+id7072 -9.695395265531
+id7094 1.84562943400567
+id7100 6.78269797241907
+id7139 11.5018526971034
+id7147 12.0397289581248
+id7157 -4.7407352168797
+id7173 6.88190838598365
+id7202 -5.05775991938052
+id7212 9.09307647631337
+id7249 -3.86329968015949
+id7255 0.305682060336096
+id7257 -18.043584701435
+id7333 2.52512896857812
+id7355 -4.76383817198823
+id7369 14.2266953756547
+id7415 4.62890911191184
+id7451 -8.58397344252646
+id7499 -3.63853274805868
+id7507 -15.3307266165870
+id7514 1.88177209136060
+id7528 -2.87564214411515
+id7541 -3.09856510783567
+id7546 -12.2128666335233
+id7563 -12.5120329990722
+id7570 10.9896421558761
+id7589 0.668225901813514
+id7598 1.59353417804979
+id7607 10.8397619118758
+id7623 2.75878163041227
+id7652 -5.71334420600579
+id7733 3.10139830871887
+id7737 -1.21271173112484
+id7738 -3.68859727048559
+id7771 3.21933622708772
+id7772 4.02729122571023
+id7801 -0.542988181172774
+id7814 -10.7423837334054
+id7835 1.96242978349161
+id7850 1.17944607615479
+id7868 -7.50228003871874
+id7909 14.1645934850349
+id7939 8.2409626149015
+id7949 -5.11191728390492
+id7952 0.208635727417203
+id8059 9.53293352064236
+id8109 6.65482628625821
+id8115 -0.169732871924225
+id8128 2.99353281843813
+id8136 8.93122897198711
+id8138 0.226550873908735
+id8143 -1.62754340479034
+id8208 5.85579542297879
+id8213 -13.6904521214715
+id8268 2.28608404062857
+id8281 5.90038777841633
+id8286 -15.8417066428000
+id8326 -1.14386449533453
+id8400 9.01170948129558
+id8423 -7.73926159991657
+id8433 -10.7006907988163
+id8517 8.3647428336422
+id8583 -1.61387464986231
+id8604 -7.0474115827468
+id8614 5.94710244728671
+id8690 1.01357678512568
+id8693 8.27497278010742
+id8729 1.13941153738713
+id8752 2.50510652309325
+id8753 21.3898972216323
+id8772 -8.56088480355734
+id8801 -1.42620785884498
+id8819 8.92435710890854
+id8842 4.21375320064249
+id8859 -1.76964863536890
+id8865 -0.217560311036976
+id8880 -3.74997299647362
+id8890 -6.6345570028351
+id8894 2.9922170676781
+id8917 -1.97459611360495
+id8930 -0.864905650848414
+id8935 7.76222394722697
+id8957 -8.5799998074967
+id8996 -4.84924577458537
+id9020 1.32498654680339
+id9026 -10.8113097752653
+id9033 11.8096870690078
+id9058 8.95805012214262
+id9061 13.0670972855680
+id9082 1.77055560738197
+id9132 3.71531559496754
+id9166 -13.6299923984097
+id9178 11.1539483954152
+id9234 4.07680838807391
+id9238 -11.8278673764981
+id9242 14.8499426767544
+id9259 -0.517264103718645
+id9266 -0.330529378587045
+id9321 6.05236977327473
+id9340 5.69901323056473
+id9408 -4.86068444935017
+id9410 -3.39497281181809
+id9411 5.76244055088708
+id9449 -0.141694213661907
+id9487 -0.424068985671198
+id9511 -2.50056859539191
+id9570 -5.70994021458506
+id9588 -8.93851133485146
+id9614 3.16805492518429
+id9643 2.01399004530327
+id9658 4.31993481279881
+id9760 -6.15971038056583
+id9800 -9.91227356337072
+id9851 5.20314626552536
+id9852 8.91634453797772
+id9859 -7.67261035998001
+id9862 -14.9322410088834
+id9877 5.96441997838309
+id9883 -0.797846067865805
+id9893 8.61196855310797
+id9901 7.05392825387844
+id9906 7.29261281595666
+id9918 -1.46137669770457
+id9930 11.9788824938749
+id9956 -10.2219823662575
+id9990 -4.12763845013933
+id9997 -5.30703431204967
+id5465 -1.33392626968177
+id4625 -5.30865392795351
+id7159 -0.613367375623511
+id8416 13.3668133460982
+id9444 -8.1783788042574
+id2622 -0.428390070835661
+id7493 -0.465038897628659
+id1102 -1.96079080623446
+id3210 -11.3334162493650
+id541 -0.957147938201473
+id6471 -8.07056650221006
+id697 11.0382164138445
+id6924 11.2957847234190
+id8060 -7.46904576640023
+id2004 -5.13957259084708
+id7534 1.6176576536391
+id9836 -14.3832149770321
+id1389 -0.433194087213963
+id6062 -1.46634694249545
+id5546 8.25121769606528
+id4096 10.9591547424284
+id9185 8.64326584844116
+id3917 -7.49974016847997
+id5941 0.602849507413111
+id5701 -3.11760282135481
+id4711 1.86061349964899
+id5689 0.107090908192788
+id7947 -3.32206780568123
+id5556 7.72232993668686
+id5472 1.12038775302278
+id1482 1.04723121047530
+id8034 0.829451724877003
+id6609 4.48472595306544
+id2181 -3.23577105786839
+id226 6.27735536924834
+id4947 -9.80281231655286
+id9626 1.24687736587904
+id3825 -0.321912602203469
+id5114 -6.72482118027102
+id3059 -11.7298414692798
+id967 -5.46511489661177
+id4505 3.88839194748164
+id455 3.29483891492129
+id6934 5.95126406534638
+id8474 -7.93404258564834
+id5971 2.74662036993772
+id283 0.411797519675673
+id2338 -2.92601067952791
+id4484 3.42123541813919
+id1515 -4.62622531209129
+id9678 -3.2232420662462
+id2837 2.43569333385668
+id8545 0.296028158339482
+id4474 2.1812775176183
+id2606 -1.35003584909430
+id4211 13.1712202731341
+id992 7.30788504975453
+id5334 -10.6625920529139
+id2605 1.20881436881101
+id8351 0.73307546605318
+id4425 15.2521845681741
+id6808 1.02846714464368
+id9406 6.98304704183053
+id5419 -11.3170464742224
+id620 2.0486293581188
+id6359 -4.649789125967
+id2418 -3.16606691908274
+id7928 9.52253153722106
+id4935 10.7059866141828
+id1791 4.28075877145483
+id6424 7.08526899267414
+id8618 -0.344672827034543
+id1449 0.0253685057562052
+id8737 13.3570839983232
+id517 -17.7742363069539
+id1960 0.166008984154331
diff --git a/install-sh b/install-sh
new file mode 100755
index 0000000..6781b98
--- /dev/null
+++ b/install-sh
@@ -0,0 +1,520 @@
+#!/bin/sh
+# install - install a program, script, or datafile
+
+scriptversion=2009-04-28.21; # UTC
+
+# This originates from X11R5 (mit/util/scripts/install.sh), which was
+# later released in X11R6 (xc/config/util/install.sh) with the
+# following copyright and license.
+#
+# Copyright (C) 1994 X Consortium
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to
+# deal in the Software without restriction, including without limitation the
+# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+# sell copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
+# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+#
+# Except as contained in this notice, the name of the X Consortium shall not
+# be used in advertising or otherwise to promote the sale, use or other deal-
+# ings in this Software without prior written authorization from the X Consor-
+# tium.
+#
+#
+# FSF changes to this file are in the public domain.
+#
+# Calling this script install-sh is preferred over install.sh, to prevent
+# `make' implicit rules from creating a file called install from it
+# when there is no Makefile.
+#
+# This script is compatible with the BSD install script, but was written
+# from scratch.
+
+nl='
+'
+IFS=" "" $nl"
+
+# set DOITPROG to echo to test this script
+
+# Don't use :- since 4.3BSD and earlier shells don't like it.
+doit=${DOITPROG-}
+if test -z "$doit"; then
+ doit_exec=exec
+else
+ doit_exec=$doit
+fi
+
+# Put in absolute file names if you don't have them in your path;
+# or use environment vars.
+
+chgrpprog=${CHGRPPROG-chgrp}
+chmodprog=${CHMODPROG-chmod}
+chownprog=${CHOWNPROG-chown}
+cmpprog=${CMPPROG-cmp}
+cpprog=${CPPROG-cp}
+mkdirprog=${MKDIRPROG-mkdir}
+mvprog=${MVPROG-mv}
+rmprog=${RMPROG-rm}
+stripprog=${STRIPPROG-strip}
+
+posix_glob='?'
+initialize_posix_glob='
+ test "$posix_glob" != "?" || {
+ if (set -f) 2>/dev/null; then
+ posix_glob=
+ else
+ posix_glob=:
+ fi
+ }
+'
+
+posix_mkdir=
+
+# Desired mode of installed file.
+mode=0755
+
+chgrpcmd=
+chmodcmd=$chmodprog
+chowncmd=
+mvcmd=$mvprog
+rmcmd="$rmprog -f"
+stripcmd=
+
+src=
+dst=
+dir_arg=
+dst_arg=
+
+copy_on_change=false
+no_target_directory=
+
+usage="\
+Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
+ or: $0 [OPTION]... SRCFILES... DIRECTORY
+ or: $0 [OPTION]... -t DIRECTORY SRCFILES...
+ or: $0 [OPTION]... -d DIRECTORIES...
+
+In the 1st form, copy SRCFILE to DSTFILE.
+In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
+In the 4th, create DIRECTORIES.
+
+Options:
+ --help display this help and exit.
+ --version display version info and exit.
+
+ -c (ignored)
+ -C install only if different (preserve the last data modification time)
+ -d create directories instead of installing files.
+ -g GROUP $chgrpprog installed files to GROUP.
+ -m MODE $chmodprog installed files to MODE.
+ -o USER $chownprog installed files to USER.
+ -s $stripprog installed files.
+ -t DIRECTORY install into DIRECTORY.
+ -T report an error if DSTFILE is a directory.
+
+Environment variables override the default commands:
+ CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
+ RMPROG STRIPPROG
+"
+
+while test $# -ne 0; do
+ case $1 in
+ -c) ;;
+
+ -C) copy_on_change=true;;
+
+ -d) dir_arg=true;;
+
+ -g) chgrpcmd="$chgrpprog $2"
+ shift;;
+
+ --help) echo "$usage"; exit $?;;
+
+ -m) mode=$2
+ case $mode in
+ *' '* | *' '* | *'
+'* | *'*'* | *'?'* | *'['*)
+ echo "$0: invalid mode: $mode" >&2
+ exit 1;;
+ esac
+ shift;;
+
+ -o) chowncmd="$chownprog $2"
+ shift;;
+
+ -s) stripcmd=$stripprog;;
+
+ -t) dst_arg=$2
+ shift;;
+
+ -T) no_target_directory=true;;
+
+ --version) echo "$0 $scriptversion"; exit $?;;
+
+ --) shift
+ break;;
+
+ -*) echo "$0: invalid option: $1" >&2
+ exit 1;;
+
+ *) break;;
+ esac
+ shift
+done
+
+if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
+ # When -d is used, all remaining arguments are directories to create.
+ # When -t is used, the destination is already specified.
+ # Otherwise, the last argument is the destination. Remove it from $@.
+ for arg
+ do
+ if test -n "$dst_arg"; then
+ # $@ is not empty: it contains at least $arg.
+ set fnord "$@" "$dst_arg"
+ shift # fnord
+ fi
+ shift # arg
+ dst_arg=$arg
+ done
+fi
+
+if test $# -eq 0; then
+ if test -z "$dir_arg"; then
+ echo "$0: no input file specified." >&2
+ exit 1
+ fi
+ # It's OK to call `install-sh -d' without argument.
+ # This can happen when creating conditional directories.
+ exit 0
+fi
+
+if test -z "$dir_arg"; then
+ trap '(exit $?); exit' 1 2 13 15
+
+ # Set umask so as not to create temps with too-generous modes.
+ # However, 'strip' requires both read and write access to temps.
+ case $mode in
+ # Optimize common cases.
+ *644) cp_umask=133;;
+ *755) cp_umask=22;;
+
+ *[0-7])
+ if test -z "$stripcmd"; then
+ u_plus_rw=
+ else
+ u_plus_rw='% 200'
+ fi
+ cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
+ *)
+ if test -z "$stripcmd"; then
+ u_plus_rw=
+ else
+ u_plus_rw=,u+rw
+ fi
+ cp_umask=$mode$u_plus_rw;;
+ esac
+fi
+
+for src
+do
+ # Protect names starting with `-'.
+ case $src in
+ -*) src=./$src;;
+ esac
+
+ if test -n "$dir_arg"; then
+ dst=$src
+ dstdir=$dst
+ test -d "$dstdir"
+ dstdir_status=$?
+ else
+
+ # Waiting for this to be detected by the "$cpprog $src $dsttmp" command
+ # might cause directories to be created, which would be especially bad
+ # if $src (and thus $dsttmp) contains '*'.
+ if test ! -f "$src" && test ! -d "$src"; then
+ echo "$0: $src does not exist." >&2
+ exit 1
+ fi
+
+ if test -z "$dst_arg"; then
+ echo "$0: no destination specified." >&2
+ exit 1
+ fi
+
+ dst=$dst_arg
+ # Protect names starting with `-'.
+ case $dst in
+ -*) dst=./$dst;;
+ esac
+
+ # If destination is a directory, append the input filename; won't work
+ # if double slashes aren't ignored.
+ if test -d "$dst"; then
+ if test -n "$no_target_directory"; then
+ echo "$0: $dst_arg: Is a directory" >&2
+ exit 1
+ fi
+ dstdir=$dst
+ dst=$dstdir/`basename "$src"`
+ dstdir_status=0
+ else
+ # Prefer dirname, but fall back on a substitute if dirname fails.
+ dstdir=`
+ (dirname "$dst") 2>/dev/null ||
+ expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$dst" : 'X\(//\)[^/]' \| \
+ X"$dst" : 'X\(//\)$' \| \
+ X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
+ echo X"$dst" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'
+ `
+
+ test -d "$dstdir"
+ dstdir_status=$?
+ fi
+ fi
+
+ obsolete_mkdir_used=false
+
+ if test $dstdir_status != 0; then
+ case $posix_mkdir in
+ '')
+ # Create intermediate dirs using mode 755 as modified by the umask.
+ # This is like FreeBSD 'install' as of 1997-10-28.
+ umask=`umask`
+ case $stripcmd.$umask in
+ # Optimize common cases.
+ *[2367][2367]) mkdir_umask=$umask;;
+ .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
+
+ *[0-7])
+ mkdir_umask=`expr $umask + 22 \
+ - $umask % 100 % 40 + $umask % 20 \
+ - $umask % 10 % 4 + $umask % 2
+ `;;
+ *) mkdir_umask=$umask,go-w;;
+ esac
+
+ # With -d, create the new directory with the user-specified mode.
+ # Otherwise, rely on $mkdir_umask.
+ if test -n "$dir_arg"; then
+ mkdir_mode=-m$mode
+ else
+ mkdir_mode=
+ fi
+
+ posix_mkdir=false
+ case $umask in
+ *[123567][0-7][0-7])
+ # POSIX mkdir -p sets u+wx bits regardless of umask, which
+ # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
+ ;;
+ *)
+ tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
+ trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
+
+ if (umask $mkdir_umask &&
+ exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
+ then
+ if test -z "$dir_arg" || {
+ # Check for POSIX incompatibilities with -m.
+ # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
+ # other-writeable bit of parent directory when it shouldn't.
+ # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
+ ls_ld_tmpdir=`ls -ld "$tmpdir"`
+ case $ls_ld_tmpdir in
+ d????-?r-*) different_mode=700;;
+ d????-?--*) different_mode=755;;
+ *) false;;
+ esac &&
+ $mkdirprog -m$different_mode -p -- "$tmpdir" && {
+ ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
+ test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
+ }
+ }
+ then posix_mkdir=:
+ fi
+ rmdir "$tmpdir/d" "$tmpdir"
+ else
+ # Remove any dirs left behind by ancient mkdir implementations.
+ rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
+ fi
+ trap '' 0;;
+ esac;;
+ esac
+
+ if
+ $posix_mkdir && (
+ umask $mkdir_umask &&
+ $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
+ )
+ then :
+ else
+
+ # The umask is ridiculous, or mkdir does not conform to POSIX,
+ # or it failed possibly due to a race condition. Create the
+ # directory the slow way, step by step, checking for races as we go.
+
+ case $dstdir in
+ /*) prefix='/';;
+ -*) prefix='./';;
+ *) prefix='';;
+ esac
+
+ eval "$initialize_posix_glob"
+
+ oIFS=$IFS
+ IFS=/
+ $posix_glob set -f
+ set fnord $dstdir
+ shift
+ $posix_glob set +f
+ IFS=$oIFS
+
+ prefixes=
+
+ for d
+ do
+ test -z "$d" && continue
+
+ prefix=$prefix$d
+ if test -d "$prefix"; then
+ prefixes=
+ else
+ if $posix_mkdir; then
+ (umask=$mkdir_umask &&
+ $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
+ # Don't fail if two instances are running concurrently.
+ test -d "$prefix" || exit 1
+ else
+ case $prefix in
+ *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
+ *) qprefix=$prefix;;
+ esac
+ prefixes="$prefixes '$qprefix'"
+ fi
+ fi
+ prefix=$prefix/
+ done
+
+ if test -n "$prefixes"; then
+ # Don't fail if two instances are running concurrently.
+ (umask $mkdir_umask &&
+ eval "\$doit_exec \$mkdirprog $prefixes") ||
+ test -d "$dstdir" || exit 1
+ obsolete_mkdir_used=true
+ fi
+ fi
+ fi
+
+ if test -n "$dir_arg"; then
+ { test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
+ { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
+ { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
+ test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
+ else
+
+ # Make a couple of temp file names in the proper directory.
+ dsttmp=$dstdir/_inst.$$_
+ rmtmp=$dstdir/_rm.$$_
+
+ # Trap to clean up those temp files at exit.
+ trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
+
+ # Copy the file name to the temp name.
+ (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
+
+ # and set any options; do chmod last to preserve setuid bits.
+ #
+ # If any of these fail, we abort the whole thing. If we want to
+ # ignore errors from any of these, just make sure not to ignore
+ # errors from the above "$doit $cpprog $src $dsttmp" command.
+ #
+ { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
+ { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
+ { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
+ { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
+
+ # If -C, don't bother to copy if it wouldn't change the file.
+ if $copy_on_change &&
+ old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
+ new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
+
+ eval "$initialize_posix_glob" &&
+ $posix_glob set -f &&
+ set X $old && old=:$2:$4:$5:$6 &&
+ set X $new && new=:$2:$4:$5:$6 &&
+ $posix_glob set +f &&
+
+ test "$old" = "$new" &&
+ $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
+ then
+ rm -f "$dsttmp"
+ else
+ # Rename the file to the real destination.
+ $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
+
+ # The rename failed, perhaps because mv can't rename something else
+ # to itself, or perhaps because mv is so ancient that it does not
+ # support -f.
+ {
+ # Now remove or move aside any old file at destination location.
+ # We try this two ways since rm can't unlink itself on some
+ # systems and the destination file might be busy for other
+ # reasons. In this case, the final cleanup might fail but the new
+ # file should still install successfully.
+ {
+ test ! -f "$dst" ||
+ $doit $rmcmd -f "$dst" 2>/dev/null ||
+ { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
+ { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
+ } ||
+ { echo "$0: cannot unlink or rename $dst" >&2
+ (exit 1); exit 1
+ }
+ } &&
+
+ # Now rename the file to the real destination.
+ $doit $mvcmd "$dsttmp" "$dst"
+ }
+ fi || exit 1
+
+ trap '' 0
+ fi
+done
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
diff --git a/missing b/missing
new file mode 100755
index 0000000..28055d2
--- /dev/null
+++ b/missing
@@ -0,0 +1,376 @@
+#! /bin/sh
+# Common stub for a few missing GNU programs while installing.
+
+scriptversion=2009-04-28.21; # UTC
+
+# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006,
+# 2008, 2009 Free Software Foundation, Inc.
+# Originally by Fran,cois Pinard <pinard at iro.umontreal.ca>, 1996.
+
+# 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, 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, see <http://www.gnu.org/licenses/>.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+if test $# -eq 0; then
+ echo 1>&2 "Try \`$0 --help' for more information"
+ exit 1
+fi
+
+run=:
+sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
+sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
+
+# In the cases where this matters, `missing' is being run in the
+# srcdir already.
+if test -f configure.ac; then
+ configure_ac=configure.ac
+else
+ configure_ac=configure.in
+fi
+
+msg="missing on your system"
+
+case $1 in
+--run)
+ # Try to run requested program, and just exit if it succeeds.
+ run=
+ shift
+ "$@" && exit 0
+ # Exit code 63 means version mismatch. This often happens
+ # when the user try to use an ancient version of a tool on
+ # a file that requires a minimum version. In this case we
+ # we should proceed has if the program had been absent, or
+ # if --run hadn't been passed.
+ if test $? = 63; then
+ run=:
+ msg="probably too old"
+ fi
+ ;;
+
+ -h|--h|--he|--hel|--help)
+ echo "\
+$0 [OPTION]... PROGRAM [ARGUMENT]...
+
+Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
+error status if there is no known handling for PROGRAM.
+
+Options:
+ -h, --help display this help and exit
+ -v, --version output version information and exit
+ --run try to run the given command, and emulate it if it fails
+
+Supported PROGRAM values:
+ aclocal touch file \`aclocal.m4'
+ autoconf touch file \`configure'
+ autoheader touch file \`config.h.in'
+ autom4te touch the output file, or create a stub one
+ automake touch all \`Makefile.in' files
+ bison create \`y.tab.[ch]', if possible, from existing .[ch]
+ flex create \`lex.yy.c', if possible, from existing .c
+ help2man touch the output file
+ lex create \`lex.yy.c', if possible, from existing .c
+ makeinfo touch the output file
+ tar try tar, gnutar, gtar, then tar without non-portable flags
+ yacc create \`y.tab.[ch]', if possible, from existing .[ch]
+
+Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and
+\`g' are ignored when checking the name.
+
+Send bug reports to <bug-automake at gnu.org>."
+ exit $?
+ ;;
+
+ -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
+ echo "missing $scriptversion (GNU Automake)"
+ exit $?
+ ;;
+
+ -*)
+ echo 1>&2 "$0: Unknown \`$1' option"
+ echo 1>&2 "Try \`$0 --help' for more information"
+ exit 1
+ ;;
+
+esac
+
+# normalize program name to check for.
+program=`echo "$1" | sed '
+ s/^gnu-//; t
+ s/^gnu//; t
+ s/^g//; t'`
+
+# Now exit if we have it, but it failed. Also exit now if we
+# don't have it and --version was passed (most likely to detect
+# the program). This is about non-GNU programs, so use $1 not
+# $program.
+case $1 in
+ lex*|yacc*)
+ # Not GNU programs, they don't have --version.
+ ;;
+
+ tar*)
+ if test -n "$run"; then
+ echo 1>&2 "ERROR: \`tar' requires --run"
+ exit 1
+ elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
+ exit 1
+ fi
+ ;;
+
+ *)
+ if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
+ # We have it, but it failed.
+ exit 1
+ elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
+ # Could not run --version or --help. This is probably someone
+ # running `$TOOL --version' or `$TOOL --help' to check whether
+ # $TOOL exists and not knowing $TOOL uses missing.
+ exit 1
+ fi
+ ;;
+esac
+
+# If it does not exist, or fails to run (possibly an outdated version),
+# try to emulate it.
+case $program in
+ aclocal*)
+ echo 1>&2 "\
+WARNING: \`$1' is $msg. You should only need it if
+ you modified \`acinclude.m4' or \`${configure_ac}'. You might want
+ to install the \`Automake' and \`Perl' packages. Grab them from
+ any GNU archive site."
+ touch aclocal.m4
+ ;;
+
+ autoconf*)
+ echo 1>&2 "\
+WARNING: \`$1' is $msg. You should only need it if
+ you modified \`${configure_ac}'. You might want to install the
+ \`Autoconf' and \`GNU m4' packages. Grab them from any GNU
+ archive site."
+ touch configure
+ ;;
+
+ autoheader*)
+ echo 1>&2 "\
+WARNING: \`$1' is $msg. You should only need it if
+ you modified \`acconfig.h' or \`${configure_ac}'. You might want
+ to install the \`Autoconf' and \`GNU m4' packages. Grab them
+ from any GNU archive site."
+ files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
+ test -z "$files" && files="config.h"
+ touch_files=
+ for f in $files; do
+ case $f in
+ *:*) touch_files="$touch_files "`echo "$f" |
+ sed -e 's/^[^:]*://' -e 's/:.*//'`;;
+ *) touch_files="$touch_files $f.in";;
+ esac
+ done
+ touch $touch_files
+ ;;
+
+ automake*)
+ echo 1>&2 "\
+WARNING: \`$1' is $msg. You should only need it if
+ you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
+ You might want to install the \`Automake' and \`Perl' packages.
+ Grab them from any GNU archive site."
+ find . -type f -name Makefile.am -print |
+ sed 's/\.am$/.in/' |
+ while read f; do touch "$f"; done
+ ;;
+
+ autom4te*)
+ echo 1>&2 "\
+WARNING: \`$1' is needed, but is $msg.
+ You might have modified some files without having the
+ proper tools for further handling them.
+ You can get \`$1' as part of \`Autoconf' from any GNU
+ archive site."
+
+ file=`echo "$*" | sed -n "$sed_output"`
+ test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
+ if test -f "$file"; then
+ touch $file
+ else
+ test -z "$file" || exec >$file
+ echo "#! /bin/sh"
+ echo "# Created by GNU Automake missing as a replacement of"
+ echo "# $ $@"
+ echo "exit 0"
+ chmod +x $file
+ exit 1
+ fi
+ ;;
+
+ bison*|yacc*)
+ echo 1>&2 "\
+WARNING: \`$1' $msg. You should only need it if
+ you modified a \`.y' file. You may need the \`Bison' package
+ in order for those modifications to take effect. You can get
+ \`Bison' from any GNU archive site."
+ rm -f y.tab.c y.tab.h
+ if test $# -ne 1; then
+ eval LASTARG="\${$#}"
+ case $LASTARG in
+ *.y)
+ SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
+ if test -f "$SRCFILE"; then
+ cp "$SRCFILE" y.tab.c
+ fi
+ SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
+ if test -f "$SRCFILE"; then
+ cp "$SRCFILE" y.tab.h
+ fi
+ ;;
+ esac
+ fi
+ if test ! -f y.tab.h; then
+ echo >y.tab.h
+ fi
+ if test ! -f y.tab.c; then
+ echo 'main() { return 0; }' >y.tab.c
+ fi
+ ;;
+
+ lex*|flex*)
+ echo 1>&2 "\
+WARNING: \`$1' is $msg. You should only need it if
+ you modified a \`.l' file. You may need the \`Flex' package
+ in order for those modifications to take effect. You can get
+ \`Flex' from any GNU archive site."
+ rm -f lex.yy.c
+ if test $# -ne 1; then
+ eval LASTARG="\${$#}"
+ case $LASTARG in
+ *.l)
+ SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
+ if test -f "$SRCFILE"; then
+ cp "$SRCFILE" lex.yy.c
+ fi
+ ;;
+ esac
+ fi
+ if test ! -f lex.yy.c; then
+ echo 'main() { return 0; }' >lex.yy.c
+ fi
+ ;;
+
+ help2man*)
+ echo 1>&2 "\
+WARNING: \`$1' is $msg. You should only need it if
+ you modified a dependency of a manual page. You may need the
+ \`Help2man' package in order for those modifications to take
+ effect. You can get \`Help2man' from any GNU archive site."
+
+ file=`echo "$*" | sed -n "$sed_output"`
+ test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
+ if test -f "$file"; then
+ touch $file
+ else
+ test -z "$file" || exec >$file
+ echo ".ab help2man is required to generate this page"
+ exit $?
+ fi
+ ;;
+
+ makeinfo*)
+ echo 1>&2 "\
+WARNING: \`$1' is $msg. You should only need it if
+ you modified a \`.texi' or \`.texinfo' file, or any other file
+ indirectly affecting the aspect of the manual. The spurious
+ call might also be the consequence of using a buggy \`make' (AIX,
+ DU, IRIX). You might want to install the \`Texinfo' package or
+ the \`GNU make' package. Grab either from any GNU archive site."
+ # The file to touch is that specified with -o ...
+ file=`echo "$*" | sed -n "$sed_output"`
+ test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
+ if test -z "$file"; then
+ # ... or it is the one specified with @setfilename ...
+ infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
+ file=`sed -n '
+ /^@setfilename/{
+ s/.* \([^ ]*\) *$/\1/
+ p
+ q
+ }' $infile`
+ # ... or it is derived from the source name (dir/f.texi becomes f.info)
+ test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
+ fi
+ # If the file does not exist, the user really needs makeinfo;
+ # let's fail without touching anything.
+ test -f $file || exit 1
+ touch $file
+ ;;
+
+ tar*)
+ shift
+
+ # We have already tried tar in the generic part.
+ # Look for gnutar/gtar before invocation to avoid ugly error
+ # messages.
+ if (gnutar --version > /dev/null 2>&1); then
+ gnutar "$@" && exit 0
+ fi
+ if (gtar --version > /dev/null 2>&1); then
+ gtar "$@" && exit 0
+ fi
+ firstarg="$1"
+ if shift; then
+ case $firstarg in
+ *o*)
+ firstarg=`echo "$firstarg" | sed s/o//`
+ tar "$firstarg" "$@" && exit 0
+ ;;
+ esac
+ case $firstarg in
+ *h*)
+ firstarg=`echo "$firstarg" | sed s/h//`
+ tar "$firstarg" "$@" && exit 0
+ ;;
+ esac
+ fi
+
+ echo 1>&2 "\
+WARNING: I can't seem to be able to run \`tar' with the given arguments.
+ You may want to install GNU tar or Free paxutils, or check the
+ command line arguments."
+ exit 1
+ ;;
+
+ *)
+ echo 1>&2 "\
+WARNING: \`$1' is needed, and is $msg.
+ You might have modified some files without having the
+ proper tools for further handling them. Check the \`README' file,
+ it often tells you about the needed prerequisites for installing
+ this package. You may also peek at any GNU archive site, in case
+ some other package would contain this missing \`$1' program."
+ exit 1
+ ;;
+esac
+
+exit 0
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
diff --git a/src/Makefile.am b/src/Makefile.am
new file mode 100644
index 0000000..c541869
--- /dev/null
+++ b/src/Makefile.am
@@ -0,0 +1,92 @@
+## Process this file with automake to produce Makefile.in
+
+## Using wildcards in these lists doesn't work. Also GNU make's ($wildcard,) doesn't
+## work. It gives warning message about portability, but in the end doesn't work,
+## I tried :-).
+REGFILES = data.h data.cpp gendata.h gendata.cpp mematrix.h mematri1.h \
+ command_line_settings.h command_line_settings.cpp reg1.h usage.h \
+ usage.cpp main.cpp utilities.h utilities.cpp phedata.h phedata.cpp \
+ cholesky.h cholesky.cpp regdata.h regdata.cpp \
+ maskedmatrix.cpp maskedmatrix.h reg1.cpp
+
+EIGENFILES = eigen_mematrix.h eigen_mematrix.cpp
+
+## Filevector files:
+FVSRC = fvlib/AbstractMatrix.cpp fvlib/CastUtils.cpp \
+ fvlib/convert_util.cpp fvlib/FileVector.cpp fvlib/FilteredMatrix.cpp \
+ fvlib/frutil.cpp fvlib/Logger.cpp fvlib/RealHandlerWrapper.cpp \
+ fvlib/ReusableFileHandle.cpp fvlib/Transposer.cpp
+FVHEADERS = fvlib/AbstractMatrix.h fvlib/CastUtils.h fvlib/const.h \
+ fvlib/convert_util.h fvlib/FileVector.h fvlib/frutil.h \
+ fvlib/frversion.h fvlib/Logger.h fvlib/Transposer.h \
+ fvlib/ReusableFileHandle.h fvlib/RealHandlerWrapper.h \
+ fvlib/FilteredMatrix.h
+
+## R headers, used by pacoxph
+RHEADERS = include/R.h include/Rmath.h include/R_ext/Arith.h \
+ include/R_ext/Boolean.h include/Rconfig.h include/R_ext/Complex.h \
+ include/R_ext/Constants.h include/R_ext/Error.h \
+ include/R_ext/libextern.h include/R_ext/Memory.h \
+ include/R_ext/Print.h include/R_ext/Random.h include/R_ext/Utils.h \
+ include/R_ext/RS.h
+
+bin_PROGRAMS = extract-snp
+if BUILD_palinear
+bin_PROGRAMS += palinear
+endif
+
+if BUILD_palogist
+bin_PROGRAMS += palogist
+endif
+
+if BUILD_pacoxph
+## Extra files for pacoxph
+COXBASE = coxfit2 chinv2 cholesky2 chsolve2 dmatrix
+COXSRC = $(COXBASE:=.c)
+bin_PROGRAMS += pacoxph
+endif
+
+palinear_SOURCES = $(REGFILES) $(FVSRC) $(FVHEADERS)
+palinear_CXXFLAGS = -DLINEAR $(AM_CXXFLAGS)
+palinear_CPPFLAGS = $(AM_CPPFLAGS)
+if WITH_EIGEN
+palinear_SOURCES += $(EIGENFILES)
+palinear_CXXFLAGS += -DEIGEN
+endif
+
+palogist_SOURCES = $(REGFILES) $(FVSRC) $(FVHEADERS)
+palogist_CXXFLAGS = -DLOGISTIC $(AM_CXXFLAGS)
+palogist_CPPFLAGS = $(AM_CPPFLAGS)
+if WITH_EIGEN
+palogist_SOURCES += $(EIGENFILES)
+palogist_CXXFLAGS += -DEIGEN
+endif
+
+pacoxph_SOURCES = $(COXSRC) $(REGFILES) $(FVSRC) $(FVHEADERS) \
+ $(RHEADERS) survS.h survproto.h coxph_data.h coxph_data.cpp
+pacoxph_CXXFLAGS = -DCOXPH -I $(top_srcdir)/src/include $(AM_CXXFLAGS)
+pacoxph_CPPFLAGS = $(AM_CPPFLAGS)
+pacoxph_CFLAGS = -DCOXPH -I $(top_srcdir)/src/include $(AM_CFLAGS)
+if WITH_EIGEN
+pacoxph_SOURCES += $(EIGENFILES)
+pacoxph_CXXFLAGS += -DEIGEN
+endif
+
+extract_snp_SOURCES = extract-snp.cpp $(FVSRC) $(FVHEADERS)
+
+## Install these scripts in the bin directory as well:
+dist_bin_SCRIPTS = probabel.pl extIDS.pl
+
+## Install this R script in the examples directory
+scriptdir = $(pkgdatadir)/scripts
+dist_script_DATA = prepare_data.R
+
+## Install the config file
+dist_sysconf_DATA = probabel_config.cfg.example
+
+## Insert the correct values of several variables in the installed probabel.pl
+install-exec-hook:
+ $(SED) -i "s;probabel_config.cfg;@sysconfdir@/probabel_config.cfg;" \
+ $(DESTDIR)$(bindir)/probabel.pl
+ $(SED) -i "s;\./;@bindir@/;" $(DESTDIR)$(bindir)/probabel.pl
+ $(SED) -i "s;PROBABEL_VERSION;@VERSION@;" $(DESTDIR)$(bindir)/probabel.pl
diff --git a/src/Makefile.in b/src/Makefile.in
new file mode 100644
index 0000000..e16ac7b
--- /dev/null
+++ b/src/Makefile.in
@@ -0,0 +1,2100 @@
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+ at SET_MAKE@
+
+
+
+VPATH = @srcdir@
+am__make_dryrun = \
+ { \
+ am__dry=no; \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
+ | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+ *) \
+ for am__flg in $$MAKEFLAGS; do \
+ case $$am__flg in \
+ *=*|--*) ;; \
+ *n*) am__dry=yes; break;; \
+ esac; \
+ done;; \
+ esac; \
+ test $$am__dry = yes; \
+ }
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+bin_PROGRAMS = extract-snp$(EXEEXT) $(am__EXEEXT_1) $(am__EXEEXT_2) \
+ $(am__EXEEXT_3)
+ at BUILD_palinear_TRUE@am__append_1 = palinear
+ at BUILD_palogist_TRUE@am__append_2 = palogist
+ at BUILD_pacoxph_TRUE@am__append_3 = pacoxph
+ at WITH_EIGEN_TRUE@am__append_4 = $(EIGENFILES)
+ at WITH_EIGEN_TRUE@am__append_5 = -DEIGEN
+ at WITH_EIGEN_TRUE@am__append_6 = $(EIGENFILES)
+ at WITH_EIGEN_TRUE@am__append_7 = -DEIGEN
+ at WITH_EIGEN_TRUE@am__append_8 = $(EIGENFILES)
+ at WITH_EIGEN_TRUE@am__append_9 = -DEIGEN
+subdir = src
+DIST_COMMON = $(dist_bin_SCRIPTS) $(dist_script_DATA) \
+ $(dist_sysconf_DATA) $(srcdir)/Makefile.am \
+ $(srcdir)/Makefile.in $(srcdir)/config.h.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+ at BUILD_palinear_TRUE@am__EXEEXT_1 = palinear$(EXEEXT)
+ at BUILD_palogist_TRUE@am__EXEEXT_2 = palogist$(EXEEXT)
+ at BUILD_pacoxph_TRUE@am__EXEEXT_3 = pacoxph$(EXEEXT)
+am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(bindir)" \
+ "$(DESTDIR)$(scriptdir)" "$(DESTDIR)$(sysconfdir)"
+PROGRAMS = $(bin_PROGRAMS)
+am__objects_1 = AbstractMatrix.$(OBJEXT) CastUtils.$(OBJEXT) \
+ convert_util.$(OBJEXT) FileVector.$(OBJEXT) \
+ FilteredMatrix.$(OBJEXT) frutil.$(OBJEXT) Logger.$(OBJEXT) \
+ RealHandlerWrapper.$(OBJEXT) ReusableFileHandle.$(OBJEXT) \
+ Transposer.$(OBJEXT)
+am__objects_2 =
+am_extract_snp_OBJECTS = extract-snp.$(OBJEXT) $(am__objects_1) \
+ $(am__objects_2)
+extract_snp_OBJECTS = $(am_extract_snp_OBJECTS)
+extract_snp_LDADD = $(LDADD)
+am__pacoxph_SOURCES_DIST = coxfit2.c chinv2.c cholesky2.c chsolve2.c \
+ dmatrix.c data.h data.cpp gendata.h gendata.cpp mematrix.h \
+ mematri1.h command_line_settings.h command_line_settings.cpp \
+ reg1.h usage.h usage.cpp main.cpp utilities.h utilities.cpp \
+ phedata.h phedata.cpp cholesky.h cholesky.cpp regdata.h \
+ regdata.cpp maskedmatrix.cpp maskedmatrix.h reg1.cpp \
+ fvlib/AbstractMatrix.cpp fvlib/CastUtils.cpp \
+ fvlib/convert_util.cpp fvlib/FileVector.cpp \
+ fvlib/FilteredMatrix.cpp fvlib/frutil.cpp fvlib/Logger.cpp \
+ fvlib/RealHandlerWrapper.cpp fvlib/ReusableFileHandle.cpp \
+ fvlib/Transposer.cpp fvlib/AbstractMatrix.h fvlib/CastUtils.h \
+ fvlib/const.h fvlib/convert_util.h fvlib/FileVector.h \
+ fvlib/frutil.h fvlib/frversion.h fvlib/Logger.h \
+ fvlib/Transposer.h fvlib/ReusableFileHandle.h \
+ fvlib/RealHandlerWrapper.h fvlib/FilteredMatrix.h include/R.h \
+ include/Rmath.h include/R_ext/Arith.h include/R_ext/Boolean.h \
+ include/Rconfig.h include/R_ext/Complex.h \
+ include/R_ext/Constants.h include/R_ext/Error.h \
+ include/R_ext/libextern.h include/R_ext/Memory.h \
+ include/R_ext/Print.h include/R_ext/Random.h \
+ include/R_ext/Utils.h include/R_ext/RS.h survS.h survproto.h \
+ coxph_data.h coxph_data.cpp eigen_mematrix.h \
+ eigen_mematrix.cpp
+ at BUILD_pacoxph_TRUE@am__objects_3 = pacoxph-coxfit2.$(OBJEXT) \
+ at BUILD_pacoxph_TRUE@ pacoxph-chinv2.$(OBJEXT) \
+ at BUILD_pacoxph_TRUE@ pacoxph-cholesky2.$(OBJEXT) \
+ at BUILD_pacoxph_TRUE@ pacoxph-chsolve2.$(OBJEXT) \
+ at BUILD_pacoxph_TRUE@ pacoxph-dmatrix.$(OBJEXT)
+ at BUILD_pacoxph_TRUE@am__objects_4 = $(am__objects_3)
+am__objects_5 = pacoxph-data.$(OBJEXT) pacoxph-gendata.$(OBJEXT) \
+ pacoxph-command_line_settings.$(OBJEXT) \
+ pacoxph-usage.$(OBJEXT) pacoxph-main.$(OBJEXT) \
+ pacoxph-utilities.$(OBJEXT) pacoxph-phedata.$(OBJEXT) \
+ pacoxph-cholesky.$(OBJEXT) pacoxph-regdata.$(OBJEXT) \
+ pacoxph-maskedmatrix.$(OBJEXT) pacoxph-reg1.$(OBJEXT)
+am__objects_6 = pacoxph-AbstractMatrix.$(OBJEXT) \
+ pacoxph-CastUtils.$(OBJEXT) pacoxph-convert_util.$(OBJEXT) \
+ pacoxph-FileVector.$(OBJEXT) pacoxph-FilteredMatrix.$(OBJEXT) \
+ pacoxph-frutil.$(OBJEXT) pacoxph-Logger.$(OBJEXT) \
+ pacoxph-RealHandlerWrapper.$(OBJEXT) \
+ pacoxph-ReusableFileHandle.$(OBJEXT) \
+ pacoxph-Transposer.$(OBJEXT)
+am__objects_7 = pacoxph-eigen_mematrix.$(OBJEXT)
+ at WITH_EIGEN_TRUE@am__objects_8 = $(am__objects_7)
+am_pacoxph_OBJECTS = $(am__objects_4) $(am__objects_5) \
+ $(am__objects_6) $(am__objects_2) $(am__objects_2) \
+ pacoxph-coxph_data.$(OBJEXT) $(am__objects_8)
+pacoxph_OBJECTS = $(am_pacoxph_OBJECTS)
+pacoxph_LDADD = $(LDADD)
+pacoxph_LINK = $(CXXLD) $(pacoxph_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+am__palinear_SOURCES_DIST = data.h data.cpp gendata.h gendata.cpp \
+ mematrix.h mematri1.h command_line_settings.h \
+ command_line_settings.cpp reg1.h usage.h usage.cpp main.cpp \
+ utilities.h utilities.cpp phedata.h phedata.cpp cholesky.h \
+ cholesky.cpp regdata.h regdata.cpp maskedmatrix.cpp \
+ maskedmatrix.h reg1.cpp fvlib/AbstractMatrix.cpp \
+ fvlib/CastUtils.cpp fvlib/convert_util.cpp \
+ fvlib/FileVector.cpp fvlib/FilteredMatrix.cpp fvlib/frutil.cpp \
+ fvlib/Logger.cpp fvlib/RealHandlerWrapper.cpp \
+ fvlib/ReusableFileHandle.cpp fvlib/Transposer.cpp \
+ fvlib/AbstractMatrix.h fvlib/CastUtils.h fvlib/const.h \
+ fvlib/convert_util.h fvlib/FileVector.h fvlib/frutil.h \
+ fvlib/frversion.h fvlib/Logger.h fvlib/Transposer.h \
+ fvlib/ReusableFileHandle.h fvlib/RealHandlerWrapper.h \
+ fvlib/FilteredMatrix.h eigen_mematrix.h eigen_mematrix.cpp
+am__objects_9 = palinear-data.$(OBJEXT) palinear-gendata.$(OBJEXT) \
+ palinear-command_line_settings.$(OBJEXT) \
+ palinear-usage.$(OBJEXT) palinear-main.$(OBJEXT) \
+ palinear-utilities.$(OBJEXT) palinear-phedata.$(OBJEXT) \
+ palinear-cholesky.$(OBJEXT) palinear-regdata.$(OBJEXT) \
+ palinear-maskedmatrix.$(OBJEXT) palinear-reg1.$(OBJEXT)
+am__objects_10 = palinear-AbstractMatrix.$(OBJEXT) \
+ palinear-CastUtils.$(OBJEXT) palinear-convert_util.$(OBJEXT) \
+ palinear-FileVector.$(OBJEXT) \
+ palinear-FilteredMatrix.$(OBJEXT) palinear-frutil.$(OBJEXT) \
+ palinear-Logger.$(OBJEXT) \
+ palinear-RealHandlerWrapper.$(OBJEXT) \
+ palinear-ReusableFileHandle.$(OBJEXT) \
+ palinear-Transposer.$(OBJEXT)
+am__objects_11 = palinear-eigen_mematrix.$(OBJEXT)
+ at WITH_EIGEN_TRUE@am__objects_12 = $(am__objects_11)
+am_palinear_OBJECTS = $(am__objects_9) $(am__objects_10) \
+ $(am__objects_2) $(am__objects_12)
+palinear_OBJECTS = $(am_palinear_OBJECTS)
+palinear_LDADD = $(LDADD)
+palinear_LINK = $(CXXLD) $(palinear_CXXFLAGS) $(CXXFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+am__palogist_SOURCES_DIST = data.h data.cpp gendata.h gendata.cpp \
+ mematrix.h mematri1.h command_line_settings.h \
+ command_line_settings.cpp reg1.h usage.h usage.cpp main.cpp \
+ utilities.h utilities.cpp phedata.h phedata.cpp cholesky.h \
+ cholesky.cpp regdata.h regdata.cpp maskedmatrix.cpp \
+ maskedmatrix.h reg1.cpp fvlib/AbstractMatrix.cpp \
+ fvlib/CastUtils.cpp fvlib/convert_util.cpp \
+ fvlib/FileVector.cpp fvlib/FilteredMatrix.cpp fvlib/frutil.cpp \
+ fvlib/Logger.cpp fvlib/RealHandlerWrapper.cpp \
+ fvlib/ReusableFileHandle.cpp fvlib/Transposer.cpp \
+ fvlib/AbstractMatrix.h fvlib/CastUtils.h fvlib/const.h \
+ fvlib/convert_util.h fvlib/FileVector.h fvlib/frutil.h \
+ fvlib/frversion.h fvlib/Logger.h fvlib/Transposer.h \
+ fvlib/ReusableFileHandle.h fvlib/RealHandlerWrapper.h \
+ fvlib/FilteredMatrix.h eigen_mematrix.h eigen_mematrix.cpp
+am__objects_13 = palogist-data.$(OBJEXT) palogist-gendata.$(OBJEXT) \
+ palogist-command_line_settings.$(OBJEXT) \
+ palogist-usage.$(OBJEXT) palogist-main.$(OBJEXT) \
+ palogist-utilities.$(OBJEXT) palogist-phedata.$(OBJEXT) \
+ palogist-cholesky.$(OBJEXT) palogist-regdata.$(OBJEXT) \
+ palogist-maskedmatrix.$(OBJEXT) palogist-reg1.$(OBJEXT)
+am__objects_14 = palogist-AbstractMatrix.$(OBJEXT) \
+ palogist-CastUtils.$(OBJEXT) palogist-convert_util.$(OBJEXT) \
+ palogist-FileVector.$(OBJEXT) \
+ palogist-FilteredMatrix.$(OBJEXT) palogist-frutil.$(OBJEXT) \
+ palogist-Logger.$(OBJEXT) \
+ palogist-RealHandlerWrapper.$(OBJEXT) \
+ palogist-ReusableFileHandle.$(OBJEXT) \
+ palogist-Transposer.$(OBJEXT)
+am__objects_15 = palogist-eigen_mematrix.$(OBJEXT)
+ at WITH_EIGEN_TRUE@am__objects_16 = $(am__objects_15)
+am_palogist_OBJECTS = $(am__objects_13) $(am__objects_14) \
+ $(am__objects_2) $(am__objects_16)
+palogist_OBJECTS = $(am_palogist_OBJECTS)
+palogist_LDADD = $(LDADD)
+palogist_LINK = $(CXXLD) $(palogist_CXXFLAGS) $(CXXFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
+SCRIPTS = $(dist_bin_SCRIPTS)
+DEFAULT_INCLUDES = -I. at am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+am__mv = mv -f
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
+CCLD = $(CC)
+LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+AM_V_CXX = $(am__v_CXX_ at AM_V@)
+am__v_CXX_ = $(am__v_CXX_ at AM_DEFAULT_V@)
+am__v_CXX_0 = @echo " CXX " $@;
+CXXLD = $(CXX)
+CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
+ -o $@
+AM_V_CXXLD = $(am__v_CXXLD_ at AM_V@)
+am__v_CXXLD_ = $(am__v_CXXLD_ at AM_DEFAULT_V@)
+am__v_CXXLD_0 = @echo " CXXLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+SOURCES = $(extract_snp_SOURCES) $(pacoxph_SOURCES) \
+ $(palinear_SOURCES) $(palogist_SOURCES)
+DIST_SOURCES = $(extract_snp_SOURCES) $(am__pacoxph_SOURCES_DIST) \
+ $(am__palinear_SOURCES_DIST) $(am__palogist_SOURCES_DIST)
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+DATA = $(dist_script_DATA) $(dist_sysconf_DATA)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+GREP = @GREP@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PDFLATEX = @PDFLATEX@
+R = @R@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build_alias = @build_alias@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host_alias = @host_alias@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+REGFILES = data.h data.cpp gendata.h gendata.cpp mematrix.h mematri1.h \
+ command_line_settings.h command_line_settings.cpp reg1.h usage.h \
+ usage.cpp main.cpp utilities.h utilities.cpp phedata.h phedata.cpp \
+ cholesky.h cholesky.cpp regdata.h regdata.cpp \
+ maskedmatrix.cpp maskedmatrix.h reg1.cpp
+
+EIGENFILES = eigen_mematrix.h eigen_mematrix.cpp
+FVSRC = fvlib/AbstractMatrix.cpp fvlib/CastUtils.cpp \
+ fvlib/convert_util.cpp fvlib/FileVector.cpp fvlib/FilteredMatrix.cpp \
+ fvlib/frutil.cpp fvlib/Logger.cpp fvlib/RealHandlerWrapper.cpp \
+ fvlib/ReusableFileHandle.cpp fvlib/Transposer.cpp
+
+FVHEADERS = fvlib/AbstractMatrix.h fvlib/CastUtils.h fvlib/const.h \
+ fvlib/convert_util.h fvlib/FileVector.h fvlib/frutil.h \
+ fvlib/frversion.h fvlib/Logger.h fvlib/Transposer.h \
+ fvlib/ReusableFileHandle.h fvlib/RealHandlerWrapper.h \
+ fvlib/FilteredMatrix.h
+
+RHEADERS = include/R.h include/Rmath.h include/R_ext/Arith.h \
+ include/R_ext/Boolean.h include/Rconfig.h include/R_ext/Complex.h \
+ include/R_ext/Constants.h include/R_ext/Error.h \
+ include/R_ext/libextern.h include/R_ext/Memory.h \
+ include/R_ext/Print.h include/R_ext/Random.h include/R_ext/Utils.h \
+ include/R_ext/RS.h
+
+ at BUILD_pacoxph_TRUE@COXBASE = coxfit2 chinv2 cholesky2 chsolve2 dmatrix
+ at BUILD_pacoxph_TRUE@COXSRC = $(COXBASE:=.c)
+palinear_SOURCES = $(REGFILES) $(FVSRC) $(FVHEADERS) $(am__append_4)
+palinear_CXXFLAGS = -DLINEAR $(AM_CXXFLAGS) $(am__append_5)
+palinear_CPPFLAGS = $(AM_CPPFLAGS)
+palogist_SOURCES = $(REGFILES) $(FVSRC) $(FVHEADERS) $(am__append_6)
+palogist_CXXFLAGS = -DLOGISTIC $(AM_CXXFLAGS) $(am__append_7)
+palogist_CPPFLAGS = $(AM_CPPFLAGS)
+pacoxph_SOURCES = $(COXSRC) $(REGFILES) $(FVSRC) $(FVHEADERS) \
+ $(RHEADERS) survS.h survproto.h coxph_data.h coxph_data.cpp \
+ $(am__append_8)
+pacoxph_CXXFLAGS = -DCOXPH -I $(top_srcdir)/src/include $(AM_CXXFLAGS) \
+ $(am__append_9)
+pacoxph_CPPFLAGS = $(AM_CPPFLAGS)
+pacoxph_CFLAGS = -DCOXPH -I $(top_srcdir)/src/include $(AM_CFLAGS)
+extract_snp_SOURCES = extract-snp.cpp $(FVSRC) $(FVHEADERS)
+dist_bin_SCRIPTS = probabel.pl extIDS.pl
+scriptdir = $(pkgdatadir)/scripts
+dist_script_DATA = prepare_data.R
+dist_sysconf_DATA = probabel_config.cfg.example
+all: config.h
+ $(MAKE) $(AM_MAKEFLAGS) all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .cpp .o .obj
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign src/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+config.h: stamp-h1
+ @if test ! -f $@; then rm -f stamp-h1; else :; fi
+ @if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) stamp-h1; else :; fi
+
+stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
+ @rm -f stamp-h1
+ cd $(top_builddir) && $(SHELL) ./config.status src/config.h
+$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ ($(am__cd) $(top_srcdir) && $(AUTOHEADER))
+ rm -f stamp-h1
+ touch $@
+
+distclean-hdr:
+ -rm -f config.h stamp-h1
+install-binPROGRAMS: $(bin_PROGRAMS)
+ @$(NORMAL_INSTALL)
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
+ fi; \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed 's/$(EXEEXT)$$//' | \
+ while read p p1; do if test -f $$p; \
+ then echo "$$p"; echo "$$p"; else :; fi; \
+ done | \
+ sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+ sed 'N;N;N;s,\n, ,g' | \
+ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+ if ($$2 == $$4) files[d] = files[d] " " $$1; \
+ else { print "f", $$3 "/" $$4, $$1; } } \
+ END { for (d in files) print "f", d, files[d] }' | \
+ while read type dir files; do \
+ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+ test -z "$$files" || { \
+ echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
+ $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
+ } \
+ ; done
+
+uninstall-binPROGRAMS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ files=`for p in $$list; do echo "$$p"; done | \
+ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+ -e 's/$$/$(EXEEXT)/' `; \
+ test -n "$$list" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(bindir)" && rm -f $$files
+
+clean-binPROGRAMS:
+ -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
+extract-snp$(EXEEXT): $(extract_snp_OBJECTS) $(extract_snp_DEPENDENCIES) $(EXTRA_extract_snp_DEPENDENCIES)
+ @rm -f extract-snp$(EXEEXT)
+ $(AM_V_CXXLD)$(CXXLINK) $(extract_snp_OBJECTS) $(extract_snp_LDADD) $(LIBS)
+pacoxph$(EXEEXT): $(pacoxph_OBJECTS) $(pacoxph_DEPENDENCIES) $(EXTRA_pacoxph_DEPENDENCIES)
+ @rm -f pacoxph$(EXEEXT)
+ $(AM_V_CXXLD)$(pacoxph_LINK) $(pacoxph_OBJECTS) $(pacoxph_LDADD) $(LIBS)
+palinear$(EXEEXT): $(palinear_OBJECTS) $(palinear_DEPENDENCIES) $(EXTRA_palinear_DEPENDENCIES)
+ @rm -f palinear$(EXEEXT)
+ $(AM_V_CXXLD)$(palinear_LINK) $(palinear_OBJECTS) $(palinear_LDADD) $(LIBS)
+palogist$(EXEEXT): $(palogist_OBJECTS) $(palogist_DEPENDENCIES) $(EXTRA_palogist_DEPENDENCIES)
+ @rm -f palogist$(EXEEXT)
+ $(AM_V_CXXLD)$(palogist_LINK) $(palogist_OBJECTS) $(palogist_LDADD) $(LIBS)
+install-dist_binSCRIPTS: $(dist_bin_SCRIPTS)
+ @$(NORMAL_INSTALL)
+ @list='$(dist_bin_SCRIPTS)'; test -n "$(bindir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \
+ done | \
+ sed -e 'p;s,.*/,,;n' \
+ -e 'h;s|.*|.|' \
+ -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \
+ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \
+ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+ if ($$2 == $$4) { files[d] = files[d] " " $$1; \
+ if (++n[d] == $(am__install_max)) { \
+ print "f", d, files[d]; n[d] = 0; files[d] = "" } } \
+ else { print "f", d "/" $$4, $$1 } } \
+ END { for (d in files) print "f", d, files[d] }' | \
+ while read type dir files; do \
+ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+ test -z "$$files" || { \
+ echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(bindir)$$dir'"; \
+ $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
+ } \
+ ; done
+
+uninstall-dist_binSCRIPTS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(dist_bin_SCRIPTS)'; test -n "$(bindir)" || exit 0; \
+ files=`for p in $$list; do echo "$$p"; done | \
+ sed -e 's,.*/,,;$(transform)'`; \
+ dir='$(DESTDIR)$(bindir)'; $(am__uninstall_files_from_dir)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/AbstractMatrix.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/CastUtils.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/FileVector.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/FilteredMatrix.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Logger.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/RealHandlerWrapper.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ReusableFileHandle.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Transposer.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/convert_util.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/extract-snp.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/frutil.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/pacoxph-AbstractMatrix.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/pacoxph-CastUtils.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/pacoxph-FileVector.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/pacoxph-FilteredMatrix.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/pacoxph-Logger.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/pacoxph-RealHandlerWrapper.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/pacoxph-ReusableFileHandle.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/pacoxph-Transposer.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/pacoxph-chinv2.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/pacoxph-cholesky.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/pacoxph-cholesky2.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/pacoxph-chsolve2.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/pacoxph-command_line_settings.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/pacoxph-convert_util.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/pacoxph-coxfit2.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/pacoxph-coxph_data.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/pacoxph-data.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/pacoxph-dmatrix.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/pacoxph-eigen_mematrix.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/pacoxph-frutil.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/pacoxph-gendata.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/pacoxph-main.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/pacoxph-maskedmatrix.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/pacoxph-phedata.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/pacoxph-reg1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/pacoxph-regdata.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/pacoxph-usage.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/pacoxph-utilities.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/palinear-AbstractMatrix.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/palinear-CastUtils.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/palinear-FileVector.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/palinear-FilteredMatrix.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/palinear-Logger.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/palinear-RealHandlerWrapper.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/palinear-ReusableFileHandle.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/palinear-Transposer.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/palinear-cholesky.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/palinear-command_line_settings.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/palinear-convert_util.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/palinear-data.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/palinear-eigen_mematrix.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/palinear-frutil.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/palinear-gendata.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/palinear-main.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/palinear-maskedmatrix.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/palinear-phedata.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/palinear-reg1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/palinear-regdata.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/palinear-usage.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/palinear-utilities.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/palogist-AbstractMatrix.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/palogist-CastUtils.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/palogist-FileVector.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/palogist-FilteredMatrix.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/palogist-Logger.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/palogist-RealHandlerWrapper.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/palogist-ReusableFileHandle.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/palogist-Transposer.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/palogist-cholesky.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/palogist-command_line_settings.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/palogist-convert_util.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/palogist-data.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/palogist-eigen_mematrix.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/palogist-frutil.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/palogist-gendata.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/palogist-main.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/palogist-maskedmatrix.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/palogist-phedata.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/palogist-reg1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/palogist-regdata.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/palogist-usage.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/palogist-utilities.Po at am__quote@
+
+.c.o:
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
+
+.c.obj:
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
+
+pacoxph-coxfit2.o: coxfit2.c
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CFLAGS) $(CFLAGS) -MT pacoxph-coxfit2.o -MD -MP -MF $(DEPDIR)/pacoxph-coxfit2.Tpo -c -o pacoxph-coxfit2.o `test -f 'coxfit2.c' || echo '$(srcdir)/'`coxfit2.c
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pacoxph-coxfit2.Tpo $(DEPDIR)/pacoxph-coxfit2.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='coxfit2.c' object='pacoxph-coxfit2.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CFLAGS) $(CFLAGS) -c -o pacoxph-coxfit2.o `test -f 'coxfit2.c' || echo '$(srcdir)/'`coxfit2.c
+
+pacoxph-coxfit2.obj: coxfit2.c
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CFLAGS) $(CFLAGS) -MT pacoxph-coxfit2.obj -MD -MP -MF $(DEPDIR)/pacoxph-coxfit2.Tpo -c -o pacoxph-coxfit2.obj `if test -f 'coxfit2.c'; then $(CYGPATH_W) 'coxfit2.c'; else $(CYGPATH_W) '$(srcdir)/coxfit2.c'; fi`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pacoxph-coxfit2.Tpo $(DEPDIR)/pacoxph-coxfit2.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='coxfit2.c' object='pacoxph-coxfit2.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CFLAGS) $(CFLAGS) -c -o pacoxph-coxfit2.obj `if test -f 'coxfit2.c'; then $(CYGPATH_W) 'coxfit2.c'; else $(CYGPATH_W) '$(srcdir)/coxfit2.c'; fi`
+
+pacoxph-chinv2.o: chinv2.c
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CFLAGS) $(CFLAGS) -MT pacoxph-chinv2.o -MD -MP -MF $(DEPDIR)/pacoxph-chinv2.Tpo -c -o pacoxph-chinv2.o `test -f 'chinv2.c' || echo '$(srcdir)/'`chinv2.c
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pacoxph-chinv2.Tpo $(DEPDIR)/pacoxph-chinv2.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='chinv2.c' object='pacoxph-chinv2.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CFLAGS) $(CFLAGS) -c -o pacoxph-chinv2.o `test -f 'chinv2.c' || echo '$(srcdir)/'`chinv2.c
+
+pacoxph-chinv2.obj: chinv2.c
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CFLAGS) $(CFLAGS) -MT pacoxph-chinv2.obj -MD -MP -MF $(DEPDIR)/pacoxph-chinv2.Tpo -c -o pacoxph-chinv2.obj `if test -f 'chinv2.c'; then $(CYGPATH_W) 'chinv2.c'; else $(CYGPATH_W) '$(srcdir)/chinv2.c'; fi`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pacoxph-chinv2.Tpo $(DEPDIR)/pacoxph-chinv2.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='chinv2.c' object='pacoxph-chinv2.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CFLAGS) $(CFLAGS) -c -o pacoxph-chinv2.obj `if test -f 'chinv2.c'; then $(CYGPATH_W) 'chinv2.c'; else $(CYGPATH_W) '$(srcdir)/chinv2.c'; fi`
+
+pacoxph-cholesky2.o: cholesky2.c
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CFLAGS) $(CFLAGS) -MT pacoxph-cholesky2.o -MD -MP -MF $(DEPDIR)/pacoxph-cholesky2.Tpo -c -o pacoxph-cholesky2.o `test -f 'cholesky2.c' || echo '$(srcdir)/'`cholesky2.c
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pacoxph-cholesky2.Tpo $(DEPDIR)/pacoxph-cholesky2.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='cholesky2.c' object='pacoxph-cholesky2.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CFLAGS) $(CFLAGS) -c -o pacoxph-cholesky2.o `test -f 'cholesky2.c' || echo '$(srcdir)/'`cholesky2.c
+
+pacoxph-cholesky2.obj: cholesky2.c
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CFLAGS) $(CFLAGS) -MT pacoxph-cholesky2.obj -MD -MP -MF $(DEPDIR)/pacoxph-cholesky2.Tpo -c -o pacoxph-cholesky2.obj `if test -f 'cholesky2.c'; then $(CYGPATH_W) 'cholesky2.c'; else $(CYGPATH_W) '$(srcdir)/cholesky2.c'; fi`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pacoxph-cholesky2.Tpo $(DEPDIR)/pacoxph-cholesky2.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='cholesky2.c' object='pacoxph-cholesky2.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CFLAGS) $(CFLAGS) -c -o pacoxph-cholesky2.obj `if test -f 'cholesky2.c'; then $(CYGPATH_W) 'cholesky2.c'; else $(CYGPATH_W) '$(srcdir)/cholesky2.c'; fi`
+
+pacoxph-chsolve2.o: chsolve2.c
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CFLAGS) $(CFLAGS) -MT pacoxph-chsolve2.o -MD -MP -MF $(DEPDIR)/pacoxph-chsolve2.Tpo -c -o pacoxph-chsolve2.o `test -f 'chsolve2.c' || echo '$(srcdir)/'`chsolve2.c
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pacoxph-chsolve2.Tpo $(DEPDIR)/pacoxph-chsolve2.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='chsolve2.c' object='pacoxph-chsolve2.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CFLAGS) $(CFLAGS) -c -o pacoxph-chsolve2.o `test -f 'chsolve2.c' || echo '$(srcdir)/'`chsolve2.c
+
+pacoxph-chsolve2.obj: chsolve2.c
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CFLAGS) $(CFLAGS) -MT pacoxph-chsolve2.obj -MD -MP -MF $(DEPDIR)/pacoxph-chsolve2.Tpo -c -o pacoxph-chsolve2.obj `if test -f 'chsolve2.c'; then $(CYGPATH_W) 'chsolve2.c'; else $(CYGPATH_W) '$(srcdir)/chsolve2.c'; fi`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pacoxph-chsolve2.Tpo $(DEPDIR)/pacoxph-chsolve2.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='chsolve2.c' object='pacoxph-chsolve2.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CFLAGS) $(CFLAGS) -c -o pacoxph-chsolve2.obj `if test -f 'chsolve2.c'; then $(CYGPATH_W) 'chsolve2.c'; else $(CYGPATH_W) '$(srcdir)/chsolve2.c'; fi`
+
+pacoxph-dmatrix.o: dmatrix.c
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CFLAGS) $(CFLAGS) -MT pacoxph-dmatrix.o -MD -MP -MF $(DEPDIR)/pacoxph-dmatrix.Tpo -c -o pacoxph-dmatrix.o `test -f 'dmatrix.c' || echo '$(srcdir)/'`dmatrix.c
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pacoxph-dmatrix.Tpo $(DEPDIR)/pacoxph-dmatrix.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='dmatrix.c' object='pacoxph-dmatrix.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CFLAGS) $(CFLAGS) -c -o pacoxph-dmatrix.o `test -f 'dmatrix.c' || echo '$(srcdir)/'`dmatrix.c
+
+pacoxph-dmatrix.obj: dmatrix.c
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CFLAGS) $(CFLAGS) -MT pacoxph-dmatrix.obj -MD -MP -MF $(DEPDIR)/pacoxph-dmatrix.Tpo -c -o pacoxph-dmatrix.obj `if test -f 'dmatrix.c'; then $(CYGPATH_W) 'dmatrix.c'; else $(CYGPATH_W) '$(srcdir)/dmatrix.c'; fi`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pacoxph-dmatrix.Tpo $(DEPDIR)/pacoxph-dmatrix.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='dmatrix.c' object='pacoxph-dmatrix.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CFLAGS) $(CFLAGS) -c -o pacoxph-dmatrix.obj `if test -f 'dmatrix.c'; then $(CYGPATH_W) 'dmatrix.c'; else $(CYGPATH_W) '$(srcdir)/dmatrix.c'; fi`
+
+.cpp.o:
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+AbstractMatrix.o: fvlib/AbstractMatrix.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT AbstractMatrix.o -MD -MP -MF $(DEPDIR)/AbstractMatrix.Tpo -c -o AbstractMatrix.o `test -f 'fvlib/AbstractMatrix.cpp' || echo '$(srcdir)/'`fvlib/AbstractMatrix.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/AbstractMatrix.Tpo $(DEPDIR)/AbstractMatrix.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/AbstractMatrix.cpp' object='AbstractMatrix.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o AbstractMatrix.o `test -f 'fvlib/AbstractMatrix.cpp' || echo '$(srcdir)/'`fvlib/AbstractMatrix.cpp
+
+AbstractMatrix.obj: fvlib/AbstractMatrix.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT AbstractMatrix.obj -MD -MP -MF $(DEPDIR)/AbstractMatrix.Tpo -c -o AbstractMatrix.obj `if test -f 'fvlib/AbstractMatrix.cpp'; then $(CYGPATH_W) 'fvlib/AbstractMatrix.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/AbstractMatrix.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/AbstractMatrix.Tpo $(DEPDIR)/AbstractMatrix.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/AbstractMatrix.cpp' object='AbstractMatrix.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o AbstractMatrix.obj `if test -f 'fvlib/AbstractMatrix.cpp'; then $(CYGPATH_W) 'fvlib/AbstractMatrix.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/AbstractMatrix.cpp'; fi`
+
+CastUtils.o: fvlib/CastUtils.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT CastUtils.o -MD -MP -MF $(DEPDIR)/CastUtils.Tpo -c -o CastUtils.o `test -f 'fvlib/CastUtils.cpp' || echo '$(srcdir)/'`fvlib/CastUtils.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/CastUtils.Tpo $(DEPDIR)/CastUtils.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/CastUtils.cpp' object='CastUtils.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o CastUtils.o `test -f 'fvlib/CastUtils.cpp' || echo '$(srcdir)/'`fvlib/CastUtils.cpp
+
+CastUtils.obj: fvlib/CastUtils.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT CastUtils.obj -MD -MP -MF $(DEPDIR)/CastUtils.Tpo -c -o CastUtils.obj `if test -f 'fvlib/CastUtils.cpp'; then $(CYGPATH_W) 'fvlib/CastUtils.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/CastUtils.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/CastUtils.Tpo $(DEPDIR)/CastUtils.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/CastUtils.cpp' object='CastUtils.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o CastUtils.obj `if test -f 'fvlib/CastUtils.cpp'; then $(CYGPATH_W) 'fvlib/CastUtils.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/CastUtils.cpp'; fi`
+
+convert_util.o: fvlib/convert_util.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT convert_util.o -MD -MP -MF $(DEPDIR)/convert_util.Tpo -c -o convert_util.o `test -f 'fvlib/convert_util.cpp' || echo '$(srcdir)/'`fvlib/convert_util.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/convert_util.Tpo $(DEPDIR)/convert_util.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/convert_util.cpp' object='convert_util.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o convert_util.o `test -f 'fvlib/convert_util.cpp' || echo '$(srcdir)/'`fvlib/convert_util.cpp
+
+convert_util.obj: fvlib/convert_util.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT convert_util.obj -MD -MP -MF $(DEPDIR)/convert_util.Tpo -c -o convert_util.obj `if test -f 'fvlib/convert_util.cpp'; then $(CYGPATH_W) 'fvlib/convert_util.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/convert_util.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/convert_util.Tpo $(DEPDIR)/convert_util.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/convert_util.cpp' object='convert_util.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o convert_util.obj `if test -f 'fvlib/convert_util.cpp'; then $(CYGPATH_W) 'fvlib/convert_util.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/convert_util.cpp'; fi`
+
+FileVector.o: fvlib/FileVector.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT FileVector.o -MD -MP -MF $(DEPDIR)/FileVector.Tpo -c -o FileVector.o `test -f 'fvlib/FileVector.cpp' || echo '$(srcdir)/'`fvlib/FileVector.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/FileVector.Tpo $(DEPDIR)/FileVector.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/FileVector.cpp' object='FileVector.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o FileVector.o `test -f 'fvlib/FileVector.cpp' || echo '$(srcdir)/'`fvlib/FileVector.cpp
+
+FileVector.obj: fvlib/FileVector.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT FileVector.obj -MD -MP -MF $(DEPDIR)/FileVector.Tpo -c -o FileVector.obj `if test -f 'fvlib/FileVector.cpp'; then $(CYGPATH_W) 'fvlib/FileVector.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/FileVector.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/FileVector.Tpo $(DEPDIR)/FileVector.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/FileVector.cpp' object='FileVector.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o FileVector.obj `if test -f 'fvlib/FileVector.cpp'; then $(CYGPATH_W) 'fvlib/FileVector.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/FileVector.cpp'; fi`
+
+FilteredMatrix.o: fvlib/FilteredMatrix.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT FilteredMatrix.o -MD -MP -MF $(DEPDIR)/FilteredMatrix.Tpo -c -o FilteredMatrix.o `test -f 'fvlib/FilteredMatrix.cpp' || echo '$(srcdir)/'`fvlib/FilteredMatrix.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/FilteredMatrix.Tpo $(DEPDIR)/FilteredMatrix.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/FilteredMatrix.cpp' object='FilteredMatrix.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o FilteredMatrix.o `test -f 'fvlib/FilteredMatrix.cpp' || echo '$(srcdir)/'`fvlib/FilteredMatrix.cpp
+
+FilteredMatrix.obj: fvlib/FilteredMatrix.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT FilteredMatrix.obj -MD -MP -MF $(DEPDIR)/FilteredMatrix.Tpo -c -o FilteredMatrix.obj `if test -f 'fvlib/FilteredMatrix.cpp'; then $(CYGPATH_W) 'fvlib/FilteredMatrix.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/FilteredMatrix.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/FilteredMatrix.Tpo $(DEPDIR)/FilteredMatrix.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/FilteredMatrix.cpp' object='FilteredMatrix.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o FilteredMatrix.obj `if test -f 'fvlib/FilteredMatrix.cpp'; then $(CYGPATH_W) 'fvlib/FilteredMatrix.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/FilteredMatrix.cpp'; fi`
+
+frutil.o: fvlib/frutil.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT frutil.o -MD -MP -MF $(DEPDIR)/frutil.Tpo -c -o frutil.o `test -f 'fvlib/frutil.cpp' || echo '$(srcdir)/'`fvlib/frutil.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/frutil.Tpo $(DEPDIR)/frutil.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/frutil.cpp' object='frutil.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o frutil.o `test -f 'fvlib/frutil.cpp' || echo '$(srcdir)/'`fvlib/frutil.cpp
+
+frutil.obj: fvlib/frutil.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT frutil.obj -MD -MP -MF $(DEPDIR)/frutil.Tpo -c -o frutil.obj `if test -f 'fvlib/frutil.cpp'; then $(CYGPATH_W) 'fvlib/frutil.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/frutil.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/frutil.Tpo $(DEPDIR)/frutil.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/frutil.cpp' object='frutil.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o frutil.obj `if test -f 'fvlib/frutil.cpp'; then $(CYGPATH_W) 'fvlib/frutil.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/frutil.cpp'; fi`
+
+Logger.o: fvlib/Logger.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Logger.o -MD -MP -MF $(DEPDIR)/Logger.Tpo -c -o Logger.o `test -f 'fvlib/Logger.cpp' || echo '$(srcdir)/'`fvlib/Logger.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/Logger.Tpo $(DEPDIR)/Logger.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/Logger.cpp' object='Logger.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Logger.o `test -f 'fvlib/Logger.cpp' || echo '$(srcdir)/'`fvlib/Logger.cpp
+
+Logger.obj: fvlib/Logger.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Logger.obj -MD -MP -MF $(DEPDIR)/Logger.Tpo -c -o Logger.obj `if test -f 'fvlib/Logger.cpp'; then $(CYGPATH_W) 'fvlib/Logger.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/Logger.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/Logger.Tpo $(DEPDIR)/Logger.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/Logger.cpp' object='Logger.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Logger.obj `if test -f 'fvlib/Logger.cpp'; then $(CYGPATH_W) 'fvlib/Logger.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/Logger.cpp'; fi`
+
+RealHandlerWrapper.o: fvlib/RealHandlerWrapper.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT RealHandlerWrapper.o -MD -MP -MF $(DEPDIR)/RealHandlerWrapper.Tpo -c -o RealHandlerWrapper.o `test -f 'fvlib/RealHandlerWrapper.cpp' || echo '$(srcdir)/'`fvlib/RealHandlerWrapper.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/RealHandlerWrapper.Tpo $(DEPDIR)/RealHandlerWrapper.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/RealHandlerWrapper.cpp' object='RealHandlerWrapper.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o RealHandlerWrapper.o `test -f 'fvlib/RealHandlerWrapper.cpp' || echo '$(srcdir)/'`fvlib/RealHandlerWrapper.cpp
+
+RealHandlerWrapper.obj: fvlib/RealHandlerWrapper.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT RealHandlerWrapper.obj -MD -MP -MF $(DEPDIR)/RealHandlerWrapper.Tpo -c -o RealHandlerWrapper.obj `if test -f 'fvlib/RealHandlerWrapper.cpp'; then $(CYGPATH_W) 'fvlib/RealHandlerWrapper.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/RealHandlerWrapper.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/RealHandlerWrapper.Tpo $(DEPDIR)/RealHandlerWrapper.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/RealHandlerWrapper.cpp' object='RealHandlerWrapper.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o RealHandlerWrapper.obj `if test -f 'fvlib/RealHandlerWrapper.cpp'; then $(CYGPATH_W) 'fvlib/RealHandlerWrapper.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/RealHandlerWrapper.cpp'; fi`
+
+ReusableFileHandle.o: fvlib/ReusableFileHandle.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ReusableFileHandle.o -MD -MP -MF $(DEPDIR)/ReusableFileHandle.Tpo -c -o ReusableFileHandle.o `test -f 'fvlib/ReusableFileHandle.cpp' || echo '$(srcdir)/'`fvlib/ReusableFileHandle.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ReusableFileHandle.Tpo $(DEPDIR)/ReusableFileHandle.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/ReusableFileHandle.cpp' object='ReusableFileHandle.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ReusableFileHandle.o `test -f 'fvlib/ReusableFileHandle.cpp' || echo '$(srcdir)/'`fvlib/ReusableFileHandle.cpp
+
+ReusableFileHandle.obj: fvlib/ReusableFileHandle.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ReusableFileHandle.obj -MD -MP -MF $(DEPDIR)/ReusableFileHandle.Tpo -c -o ReusableFileHandle.obj `if test -f 'fvlib/ReusableFileHandle.cpp'; then $(CYGPATH_W) 'fvlib/ReusableFileHandle.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/ReusableFileHandle.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ReusableFileHandle.Tpo $(DEPDIR)/ReusableFileHandle.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/ReusableFileHandle.cpp' object='ReusableFileHandle.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ReusableFileHandle.obj `if test -f 'fvlib/ReusableFileHandle.cpp'; then $(CYGPATH_W) 'fvlib/ReusableFileHandle.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/ReusableFileHandle.cpp'; fi`
+
+Transposer.o: fvlib/Transposer.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Transposer.o -MD -MP -MF $(DEPDIR)/Transposer.Tpo -c -o Transposer.o `test -f 'fvlib/Transposer.cpp' || echo '$(srcdir)/'`fvlib/Transposer.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/Transposer.Tpo $(DEPDIR)/Transposer.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/Transposer.cpp' object='Transposer.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Transposer.o `test -f 'fvlib/Transposer.cpp' || echo '$(srcdir)/'`fvlib/Transposer.cpp
+
+Transposer.obj: fvlib/Transposer.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Transposer.obj -MD -MP -MF $(DEPDIR)/Transposer.Tpo -c -o Transposer.obj `if test -f 'fvlib/Transposer.cpp'; then $(CYGPATH_W) 'fvlib/Transposer.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/Transposer.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/Transposer.Tpo $(DEPDIR)/Transposer.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/Transposer.cpp' object='Transposer.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Transposer.obj `if test -f 'fvlib/Transposer.cpp'; then $(CYGPATH_W) 'fvlib/Transposer.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/Transposer.cpp'; fi`
+
+pacoxph-data.o: data.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -MT pacoxph-data.o -MD -MP -MF $(DEPDIR)/pacoxph-data.Tpo -c -o pacoxph-data.o `test -f 'data.cpp' || echo '$(srcdir)/'`data.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pacoxph-data.Tpo $(DEPDIR)/pacoxph-data.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='data.cpp' object='pacoxph-data.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -c -o pacoxph-data.o `test -f 'data.cpp' || echo '$(srcdir)/'`data.cpp
+
+pacoxph-data.obj: data.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -MT pacoxph-data.obj -MD -MP -MF $(DEPDIR)/pacoxph-data.Tpo -c -o pacoxph-data.obj `if test -f 'data.cpp'; then $(CYGPATH_W) 'data.cpp'; else $(CYGPATH_W) '$(srcdir)/data.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pacoxph-data.Tpo $(DEPDIR)/pacoxph-data.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='data.cpp' object='pacoxph-data.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -c -o pacoxph-data.obj `if test -f 'data.cpp'; then $(CYGPATH_W) 'data.cpp'; else $(CYGPATH_W) '$(srcdir)/data.cpp'; fi`
+
+pacoxph-gendata.o: gendata.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -MT pacoxph-gendata.o -MD -MP -MF $(DEPDIR)/pacoxph-gendata.Tpo -c -o pacoxph-gendata.o `test -f 'gendata.cpp' || echo '$(srcdir)/'`gendata.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pacoxph-gendata.Tpo $(DEPDIR)/pacoxph-gendata.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='gendata.cpp' object='pacoxph-gendata.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -c -o pacoxph-gendata.o `test -f 'gendata.cpp' || echo '$(srcdir)/'`gendata.cpp
+
+pacoxph-gendata.obj: gendata.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -MT pacoxph-gendata.obj -MD -MP -MF $(DEPDIR)/pacoxph-gendata.Tpo -c -o pacoxph-gendata.obj `if test -f 'gendata.cpp'; then $(CYGPATH_W) 'gendata.cpp'; else $(CYGPATH_W) '$(srcdir)/gendata.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pacoxph-gendata.Tpo $(DEPDIR)/pacoxph-gendata.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='gendata.cpp' object='pacoxph-gendata.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -c -o pacoxph-gendata.obj `if test -f 'gendata.cpp'; then $(CYGPATH_W) 'gendata.cpp'; else $(CYGPATH_W) '$(srcdir)/gendata.cpp'; fi`
+
+pacoxph-command_line_settings.o: command_line_settings.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -MT pacoxph-command_line_settings.o -MD -MP -MF $(DEPDIR)/pacoxph-command_line_settings.Tpo -c -o pacoxph-command_line_settings.o `test -f 'command_line_settings.cpp' || echo '$(srcdir)/'`command_line_settings.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pacoxph-command_line_settings.Tpo $(DEPDIR)/pacoxph-command_line_settings.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='command_line_settings.cpp' object='pacoxph-command_line_settings.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -c -o pacoxph-command_line_settings.o `test -f 'command_line_settings.cpp' || echo '$(srcdir)/'`command_line_settings.cpp
+
+pacoxph-command_line_settings.obj: command_line_settings.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -MT pacoxph-command_line_settings.obj -MD -MP -MF $(DEPDIR)/pacoxph-command_line_settings.Tpo -c -o pacoxph-command_line_settings.obj `if test -f 'command_line_settings.cpp'; then $(CYGPATH_W) 'command_line_settings.cpp'; else $(CYGPATH_W) '$(srcdir)/command_line_settings.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pacoxph-command_line_settings.Tpo $(DEPDIR)/pacoxph-command_line_settings.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='command_line_settings.cpp' object='pacoxph-command_line_settings.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -c -o pacoxph-command_line_settings.obj `if test -f 'command_line_settings.cpp'; then $(CYGPATH_W) 'command_line_settings.cpp'; else $(CYGPATH_W) '$(srcdir)/command_line_settings.cpp'; fi`
+
+pacoxph-usage.o: usage.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -MT pacoxph-usage.o -MD -MP -MF $(DEPDIR)/pacoxph-usage.Tpo -c -o pacoxph-usage.o `test -f 'usage.cpp' || echo '$(srcdir)/'`usage.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pacoxph-usage.Tpo $(DEPDIR)/pacoxph-usage.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='usage.cpp' object='pacoxph-usage.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -c -o pacoxph-usage.o `test -f 'usage.cpp' || echo '$(srcdir)/'`usage.cpp
+
+pacoxph-usage.obj: usage.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -MT pacoxph-usage.obj -MD -MP -MF $(DEPDIR)/pacoxph-usage.Tpo -c -o pacoxph-usage.obj `if test -f 'usage.cpp'; then $(CYGPATH_W) 'usage.cpp'; else $(CYGPATH_W) '$(srcdir)/usage.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pacoxph-usage.Tpo $(DEPDIR)/pacoxph-usage.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='usage.cpp' object='pacoxph-usage.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -c -o pacoxph-usage.obj `if test -f 'usage.cpp'; then $(CYGPATH_W) 'usage.cpp'; else $(CYGPATH_W) '$(srcdir)/usage.cpp'; fi`
+
+pacoxph-main.o: main.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -MT pacoxph-main.o -MD -MP -MF $(DEPDIR)/pacoxph-main.Tpo -c -o pacoxph-main.o `test -f 'main.cpp' || echo '$(srcdir)/'`main.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pacoxph-main.Tpo $(DEPDIR)/pacoxph-main.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='main.cpp' object='pacoxph-main.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -c -o pacoxph-main.o `test -f 'main.cpp' || echo '$(srcdir)/'`main.cpp
+
+pacoxph-main.obj: main.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -MT pacoxph-main.obj -MD -MP -MF $(DEPDIR)/pacoxph-main.Tpo -c -o pacoxph-main.obj `if test -f 'main.cpp'; then $(CYGPATH_W) 'main.cpp'; else $(CYGPATH_W) '$(srcdir)/main.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pacoxph-main.Tpo $(DEPDIR)/pacoxph-main.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='main.cpp' object='pacoxph-main.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -c -o pacoxph-main.obj `if test -f 'main.cpp'; then $(CYGPATH_W) 'main.cpp'; else $(CYGPATH_W) '$(srcdir)/main.cpp'; fi`
+
+pacoxph-utilities.o: utilities.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -MT pacoxph-utilities.o -MD -MP -MF $(DEPDIR)/pacoxph-utilities.Tpo -c -o pacoxph-utilities.o `test -f 'utilities.cpp' || echo '$(srcdir)/'`utilities.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pacoxph-utilities.Tpo $(DEPDIR)/pacoxph-utilities.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='utilities.cpp' object='pacoxph-utilities.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -c -o pacoxph-utilities.o `test -f 'utilities.cpp' || echo '$(srcdir)/'`utilities.cpp
+
+pacoxph-utilities.obj: utilities.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -MT pacoxph-utilities.obj -MD -MP -MF $(DEPDIR)/pacoxph-utilities.Tpo -c -o pacoxph-utilities.obj `if test -f 'utilities.cpp'; then $(CYGPATH_W) 'utilities.cpp'; else $(CYGPATH_W) '$(srcdir)/utilities.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pacoxph-utilities.Tpo $(DEPDIR)/pacoxph-utilities.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='utilities.cpp' object='pacoxph-utilities.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -c -o pacoxph-utilities.obj `if test -f 'utilities.cpp'; then $(CYGPATH_W) 'utilities.cpp'; else $(CYGPATH_W) '$(srcdir)/utilities.cpp'; fi`
+
+pacoxph-phedata.o: phedata.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -MT pacoxph-phedata.o -MD -MP -MF $(DEPDIR)/pacoxph-phedata.Tpo -c -o pacoxph-phedata.o `test -f 'phedata.cpp' || echo '$(srcdir)/'`phedata.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pacoxph-phedata.Tpo $(DEPDIR)/pacoxph-phedata.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='phedata.cpp' object='pacoxph-phedata.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -c -o pacoxph-phedata.o `test -f 'phedata.cpp' || echo '$(srcdir)/'`phedata.cpp
+
+pacoxph-phedata.obj: phedata.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -MT pacoxph-phedata.obj -MD -MP -MF $(DEPDIR)/pacoxph-phedata.Tpo -c -o pacoxph-phedata.obj `if test -f 'phedata.cpp'; then $(CYGPATH_W) 'phedata.cpp'; else $(CYGPATH_W) '$(srcdir)/phedata.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pacoxph-phedata.Tpo $(DEPDIR)/pacoxph-phedata.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='phedata.cpp' object='pacoxph-phedata.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -c -o pacoxph-phedata.obj `if test -f 'phedata.cpp'; then $(CYGPATH_W) 'phedata.cpp'; else $(CYGPATH_W) '$(srcdir)/phedata.cpp'; fi`
+
+pacoxph-cholesky.o: cholesky.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -MT pacoxph-cholesky.o -MD -MP -MF $(DEPDIR)/pacoxph-cholesky.Tpo -c -o pacoxph-cholesky.o `test -f 'cholesky.cpp' || echo '$(srcdir)/'`cholesky.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pacoxph-cholesky.Tpo $(DEPDIR)/pacoxph-cholesky.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='cholesky.cpp' object='pacoxph-cholesky.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -c -o pacoxph-cholesky.o `test -f 'cholesky.cpp' || echo '$(srcdir)/'`cholesky.cpp
+
+pacoxph-cholesky.obj: cholesky.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -MT pacoxph-cholesky.obj -MD -MP -MF $(DEPDIR)/pacoxph-cholesky.Tpo -c -o pacoxph-cholesky.obj `if test -f 'cholesky.cpp'; then $(CYGPATH_W) 'cholesky.cpp'; else $(CYGPATH_W) '$(srcdir)/cholesky.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pacoxph-cholesky.Tpo $(DEPDIR)/pacoxph-cholesky.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='cholesky.cpp' object='pacoxph-cholesky.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -c -o pacoxph-cholesky.obj `if test -f 'cholesky.cpp'; then $(CYGPATH_W) 'cholesky.cpp'; else $(CYGPATH_W) '$(srcdir)/cholesky.cpp'; fi`
+
+pacoxph-regdata.o: regdata.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -MT pacoxph-regdata.o -MD -MP -MF $(DEPDIR)/pacoxph-regdata.Tpo -c -o pacoxph-regdata.o `test -f 'regdata.cpp' || echo '$(srcdir)/'`regdata.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pacoxph-regdata.Tpo $(DEPDIR)/pacoxph-regdata.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='regdata.cpp' object='pacoxph-regdata.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -c -o pacoxph-regdata.o `test -f 'regdata.cpp' || echo '$(srcdir)/'`regdata.cpp
+
+pacoxph-regdata.obj: regdata.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -MT pacoxph-regdata.obj -MD -MP -MF $(DEPDIR)/pacoxph-regdata.Tpo -c -o pacoxph-regdata.obj `if test -f 'regdata.cpp'; then $(CYGPATH_W) 'regdata.cpp'; else $(CYGPATH_W) '$(srcdir)/regdata.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pacoxph-regdata.Tpo $(DEPDIR)/pacoxph-regdata.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='regdata.cpp' object='pacoxph-regdata.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -c -o pacoxph-regdata.obj `if test -f 'regdata.cpp'; then $(CYGPATH_W) 'regdata.cpp'; else $(CYGPATH_W) '$(srcdir)/regdata.cpp'; fi`
+
+pacoxph-maskedmatrix.o: maskedmatrix.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -MT pacoxph-maskedmatrix.o -MD -MP -MF $(DEPDIR)/pacoxph-maskedmatrix.Tpo -c -o pacoxph-maskedmatrix.o `test -f 'maskedmatrix.cpp' || echo '$(srcdir)/'`maskedmatrix.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pacoxph-maskedmatrix.Tpo $(DEPDIR)/pacoxph-maskedmatrix.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='maskedmatrix.cpp' object='pacoxph-maskedmatrix.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -c -o pacoxph-maskedmatrix.o `test -f 'maskedmatrix.cpp' || echo '$(srcdir)/'`maskedmatrix.cpp
+
+pacoxph-maskedmatrix.obj: maskedmatrix.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -MT pacoxph-maskedmatrix.obj -MD -MP -MF $(DEPDIR)/pacoxph-maskedmatrix.Tpo -c -o pacoxph-maskedmatrix.obj `if test -f 'maskedmatrix.cpp'; then $(CYGPATH_W) 'maskedmatrix.cpp'; else $(CYGPATH_W) '$(srcdir)/maskedmatrix.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pacoxph-maskedmatrix.Tpo $(DEPDIR)/pacoxph-maskedmatrix.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='maskedmatrix.cpp' object='pacoxph-maskedmatrix.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -c -o pacoxph-maskedmatrix.obj `if test -f 'maskedmatrix.cpp'; then $(CYGPATH_W) 'maskedmatrix.cpp'; else $(CYGPATH_W) '$(srcdir)/maskedmatrix.cpp'; fi`
+
+pacoxph-reg1.o: reg1.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -MT pacoxph-reg1.o -MD -MP -MF $(DEPDIR)/pacoxph-reg1.Tpo -c -o pacoxph-reg1.o `test -f 'reg1.cpp' || echo '$(srcdir)/'`reg1.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pacoxph-reg1.Tpo $(DEPDIR)/pacoxph-reg1.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='reg1.cpp' object='pacoxph-reg1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -c -o pacoxph-reg1.o `test -f 'reg1.cpp' || echo '$(srcdir)/'`reg1.cpp
+
+pacoxph-reg1.obj: reg1.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -MT pacoxph-reg1.obj -MD -MP -MF $(DEPDIR)/pacoxph-reg1.Tpo -c -o pacoxph-reg1.obj `if test -f 'reg1.cpp'; then $(CYGPATH_W) 'reg1.cpp'; else $(CYGPATH_W) '$(srcdir)/reg1.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pacoxph-reg1.Tpo $(DEPDIR)/pacoxph-reg1.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='reg1.cpp' object='pacoxph-reg1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -c -o pacoxph-reg1.obj `if test -f 'reg1.cpp'; then $(CYGPATH_W) 'reg1.cpp'; else $(CYGPATH_W) '$(srcdir)/reg1.cpp'; fi`
+
+pacoxph-AbstractMatrix.o: fvlib/AbstractMatrix.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -MT pacoxph-AbstractMatrix.o -MD -MP -MF $(DEPDIR)/pacoxph-AbstractMatrix.Tpo -c -o pacoxph-AbstractMatrix.o `test -f 'fvlib/AbstractMatrix.cpp' || echo '$(srcdir)/'`fvlib/AbstractMatrix.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pacoxph-AbstractMatrix.Tpo $(DEPDIR)/pacoxph-AbstractMatrix.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/AbstractMatrix.cpp' object='pacoxph-AbstractMatrix.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -c -o pacoxph-AbstractMatrix.o `test -f 'fvlib/AbstractMatrix.cpp' || echo '$(srcdir)/'`fvlib/AbstractMatrix.cpp
+
+pacoxph-AbstractMatrix.obj: fvlib/AbstractMatrix.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -MT pacoxph-AbstractMatrix.obj -MD -MP -MF $(DEPDIR)/pacoxph-AbstractMatrix.Tpo -c -o pacoxph-AbstractMatrix.obj `if test -f 'fvlib/AbstractMatrix.cpp'; then $(CYGPATH_W) 'fvlib/AbstractMatrix.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/AbstractMatrix.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pacoxph-AbstractMatrix.Tpo $(DEPDIR)/pacoxph-AbstractMatrix.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/AbstractMatrix.cpp' object='pacoxph-AbstractMatrix.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -c -o pacoxph-AbstractMatrix.obj `if test -f 'fvlib/AbstractMatrix.cpp'; then $(CYGPATH_W) 'fvlib/AbstractMatrix.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/AbstractMatrix.cpp'; fi`
+
+pacoxph-CastUtils.o: fvlib/CastUtils.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -MT pacoxph-CastUtils.o -MD -MP -MF $(DEPDIR)/pacoxph-CastUtils.Tpo -c -o pacoxph-CastUtils.o `test -f 'fvlib/CastUtils.cpp' || echo '$(srcdir)/'`fvlib/CastUtils.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pacoxph-CastUtils.Tpo $(DEPDIR)/pacoxph-CastUtils.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/CastUtils.cpp' object='pacoxph-CastUtils.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -c -o pacoxph-CastUtils.o `test -f 'fvlib/CastUtils.cpp' || echo '$(srcdir)/'`fvlib/CastUtils.cpp
+
+pacoxph-CastUtils.obj: fvlib/CastUtils.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -MT pacoxph-CastUtils.obj -MD -MP -MF $(DEPDIR)/pacoxph-CastUtils.Tpo -c -o pacoxph-CastUtils.obj `if test -f 'fvlib/CastUtils.cpp'; then $(CYGPATH_W) 'fvlib/CastUtils.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/CastUtils.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pacoxph-CastUtils.Tpo $(DEPDIR)/pacoxph-CastUtils.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/CastUtils.cpp' object='pacoxph-CastUtils.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -c -o pacoxph-CastUtils.obj `if test -f 'fvlib/CastUtils.cpp'; then $(CYGPATH_W) 'fvlib/CastUtils.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/CastUtils.cpp'; fi`
+
+pacoxph-convert_util.o: fvlib/convert_util.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -MT pacoxph-convert_util.o -MD -MP -MF $(DEPDIR)/pacoxph-convert_util.Tpo -c -o pacoxph-convert_util.o `test -f 'fvlib/convert_util.cpp' || echo '$(srcdir)/'`fvlib/convert_util.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pacoxph-convert_util.Tpo $(DEPDIR)/pacoxph-convert_util.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/convert_util.cpp' object='pacoxph-convert_util.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -c -o pacoxph-convert_util.o `test -f 'fvlib/convert_util.cpp' || echo '$(srcdir)/'`fvlib/convert_util.cpp
+
+pacoxph-convert_util.obj: fvlib/convert_util.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -MT pacoxph-convert_util.obj -MD -MP -MF $(DEPDIR)/pacoxph-convert_util.Tpo -c -o pacoxph-convert_util.obj `if test -f 'fvlib/convert_util.cpp'; then $(CYGPATH_W) 'fvlib/convert_util.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/convert_util.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pacoxph-convert_util.Tpo $(DEPDIR)/pacoxph-convert_util.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/convert_util.cpp' object='pacoxph-convert_util.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -c -o pacoxph-convert_util.obj `if test -f 'fvlib/convert_util.cpp'; then $(CYGPATH_W) 'fvlib/convert_util.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/convert_util.cpp'; fi`
+
+pacoxph-FileVector.o: fvlib/FileVector.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -MT pacoxph-FileVector.o -MD -MP -MF $(DEPDIR)/pacoxph-FileVector.Tpo -c -o pacoxph-FileVector.o `test -f 'fvlib/FileVector.cpp' || echo '$(srcdir)/'`fvlib/FileVector.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pacoxph-FileVector.Tpo $(DEPDIR)/pacoxph-FileVector.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/FileVector.cpp' object='pacoxph-FileVector.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -c -o pacoxph-FileVector.o `test -f 'fvlib/FileVector.cpp' || echo '$(srcdir)/'`fvlib/FileVector.cpp
+
+pacoxph-FileVector.obj: fvlib/FileVector.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -MT pacoxph-FileVector.obj -MD -MP -MF $(DEPDIR)/pacoxph-FileVector.Tpo -c -o pacoxph-FileVector.obj `if test -f 'fvlib/FileVector.cpp'; then $(CYGPATH_W) 'fvlib/FileVector.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/FileVector.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pacoxph-FileVector.Tpo $(DEPDIR)/pacoxph-FileVector.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/FileVector.cpp' object='pacoxph-FileVector.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -c -o pacoxph-FileVector.obj `if test -f 'fvlib/FileVector.cpp'; then $(CYGPATH_W) 'fvlib/FileVector.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/FileVector.cpp'; fi`
+
+pacoxph-FilteredMatrix.o: fvlib/FilteredMatrix.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -MT pacoxph-FilteredMatrix.o -MD -MP -MF $(DEPDIR)/pacoxph-FilteredMatrix.Tpo -c -o pacoxph-FilteredMatrix.o `test -f 'fvlib/FilteredMatrix.cpp' || echo '$(srcdir)/'`fvlib/FilteredMatrix.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pacoxph-FilteredMatrix.Tpo $(DEPDIR)/pacoxph-FilteredMatrix.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/FilteredMatrix.cpp' object='pacoxph-FilteredMatrix.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -c -o pacoxph-FilteredMatrix.o `test -f 'fvlib/FilteredMatrix.cpp' || echo '$(srcdir)/'`fvlib/FilteredMatrix.cpp
+
+pacoxph-FilteredMatrix.obj: fvlib/FilteredMatrix.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -MT pacoxph-FilteredMatrix.obj -MD -MP -MF $(DEPDIR)/pacoxph-FilteredMatrix.Tpo -c -o pacoxph-FilteredMatrix.obj `if test -f 'fvlib/FilteredMatrix.cpp'; then $(CYGPATH_W) 'fvlib/FilteredMatrix.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/FilteredMatrix.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pacoxph-FilteredMatrix.Tpo $(DEPDIR)/pacoxph-FilteredMatrix.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/FilteredMatrix.cpp' object='pacoxph-FilteredMatrix.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -c -o pacoxph-FilteredMatrix.obj `if test -f 'fvlib/FilteredMatrix.cpp'; then $(CYGPATH_W) 'fvlib/FilteredMatrix.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/FilteredMatrix.cpp'; fi`
+
+pacoxph-frutil.o: fvlib/frutil.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -MT pacoxph-frutil.o -MD -MP -MF $(DEPDIR)/pacoxph-frutil.Tpo -c -o pacoxph-frutil.o `test -f 'fvlib/frutil.cpp' || echo '$(srcdir)/'`fvlib/frutil.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pacoxph-frutil.Tpo $(DEPDIR)/pacoxph-frutil.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/frutil.cpp' object='pacoxph-frutil.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -c -o pacoxph-frutil.o `test -f 'fvlib/frutil.cpp' || echo '$(srcdir)/'`fvlib/frutil.cpp
+
+pacoxph-frutil.obj: fvlib/frutil.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -MT pacoxph-frutil.obj -MD -MP -MF $(DEPDIR)/pacoxph-frutil.Tpo -c -o pacoxph-frutil.obj `if test -f 'fvlib/frutil.cpp'; then $(CYGPATH_W) 'fvlib/frutil.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/frutil.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pacoxph-frutil.Tpo $(DEPDIR)/pacoxph-frutil.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/frutil.cpp' object='pacoxph-frutil.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -c -o pacoxph-frutil.obj `if test -f 'fvlib/frutil.cpp'; then $(CYGPATH_W) 'fvlib/frutil.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/frutil.cpp'; fi`
+
+pacoxph-Logger.o: fvlib/Logger.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -MT pacoxph-Logger.o -MD -MP -MF $(DEPDIR)/pacoxph-Logger.Tpo -c -o pacoxph-Logger.o `test -f 'fvlib/Logger.cpp' || echo '$(srcdir)/'`fvlib/Logger.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pacoxph-Logger.Tpo $(DEPDIR)/pacoxph-Logger.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/Logger.cpp' object='pacoxph-Logger.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -c -o pacoxph-Logger.o `test -f 'fvlib/Logger.cpp' || echo '$(srcdir)/'`fvlib/Logger.cpp
+
+pacoxph-Logger.obj: fvlib/Logger.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -MT pacoxph-Logger.obj -MD -MP -MF $(DEPDIR)/pacoxph-Logger.Tpo -c -o pacoxph-Logger.obj `if test -f 'fvlib/Logger.cpp'; then $(CYGPATH_W) 'fvlib/Logger.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/Logger.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pacoxph-Logger.Tpo $(DEPDIR)/pacoxph-Logger.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/Logger.cpp' object='pacoxph-Logger.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -c -o pacoxph-Logger.obj `if test -f 'fvlib/Logger.cpp'; then $(CYGPATH_W) 'fvlib/Logger.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/Logger.cpp'; fi`
+
+pacoxph-RealHandlerWrapper.o: fvlib/RealHandlerWrapper.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -MT pacoxph-RealHandlerWrapper.o -MD -MP -MF $(DEPDIR)/pacoxph-RealHandlerWrapper.Tpo -c -o pacoxph-RealHandlerWrapper.o `test -f 'fvlib/RealHandlerWrapper.cpp' || echo '$(srcdir)/'`fvlib/RealHandlerWrapper.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pacoxph-RealHandlerWrapper.Tpo $(DEPDIR)/pacoxph-RealHandlerWrapper.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/RealHandlerWrapper.cpp' object='pacoxph-RealHandlerWrapper.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -c -o pacoxph-RealHandlerWrapper.o `test -f 'fvlib/RealHandlerWrapper.cpp' || echo '$(srcdir)/'`fvlib/RealHandlerWrapper.cpp
+
+pacoxph-RealHandlerWrapper.obj: fvlib/RealHandlerWrapper.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -MT pacoxph-RealHandlerWrapper.obj -MD -MP -MF $(DEPDIR)/pacoxph-RealHandlerWrapper.Tpo -c -o pacoxph-RealHandlerWrapper.obj `if test -f 'fvlib/RealHandlerWrapper.cpp'; then $(CYGPATH_W) 'fvlib/RealHandlerWrapper.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/RealHandlerWrapper.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pacoxph-RealHandlerWrapper.Tpo $(DEPDIR)/pacoxph-RealHandlerWrapper.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/RealHandlerWrapper.cpp' object='pacoxph-RealHandlerWrapper.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -c -o pacoxph-RealHandlerWrapper.obj `if test -f 'fvlib/RealHandlerWrapper.cpp'; then $(CYGPATH_W) 'fvlib/RealHandlerWrapper.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/RealHandlerWrapper.cpp'; fi`
+
+pacoxph-ReusableFileHandle.o: fvlib/ReusableFileHandle.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -MT pacoxph-ReusableFileHandle.o -MD -MP -MF $(DEPDIR)/pacoxph-ReusableFileHandle.Tpo -c -o pacoxph-ReusableFileHandle.o `test -f 'fvlib/ReusableFileHandle.cpp' || echo '$(srcdir)/'`fvlib/ReusableFileHandle.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pacoxph-ReusableFileHandle.Tpo $(DEPDIR)/pacoxph-ReusableFileHandle.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/ReusableFileHandle.cpp' object='pacoxph-ReusableFileHandle.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -c -o pacoxph-ReusableFileHandle.o `test -f 'fvlib/ReusableFileHandle.cpp' || echo '$(srcdir)/'`fvlib/ReusableFileHandle.cpp
+
+pacoxph-ReusableFileHandle.obj: fvlib/ReusableFileHandle.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -MT pacoxph-ReusableFileHandle.obj -MD -MP -MF $(DEPDIR)/pacoxph-ReusableFileHandle.Tpo -c -o pacoxph-ReusableFileHandle.obj `if test -f 'fvlib/ReusableFileHandle.cpp'; then $(CYGPATH_W) 'fvlib/ReusableFileHandle.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/ReusableFileHandle.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pacoxph-ReusableFileHandle.Tpo $(DEPDIR)/pacoxph-ReusableFileHandle.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/ReusableFileHandle.cpp' object='pacoxph-ReusableFileHandle.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -c -o pacoxph-ReusableFileHandle.obj `if test -f 'fvlib/ReusableFileHandle.cpp'; then $(CYGPATH_W) 'fvlib/ReusableFileHandle.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/ReusableFileHandle.cpp'; fi`
+
+pacoxph-Transposer.o: fvlib/Transposer.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -MT pacoxph-Transposer.o -MD -MP -MF $(DEPDIR)/pacoxph-Transposer.Tpo -c -o pacoxph-Transposer.o `test -f 'fvlib/Transposer.cpp' || echo '$(srcdir)/'`fvlib/Transposer.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pacoxph-Transposer.Tpo $(DEPDIR)/pacoxph-Transposer.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/Transposer.cpp' object='pacoxph-Transposer.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -c -o pacoxph-Transposer.o `test -f 'fvlib/Transposer.cpp' || echo '$(srcdir)/'`fvlib/Transposer.cpp
+
+pacoxph-Transposer.obj: fvlib/Transposer.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -MT pacoxph-Transposer.obj -MD -MP -MF $(DEPDIR)/pacoxph-Transposer.Tpo -c -o pacoxph-Transposer.obj `if test -f 'fvlib/Transposer.cpp'; then $(CYGPATH_W) 'fvlib/Transposer.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/Transposer.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pacoxph-Transposer.Tpo $(DEPDIR)/pacoxph-Transposer.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/Transposer.cpp' object='pacoxph-Transposer.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -c -o pacoxph-Transposer.obj `if test -f 'fvlib/Transposer.cpp'; then $(CYGPATH_W) 'fvlib/Transposer.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/Transposer.cpp'; fi`
+
+pacoxph-coxph_data.o: coxph_data.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -MT pacoxph-coxph_data.o -MD -MP -MF $(DEPDIR)/pacoxph-coxph_data.Tpo -c -o pacoxph-coxph_data.o `test -f 'coxph_data.cpp' || echo '$(srcdir)/'`coxph_data.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pacoxph-coxph_data.Tpo $(DEPDIR)/pacoxph-coxph_data.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='coxph_data.cpp' object='pacoxph-coxph_data.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -c -o pacoxph-coxph_data.o `test -f 'coxph_data.cpp' || echo '$(srcdir)/'`coxph_data.cpp
+
+pacoxph-coxph_data.obj: coxph_data.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -MT pacoxph-coxph_data.obj -MD -MP -MF $(DEPDIR)/pacoxph-coxph_data.Tpo -c -o pacoxph-coxph_data.obj `if test -f 'coxph_data.cpp'; then $(CYGPATH_W) 'coxph_data.cpp'; else $(CYGPATH_W) '$(srcdir)/coxph_data.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pacoxph-coxph_data.Tpo $(DEPDIR)/pacoxph-coxph_data.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='coxph_data.cpp' object='pacoxph-coxph_data.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -c -o pacoxph-coxph_data.obj `if test -f 'coxph_data.cpp'; then $(CYGPATH_W) 'coxph_data.cpp'; else $(CYGPATH_W) '$(srcdir)/coxph_data.cpp'; fi`
+
+pacoxph-eigen_mematrix.o: eigen_mematrix.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -MT pacoxph-eigen_mematrix.o -MD -MP -MF $(DEPDIR)/pacoxph-eigen_mematrix.Tpo -c -o pacoxph-eigen_mematrix.o `test -f 'eigen_mematrix.cpp' || echo '$(srcdir)/'`eigen_mematrix.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pacoxph-eigen_mematrix.Tpo $(DEPDIR)/pacoxph-eigen_mematrix.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='eigen_mematrix.cpp' object='pacoxph-eigen_mematrix.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -c -o pacoxph-eigen_mematrix.o `test -f 'eigen_mematrix.cpp' || echo '$(srcdir)/'`eigen_mematrix.cpp
+
+pacoxph-eigen_mematrix.obj: eigen_mematrix.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -MT pacoxph-eigen_mematrix.obj -MD -MP -MF $(DEPDIR)/pacoxph-eigen_mematrix.Tpo -c -o pacoxph-eigen_mematrix.obj `if test -f 'eigen_mematrix.cpp'; then $(CYGPATH_W) 'eigen_mematrix.cpp'; else $(CYGPATH_W) '$(srcdir)/eigen_mematrix.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pacoxph-eigen_mematrix.Tpo $(DEPDIR)/pacoxph-eigen_mematrix.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='eigen_mematrix.cpp' object='pacoxph-eigen_mematrix.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pacoxph_CPPFLAGS) $(CPPFLAGS) $(pacoxph_CXXFLAGS) $(CXXFLAGS) -c -o pacoxph-eigen_mematrix.obj `if test -f 'eigen_mematrix.cpp'; then $(CYGPATH_W) 'eigen_mematrix.cpp'; else $(CYGPATH_W) '$(srcdir)/eigen_mematrix.cpp'; fi`
+
+palinear-data.o: data.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -MT palinear-data.o -MD -MP -MF $(DEPDIR)/palinear-data.Tpo -c -o palinear-data.o `test -f 'data.cpp' || echo '$(srcdir)/'`data.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palinear-data.Tpo $(DEPDIR)/palinear-data.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='data.cpp' object='palinear-data.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -c -o palinear-data.o `test -f 'data.cpp' || echo '$(srcdir)/'`data.cpp
+
+palinear-data.obj: data.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -MT palinear-data.obj -MD -MP -MF $(DEPDIR)/palinear-data.Tpo -c -o palinear-data.obj `if test -f 'data.cpp'; then $(CYGPATH_W) 'data.cpp'; else $(CYGPATH_W) '$(srcdir)/data.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palinear-data.Tpo $(DEPDIR)/palinear-data.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='data.cpp' object='palinear-data.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -c -o palinear-data.obj `if test -f 'data.cpp'; then $(CYGPATH_W) 'data.cpp'; else $(CYGPATH_W) '$(srcdir)/data.cpp'; fi`
+
+palinear-gendata.o: gendata.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -MT palinear-gendata.o -MD -MP -MF $(DEPDIR)/palinear-gendata.Tpo -c -o palinear-gendata.o `test -f 'gendata.cpp' || echo '$(srcdir)/'`gendata.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palinear-gendata.Tpo $(DEPDIR)/palinear-gendata.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='gendata.cpp' object='palinear-gendata.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -c -o palinear-gendata.o `test -f 'gendata.cpp' || echo '$(srcdir)/'`gendata.cpp
+
+palinear-gendata.obj: gendata.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -MT palinear-gendata.obj -MD -MP -MF $(DEPDIR)/palinear-gendata.Tpo -c -o palinear-gendata.obj `if test -f 'gendata.cpp'; then $(CYGPATH_W) 'gendata.cpp'; else $(CYGPATH_W) '$(srcdir)/gendata.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palinear-gendata.Tpo $(DEPDIR)/palinear-gendata.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='gendata.cpp' object='palinear-gendata.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -c -o palinear-gendata.obj `if test -f 'gendata.cpp'; then $(CYGPATH_W) 'gendata.cpp'; else $(CYGPATH_W) '$(srcdir)/gendata.cpp'; fi`
+
+palinear-command_line_settings.o: command_line_settings.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -MT palinear-command_line_settings.o -MD -MP -MF $(DEPDIR)/palinear-command_line_settings.Tpo -c -o palinear-command_line_settings.o `test -f 'command_line_settings.cpp' || echo '$(srcdir)/'`command_line_settings.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palinear-command_line_settings.Tpo $(DEPDIR)/palinear-command_line_settings.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='command_line_settings.cpp' object='palinear-command_line_settings.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -c -o palinear-command_line_settings.o `test -f 'command_line_settings.cpp' || echo '$(srcdir)/'`command_line_settings.cpp
+
+palinear-command_line_settings.obj: command_line_settings.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -MT palinear-command_line_settings.obj -MD -MP -MF $(DEPDIR)/palinear-command_line_settings.Tpo -c -o palinear-command_line_settings.obj `if test -f 'command_line_settings.cpp'; then $(CYGPATH_W) 'command_line_settings.cpp'; else $(CYGPATH_W) '$(srcdir)/command_line_settings.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palinear-command_line_settings.Tpo $(DEPDIR)/palinear-command_line_settings.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='command_line_settings.cpp' object='palinear-command_line_settings.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -c -o palinear-command_line_settings.obj `if test -f 'command_line_settings.cpp'; then $(CYGPATH_W) 'command_line_settings.cpp'; else $(CYGPATH_W) '$(srcdir)/command_line_settings.cpp'; fi`
+
+palinear-usage.o: usage.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -MT palinear-usage.o -MD -MP -MF $(DEPDIR)/palinear-usage.Tpo -c -o palinear-usage.o `test -f 'usage.cpp' || echo '$(srcdir)/'`usage.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palinear-usage.Tpo $(DEPDIR)/palinear-usage.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='usage.cpp' object='palinear-usage.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -c -o palinear-usage.o `test -f 'usage.cpp' || echo '$(srcdir)/'`usage.cpp
+
+palinear-usage.obj: usage.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -MT palinear-usage.obj -MD -MP -MF $(DEPDIR)/palinear-usage.Tpo -c -o palinear-usage.obj `if test -f 'usage.cpp'; then $(CYGPATH_W) 'usage.cpp'; else $(CYGPATH_W) '$(srcdir)/usage.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palinear-usage.Tpo $(DEPDIR)/palinear-usage.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='usage.cpp' object='palinear-usage.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -c -o palinear-usage.obj `if test -f 'usage.cpp'; then $(CYGPATH_W) 'usage.cpp'; else $(CYGPATH_W) '$(srcdir)/usage.cpp'; fi`
+
+palinear-main.o: main.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -MT palinear-main.o -MD -MP -MF $(DEPDIR)/palinear-main.Tpo -c -o palinear-main.o `test -f 'main.cpp' || echo '$(srcdir)/'`main.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palinear-main.Tpo $(DEPDIR)/palinear-main.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='main.cpp' object='palinear-main.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -c -o palinear-main.o `test -f 'main.cpp' || echo '$(srcdir)/'`main.cpp
+
+palinear-main.obj: main.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -MT palinear-main.obj -MD -MP -MF $(DEPDIR)/palinear-main.Tpo -c -o palinear-main.obj `if test -f 'main.cpp'; then $(CYGPATH_W) 'main.cpp'; else $(CYGPATH_W) '$(srcdir)/main.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palinear-main.Tpo $(DEPDIR)/palinear-main.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='main.cpp' object='palinear-main.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -c -o palinear-main.obj `if test -f 'main.cpp'; then $(CYGPATH_W) 'main.cpp'; else $(CYGPATH_W) '$(srcdir)/main.cpp'; fi`
+
+palinear-utilities.o: utilities.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -MT palinear-utilities.o -MD -MP -MF $(DEPDIR)/palinear-utilities.Tpo -c -o palinear-utilities.o `test -f 'utilities.cpp' || echo '$(srcdir)/'`utilities.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palinear-utilities.Tpo $(DEPDIR)/palinear-utilities.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='utilities.cpp' object='palinear-utilities.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -c -o palinear-utilities.o `test -f 'utilities.cpp' || echo '$(srcdir)/'`utilities.cpp
+
+palinear-utilities.obj: utilities.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -MT palinear-utilities.obj -MD -MP -MF $(DEPDIR)/palinear-utilities.Tpo -c -o palinear-utilities.obj `if test -f 'utilities.cpp'; then $(CYGPATH_W) 'utilities.cpp'; else $(CYGPATH_W) '$(srcdir)/utilities.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palinear-utilities.Tpo $(DEPDIR)/palinear-utilities.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='utilities.cpp' object='palinear-utilities.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -c -o palinear-utilities.obj `if test -f 'utilities.cpp'; then $(CYGPATH_W) 'utilities.cpp'; else $(CYGPATH_W) '$(srcdir)/utilities.cpp'; fi`
+
+palinear-phedata.o: phedata.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -MT palinear-phedata.o -MD -MP -MF $(DEPDIR)/palinear-phedata.Tpo -c -o palinear-phedata.o `test -f 'phedata.cpp' || echo '$(srcdir)/'`phedata.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palinear-phedata.Tpo $(DEPDIR)/palinear-phedata.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='phedata.cpp' object='palinear-phedata.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -c -o palinear-phedata.o `test -f 'phedata.cpp' || echo '$(srcdir)/'`phedata.cpp
+
+palinear-phedata.obj: phedata.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -MT palinear-phedata.obj -MD -MP -MF $(DEPDIR)/palinear-phedata.Tpo -c -o palinear-phedata.obj `if test -f 'phedata.cpp'; then $(CYGPATH_W) 'phedata.cpp'; else $(CYGPATH_W) '$(srcdir)/phedata.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palinear-phedata.Tpo $(DEPDIR)/palinear-phedata.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='phedata.cpp' object='palinear-phedata.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -c -o palinear-phedata.obj `if test -f 'phedata.cpp'; then $(CYGPATH_W) 'phedata.cpp'; else $(CYGPATH_W) '$(srcdir)/phedata.cpp'; fi`
+
+palinear-cholesky.o: cholesky.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -MT palinear-cholesky.o -MD -MP -MF $(DEPDIR)/palinear-cholesky.Tpo -c -o palinear-cholesky.o `test -f 'cholesky.cpp' || echo '$(srcdir)/'`cholesky.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palinear-cholesky.Tpo $(DEPDIR)/palinear-cholesky.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='cholesky.cpp' object='palinear-cholesky.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -c -o palinear-cholesky.o `test -f 'cholesky.cpp' || echo '$(srcdir)/'`cholesky.cpp
+
+palinear-cholesky.obj: cholesky.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -MT palinear-cholesky.obj -MD -MP -MF $(DEPDIR)/palinear-cholesky.Tpo -c -o palinear-cholesky.obj `if test -f 'cholesky.cpp'; then $(CYGPATH_W) 'cholesky.cpp'; else $(CYGPATH_W) '$(srcdir)/cholesky.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palinear-cholesky.Tpo $(DEPDIR)/palinear-cholesky.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='cholesky.cpp' object='palinear-cholesky.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -c -o palinear-cholesky.obj `if test -f 'cholesky.cpp'; then $(CYGPATH_W) 'cholesky.cpp'; else $(CYGPATH_W) '$(srcdir)/cholesky.cpp'; fi`
+
+palinear-regdata.o: regdata.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -MT palinear-regdata.o -MD -MP -MF $(DEPDIR)/palinear-regdata.Tpo -c -o palinear-regdata.o `test -f 'regdata.cpp' || echo '$(srcdir)/'`regdata.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palinear-regdata.Tpo $(DEPDIR)/palinear-regdata.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='regdata.cpp' object='palinear-regdata.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -c -o palinear-regdata.o `test -f 'regdata.cpp' || echo '$(srcdir)/'`regdata.cpp
+
+palinear-regdata.obj: regdata.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -MT palinear-regdata.obj -MD -MP -MF $(DEPDIR)/palinear-regdata.Tpo -c -o palinear-regdata.obj `if test -f 'regdata.cpp'; then $(CYGPATH_W) 'regdata.cpp'; else $(CYGPATH_W) '$(srcdir)/regdata.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palinear-regdata.Tpo $(DEPDIR)/palinear-regdata.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='regdata.cpp' object='palinear-regdata.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -c -o palinear-regdata.obj `if test -f 'regdata.cpp'; then $(CYGPATH_W) 'regdata.cpp'; else $(CYGPATH_W) '$(srcdir)/regdata.cpp'; fi`
+
+palinear-maskedmatrix.o: maskedmatrix.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -MT palinear-maskedmatrix.o -MD -MP -MF $(DEPDIR)/palinear-maskedmatrix.Tpo -c -o palinear-maskedmatrix.o `test -f 'maskedmatrix.cpp' || echo '$(srcdir)/'`maskedmatrix.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palinear-maskedmatrix.Tpo $(DEPDIR)/palinear-maskedmatrix.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='maskedmatrix.cpp' object='palinear-maskedmatrix.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -c -o palinear-maskedmatrix.o `test -f 'maskedmatrix.cpp' || echo '$(srcdir)/'`maskedmatrix.cpp
+
+palinear-maskedmatrix.obj: maskedmatrix.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -MT palinear-maskedmatrix.obj -MD -MP -MF $(DEPDIR)/palinear-maskedmatrix.Tpo -c -o palinear-maskedmatrix.obj `if test -f 'maskedmatrix.cpp'; then $(CYGPATH_W) 'maskedmatrix.cpp'; else $(CYGPATH_W) '$(srcdir)/maskedmatrix.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palinear-maskedmatrix.Tpo $(DEPDIR)/palinear-maskedmatrix.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='maskedmatrix.cpp' object='palinear-maskedmatrix.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -c -o palinear-maskedmatrix.obj `if test -f 'maskedmatrix.cpp'; then $(CYGPATH_W) 'maskedmatrix.cpp'; else $(CYGPATH_W) '$(srcdir)/maskedmatrix.cpp'; fi`
+
+palinear-reg1.o: reg1.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -MT palinear-reg1.o -MD -MP -MF $(DEPDIR)/palinear-reg1.Tpo -c -o palinear-reg1.o `test -f 'reg1.cpp' || echo '$(srcdir)/'`reg1.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palinear-reg1.Tpo $(DEPDIR)/palinear-reg1.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='reg1.cpp' object='palinear-reg1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -c -o palinear-reg1.o `test -f 'reg1.cpp' || echo '$(srcdir)/'`reg1.cpp
+
+palinear-reg1.obj: reg1.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -MT palinear-reg1.obj -MD -MP -MF $(DEPDIR)/palinear-reg1.Tpo -c -o palinear-reg1.obj `if test -f 'reg1.cpp'; then $(CYGPATH_W) 'reg1.cpp'; else $(CYGPATH_W) '$(srcdir)/reg1.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palinear-reg1.Tpo $(DEPDIR)/palinear-reg1.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='reg1.cpp' object='palinear-reg1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -c -o palinear-reg1.obj `if test -f 'reg1.cpp'; then $(CYGPATH_W) 'reg1.cpp'; else $(CYGPATH_W) '$(srcdir)/reg1.cpp'; fi`
+
+palinear-AbstractMatrix.o: fvlib/AbstractMatrix.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -MT palinear-AbstractMatrix.o -MD -MP -MF $(DEPDIR)/palinear-AbstractMatrix.Tpo -c -o palinear-AbstractMatrix.o `test -f 'fvlib/AbstractMatrix.cpp' || echo '$(srcdir)/'`fvlib/AbstractMatrix.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palinear-AbstractMatrix.Tpo $(DEPDIR)/palinear-AbstractMatrix.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/AbstractMatrix.cpp' object='palinear-AbstractMatrix.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -c -o palinear-AbstractMatrix.o `test -f 'fvlib/AbstractMatrix.cpp' || echo '$(srcdir)/'`fvlib/AbstractMatrix.cpp
+
+palinear-AbstractMatrix.obj: fvlib/AbstractMatrix.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -MT palinear-AbstractMatrix.obj -MD -MP -MF $(DEPDIR)/palinear-AbstractMatrix.Tpo -c -o palinear-AbstractMatrix.obj `if test -f 'fvlib/AbstractMatrix.cpp'; then $(CYGPATH_W) 'fvlib/AbstractMatrix.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/AbstractMatrix.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palinear-AbstractMatrix.Tpo $(DEPDIR)/palinear-AbstractMatrix.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/AbstractMatrix.cpp' object='palinear-AbstractMatrix.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -c -o palinear-AbstractMatrix.obj `if test -f 'fvlib/AbstractMatrix.cpp'; then $(CYGPATH_W) 'fvlib/AbstractMatrix.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/AbstractMatrix.cpp'; fi`
+
+palinear-CastUtils.o: fvlib/CastUtils.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -MT palinear-CastUtils.o -MD -MP -MF $(DEPDIR)/palinear-CastUtils.Tpo -c -o palinear-CastUtils.o `test -f 'fvlib/CastUtils.cpp' || echo '$(srcdir)/'`fvlib/CastUtils.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palinear-CastUtils.Tpo $(DEPDIR)/palinear-CastUtils.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/CastUtils.cpp' object='palinear-CastUtils.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -c -o palinear-CastUtils.o `test -f 'fvlib/CastUtils.cpp' || echo '$(srcdir)/'`fvlib/CastUtils.cpp
+
+palinear-CastUtils.obj: fvlib/CastUtils.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -MT palinear-CastUtils.obj -MD -MP -MF $(DEPDIR)/palinear-CastUtils.Tpo -c -o palinear-CastUtils.obj `if test -f 'fvlib/CastUtils.cpp'; then $(CYGPATH_W) 'fvlib/CastUtils.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/CastUtils.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palinear-CastUtils.Tpo $(DEPDIR)/palinear-CastUtils.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/CastUtils.cpp' object='palinear-CastUtils.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -c -o palinear-CastUtils.obj `if test -f 'fvlib/CastUtils.cpp'; then $(CYGPATH_W) 'fvlib/CastUtils.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/CastUtils.cpp'; fi`
+
+palinear-convert_util.o: fvlib/convert_util.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -MT palinear-convert_util.o -MD -MP -MF $(DEPDIR)/palinear-convert_util.Tpo -c -o palinear-convert_util.o `test -f 'fvlib/convert_util.cpp' || echo '$(srcdir)/'`fvlib/convert_util.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palinear-convert_util.Tpo $(DEPDIR)/palinear-convert_util.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/convert_util.cpp' object='palinear-convert_util.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -c -o palinear-convert_util.o `test -f 'fvlib/convert_util.cpp' || echo '$(srcdir)/'`fvlib/convert_util.cpp
+
+palinear-convert_util.obj: fvlib/convert_util.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -MT palinear-convert_util.obj -MD -MP -MF $(DEPDIR)/palinear-convert_util.Tpo -c -o palinear-convert_util.obj `if test -f 'fvlib/convert_util.cpp'; then $(CYGPATH_W) 'fvlib/convert_util.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/convert_util.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palinear-convert_util.Tpo $(DEPDIR)/palinear-convert_util.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/convert_util.cpp' object='palinear-convert_util.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -c -o palinear-convert_util.obj `if test -f 'fvlib/convert_util.cpp'; then $(CYGPATH_W) 'fvlib/convert_util.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/convert_util.cpp'; fi`
+
+palinear-FileVector.o: fvlib/FileVector.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -MT palinear-FileVector.o -MD -MP -MF $(DEPDIR)/palinear-FileVector.Tpo -c -o palinear-FileVector.o `test -f 'fvlib/FileVector.cpp' || echo '$(srcdir)/'`fvlib/FileVector.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palinear-FileVector.Tpo $(DEPDIR)/palinear-FileVector.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/FileVector.cpp' object='palinear-FileVector.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -c -o palinear-FileVector.o `test -f 'fvlib/FileVector.cpp' || echo '$(srcdir)/'`fvlib/FileVector.cpp
+
+palinear-FileVector.obj: fvlib/FileVector.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -MT palinear-FileVector.obj -MD -MP -MF $(DEPDIR)/palinear-FileVector.Tpo -c -o palinear-FileVector.obj `if test -f 'fvlib/FileVector.cpp'; then $(CYGPATH_W) 'fvlib/FileVector.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/FileVector.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palinear-FileVector.Tpo $(DEPDIR)/palinear-FileVector.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/FileVector.cpp' object='palinear-FileVector.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -c -o palinear-FileVector.obj `if test -f 'fvlib/FileVector.cpp'; then $(CYGPATH_W) 'fvlib/FileVector.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/FileVector.cpp'; fi`
+
+palinear-FilteredMatrix.o: fvlib/FilteredMatrix.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -MT palinear-FilteredMatrix.o -MD -MP -MF $(DEPDIR)/palinear-FilteredMatrix.Tpo -c -o palinear-FilteredMatrix.o `test -f 'fvlib/FilteredMatrix.cpp' || echo '$(srcdir)/'`fvlib/FilteredMatrix.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palinear-FilteredMatrix.Tpo $(DEPDIR)/palinear-FilteredMatrix.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/FilteredMatrix.cpp' object='palinear-FilteredMatrix.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -c -o palinear-FilteredMatrix.o `test -f 'fvlib/FilteredMatrix.cpp' || echo '$(srcdir)/'`fvlib/FilteredMatrix.cpp
+
+palinear-FilteredMatrix.obj: fvlib/FilteredMatrix.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -MT palinear-FilteredMatrix.obj -MD -MP -MF $(DEPDIR)/palinear-FilteredMatrix.Tpo -c -o palinear-FilteredMatrix.obj `if test -f 'fvlib/FilteredMatrix.cpp'; then $(CYGPATH_W) 'fvlib/FilteredMatrix.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/FilteredMatrix.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palinear-FilteredMatrix.Tpo $(DEPDIR)/palinear-FilteredMatrix.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/FilteredMatrix.cpp' object='palinear-FilteredMatrix.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -c -o palinear-FilteredMatrix.obj `if test -f 'fvlib/FilteredMatrix.cpp'; then $(CYGPATH_W) 'fvlib/FilteredMatrix.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/FilteredMatrix.cpp'; fi`
+
+palinear-frutil.o: fvlib/frutil.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -MT palinear-frutil.o -MD -MP -MF $(DEPDIR)/palinear-frutil.Tpo -c -o palinear-frutil.o `test -f 'fvlib/frutil.cpp' || echo '$(srcdir)/'`fvlib/frutil.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palinear-frutil.Tpo $(DEPDIR)/palinear-frutil.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/frutil.cpp' object='palinear-frutil.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -c -o palinear-frutil.o `test -f 'fvlib/frutil.cpp' || echo '$(srcdir)/'`fvlib/frutil.cpp
+
+palinear-frutil.obj: fvlib/frutil.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -MT palinear-frutil.obj -MD -MP -MF $(DEPDIR)/palinear-frutil.Tpo -c -o palinear-frutil.obj `if test -f 'fvlib/frutil.cpp'; then $(CYGPATH_W) 'fvlib/frutil.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/frutil.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palinear-frutil.Tpo $(DEPDIR)/palinear-frutil.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/frutil.cpp' object='palinear-frutil.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -c -o palinear-frutil.obj `if test -f 'fvlib/frutil.cpp'; then $(CYGPATH_W) 'fvlib/frutil.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/frutil.cpp'; fi`
+
+palinear-Logger.o: fvlib/Logger.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -MT palinear-Logger.o -MD -MP -MF $(DEPDIR)/palinear-Logger.Tpo -c -o palinear-Logger.o `test -f 'fvlib/Logger.cpp' || echo '$(srcdir)/'`fvlib/Logger.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palinear-Logger.Tpo $(DEPDIR)/palinear-Logger.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/Logger.cpp' object='palinear-Logger.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -c -o palinear-Logger.o `test -f 'fvlib/Logger.cpp' || echo '$(srcdir)/'`fvlib/Logger.cpp
+
+palinear-Logger.obj: fvlib/Logger.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -MT palinear-Logger.obj -MD -MP -MF $(DEPDIR)/palinear-Logger.Tpo -c -o palinear-Logger.obj `if test -f 'fvlib/Logger.cpp'; then $(CYGPATH_W) 'fvlib/Logger.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/Logger.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palinear-Logger.Tpo $(DEPDIR)/palinear-Logger.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/Logger.cpp' object='palinear-Logger.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -c -o palinear-Logger.obj `if test -f 'fvlib/Logger.cpp'; then $(CYGPATH_W) 'fvlib/Logger.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/Logger.cpp'; fi`
+
+palinear-RealHandlerWrapper.o: fvlib/RealHandlerWrapper.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -MT palinear-RealHandlerWrapper.o -MD -MP -MF $(DEPDIR)/palinear-RealHandlerWrapper.Tpo -c -o palinear-RealHandlerWrapper.o `test -f 'fvlib/RealHandlerWrapper.cpp' || echo '$(srcdir)/'`fvlib/RealHandlerWrapper.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palinear-RealHandlerWrapper.Tpo $(DEPDIR)/palinear-RealHandlerWrapper.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/RealHandlerWrapper.cpp' object='palinear-RealHandlerWrapper.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -c -o palinear-RealHandlerWrapper.o `test -f 'fvlib/RealHandlerWrapper.cpp' || echo '$(srcdir)/'`fvlib/RealHandlerWrapper.cpp
+
+palinear-RealHandlerWrapper.obj: fvlib/RealHandlerWrapper.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -MT palinear-RealHandlerWrapper.obj -MD -MP -MF $(DEPDIR)/palinear-RealHandlerWrapper.Tpo -c -o palinear-RealHandlerWrapper.obj `if test -f 'fvlib/RealHandlerWrapper.cpp'; then $(CYGPATH_W) 'fvlib/RealHandlerWrapper.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/RealHandlerWrapper.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palinear-RealHandlerWrapper.Tpo $(DEPDIR)/palinear-RealHandlerWrapper.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/RealHandlerWrapper.cpp' object='palinear-RealHandlerWrapper.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -c -o palinear-RealHandlerWrapper.obj `if test -f 'fvlib/RealHandlerWrapper.cpp'; then $(CYGPATH_W) 'fvlib/RealHandlerWrapper.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/RealHandlerWrapper.cpp'; fi`
+
+palinear-ReusableFileHandle.o: fvlib/ReusableFileHandle.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -MT palinear-ReusableFileHandle.o -MD -MP -MF $(DEPDIR)/palinear-ReusableFileHandle.Tpo -c -o palinear-ReusableFileHandle.o `test -f 'fvlib/ReusableFileHandle.cpp' || echo '$(srcdir)/'`fvlib/ReusableFileHandle.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palinear-ReusableFileHandle.Tpo $(DEPDIR)/palinear-ReusableFileHandle.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/ReusableFileHandle.cpp' object='palinear-ReusableFileHandle.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -c -o palinear-ReusableFileHandle.o `test -f 'fvlib/ReusableFileHandle.cpp' || echo '$(srcdir)/'`fvlib/ReusableFileHandle.cpp
+
+palinear-ReusableFileHandle.obj: fvlib/ReusableFileHandle.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -MT palinear-ReusableFileHandle.obj -MD -MP -MF $(DEPDIR)/palinear-ReusableFileHandle.Tpo -c -o palinear-ReusableFileHandle.obj `if test -f 'fvlib/ReusableFileHandle.cpp'; then $(CYGPATH_W) 'fvlib/ReusableFileHandle.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/ReusableFileHandle.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palinear-ReusableFileHandle.Tpo $(DEPDIR)/palinear-ReusableFileHandle.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/ReusableFileHandle.cpp' object='palinear-ReusableFileHandle.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -c -o palinear-ReusableFileHandle.obj `if test -f 'fvlib/ReusableFileHandle.cpp'; then $(CYGPATH_W) 'fvlib/ReusableFileHandle.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/ReusableFileHandle.cpp'; fi`
+
+palinear-Transposer.o: fvlib/Transposer.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -MT palinear-Transposer.o -MD -MP -MF $(DEPDIR)/palinear-Transposer.Tpo -c -o palinear-Transposer.o `test -f 'fvlib/Transposer.cpp' || echo '$(srcdir)/'`fvlib/Transposer.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palinear-Transposer.Tpo $(DEPDIR)/palinear-Transposer.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/Transposer.cpp' object='palinear-Transposer.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -c -o palinear-Transposer.o `test -f 'fvlib/Transposer.cpp' || echo '$(srcdir)/'`fvlib/Transposer.cpp
+
+palinear-Transposer.obj: fvlib/Transposer.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -MT palinear-Transposer.obj -MD -MP -MF $(DEPDIR)/palinear-Transposer.Tpo -c -o palinear-Transposer.obj `if test -f 'fvlib/Transposer.cpp'; then $(CYGPATH_W) 'fvlib/Transposer.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/Transposer.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palinear-Transposer.Tpo $(DEPDIR)/palinear-Transposer.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/Transposer.cpp' object='palinear-Transposer.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -c -o palinear-Transposer.obj `if test -f 'fvlib/Transposer.cpp'; then $(CYGPATH_W) 'fvlib/Transposer.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/Transposer.cpp'; fi`
+
+palinear-eigen_mematrix.o: eigen_mematrix.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -MT palinear-eigen_mematrix.o -MD -MP -MF $(DEPDIR)/palinear-eigen_mematrix.Tpo -c -o palinear-eigen_mematrix.o `test -f 'eigen_mematrix.cpp' || echo '$(srcdir)/'`eigen_mematrix.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palinear-eigen_mematrix.Tpo $(DEPDIR)/palinear-eigen_mematrix.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='eigen_mematrix.cpp' object='palinear-eigen_mematrix.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -c -o palinear-eigen_mematrix.o `test -f 'eigen_mematrix.cpp' || echo '$(srcdir)/'`eigen_mematrix.cpp
+
+palinear-eigen_mematrix.obj: eigen_mematrix.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -MT palinear-eigen_mematrix.obj -MD -MP -MF $(DEPDIR)/palinear-eigen_mematrix.Tpo -c -o palinear-eigen_mematrix.obj `if test -f 'eigen_mematrix.cpp'; then $(CYGPATH_W) 'eigen_mematrix.cpp'; else $(CYGPATH_W) '$(srcdir)/eigen_mematrix.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palinear-eigen_mematrix.Tpo $(DEPDIR)/palinear-eigen_mematrix.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='eigen_mematrix.cpp' object='palinear-eigen_mematrix.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palinear_CPPFLAGS) $(CPPFLAGS) $(palinear_CXXFLAGS) $(CXXFLAGS) -c -o palinear-eigen_mematrix.obj `if test -f 'eigen_mematrix.cpp'; then $(CYGPATH_W) 'eigen_mematrix.cpp'; else $(CYGPATH_W) '$(srcdir)/eigen_mematrix.cpp'; fi`
+
+palogist-data.o: data.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -MT palogist-data.o -MD -MP -MF $(DEPDIR)/palogist-data.Tpo -c -o palogist-data.o `test -f 'data.cpp' || echo '$(srcdir)/'`data.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palogist-data.Tpo $(DEPDIR)/palogist-data.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='data.cpp' object='palogist-data.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -c -o palogist-data.o `test -f 'data.cpp' || echo '$(srcdir)/'`data.cpp
+
+palogist-data.obj: data.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -MT palogist-data.obj -MD -MP -MF $(DEPDIR)/palogist-data.Tpo -c -o palogist-data.obj `if test -f 'data.cpp'; then $(CYGPATH_W) 'data.cpp'; else $(CYGPATH_W) '$(srcdir)/data.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palogist-data.Tpo $(DEPDIR)/palogist-data.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='data.cpp' object='palogist-data.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -c -o palogist-data.obj `if test -f 'data.cpp'; then $(CYGPATH_W) 'data.cpp'; else $(CYGPATH_W) '$(srcdir)/data.cpp'; fi`
+
+palogist-gendata.o: gendata.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -MT palogist-gendata.o -MD -MP -MF $(DEPDIR)/palogist-gendata.Tpo -c -o palogist-gendata.o `test -f 'gendata.cpp' || echo '$(srcdir)/'`gendata.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palogist-gendata.Tpo $(DEPDIR)/palogist-gendata.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='gendata.cpp' object='palogist-gendata.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -c -o palogist-gendata.o `test -f 'gendata.cpp' || echo '$(srcdir)/'`gendata.cpp
+
+palogist-gendata.obj: gendata.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -MT palogist-gendata.obj -MD -MP -MF $(DEPDIR)/palogist-gendata.Tpo -c -o palogist-gendata.obj `if test -f 'gendata.cpp'; then $(CYGPATH_W) 'gendata.cpp'; else $(CYGPATH_W) '$(srcdir)/gendata.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palogist-gendata.Tpo $(DEPDIR)/palogist-gendata.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='gendata.cpp' object='palogist-gendata.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -c -o palogist-gendata.obj `if test -f 'gendata.cpp'; then $(CYGPATH_W) 'gendata.cpp'; else $(CYGPATH_W) '$(srcdir)/gendata.cpp'; fi`
+
+palogist-command_line_settings.o: command_line_settings.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -MT palogist-command_line_settings.o -MD -MP -MF $(DEPDIR)/palogist-command_line_settings.Tpo -c -o palogist-command_line_settings.o `test -f 'command_line_settings.cpp' || echo '$(srcdir)/'`command_line_settings.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palogist-command_line_settings.Tpo $(DEPDIR)/palogist-command_line_settings.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='command_line_settings.cpp' object='palogist-command_line_settings.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -c -o palogist-command_line_settings.o `test -f 'command_line_settings.cpp' || echo '$(srcdir)/'`command_line_settings.cpp
+
+palogist-command_line_settings.obj: command_line_settings.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -MT palogist-command_line_settings.obj -MD -MP -MF $(DEPDIR)/palogist-command_line_settings.Tpo -c -o palogist-command_line_settings.obj `if test -f 'command_line_settings.cpp'; then $(CYGPATH_W) 'command_line_settings.cpp'; else $(CYGPATH_W) '$(srcdir)/command_line_settings.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palogist-command_line_settings.Tpo $(DEPDIR)/palogist-command_line_settings.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='command_line_settings.cpp' object='palogist-command_line_settings.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -c -o palogist-command_line_settings.obj `if test -f 'command_line_settings.cpp'; then $(CYGPATH_W) 'command_line_settings.cpp'; else $(CYGPATH_W) '$(srcdir)/command_line_settings.cpp'; fi`
+
+palogist-usage.o: usage.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -MT palogist-usage.o -MD -MP -MF $(DEPDIR)/palogist-usage.Tpo -c -o palogist-usage.o `test -f 'usage.cpp' || echo '$(srcdir)/'`usage.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palogist-usage.Tpo $(DEPDIR)/palogist-usage.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='usage.cpp' object='palogist-usage.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -c -o palogist-usage.o `test -f 'usage.cpp' || echo '$(srcdir)/'`usage.cpp
+
+palogist-usage.obj: usage.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -MT palogist-usage.obj -MD -MP -MF $(DEPDIR)/palogist-usage.Tpo -c -o palogist-usage.obj `if test -f 'usage.cpp'; then $(CYGPATH_W) 'usage.cpp'; else $(CYGPATH_W) '$(srcdir)/usage.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palogist-usage.Tpo $(DEPDIR)/palogist-usage.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='usage.cpp' object='palogist-usage.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -c -o palogist-usage.obj `if test -f 'usage.cpp'; then $(CYGPATH_W) 'usage.cpp'; else $(CYGPATH_W) '$(srcdir)/usage.cpp'; fi`
+
+palogist-main.o: main.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -MT palogist-main.o -MD -MP -MF $(DEPDIR)/palogist-main.Tpo -c -o palogist-main.o `test -f 'main.cpp' || echo '$(srcdir)/'`main.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palogist-main.Tpo $(DEPDIR)/palogist-main.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='main.cpp' object='palogist-main.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -c -o palogist-main.o `test -f 'main.cpp' || echo '$(srcdir)/'`main.cpp
+
+palogist-main.obj: main.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -MT palogist-main.obj -MD -MP -MF $(DEPDIR)/palogist-main.Tpo -c -o palogist-main.obj `if test -f 'main.cpp'; then $(CYGPATH_W) 'main.cpp'; else $(CYGPATH_W) '$(srcdir)/main.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palogist-main.Tpo $(DEPDIR)/palogist-main.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='main.cpp' object='palogist-main.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -c -o palogist-main.obj `if test -f 'main.cpp'; then $(CYGPATH_W) 'main.cpp'; else $(CYGPATH_W) '$(srcdir)/main.cpp'; fi`
+
+palogist-utilities.o: utilities.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -MT palogist-utilities.o -MD -MP -MF $(DEPDIR)/palogist-utilities.Tpo -c -o palogist-utilities.o `test -f 'utilities.cpp' || echo '$(srcdir)/'`utilities.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palogist-utilities.Tpo $(DEPDIR)/palogist-utilities.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='utilities.cpp' object='palogist-utilities.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -c -o palogist-utilities.o `test -f 'utilities.cpp' || echo '$(srcdir)/'`utilities.cpp
+
+palogist-utilities.obj: utilities.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -MT palogist-utilities.obj -MD -MP -MF $(DEPDIR)/palogist-utilities.Tpo -c -o palogist-utilities.obj `if test -f 'utilities.cpp'; then $(CYGPATH_W) 'utilities.cpp'; else $(CYGPATH_W) '$(srcdir)/utilities.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palogist-utilities.Tpo $(DEPDIR)/palogist-utilities.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='utilities.cpp' object='palogist-utilities.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -c -o palogist-utilities.obj `if test -f 'utilities.cpp'; then $(CYGPATH_W) 'utilities.cpp'; else $(CYGPATH_W) '$(srcdir)/utilities.cpp'; fi`
+
+palogist-phedata.o: phedata.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -MT palogist-phedata.o -MD -MP -MF $(DEPDIR)/palogist-phedata.Tpo -c -o palogist-phedata.o `test -f 'phedata.cpp' || echo '$(srcdir)/'`phedata.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palogist-phedata.Tpo $(DEPDIR)/palogist-phedata.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='phedata.cpp' object='palogist-phedata.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -c -o palogist-phedata.o `test -f 'phedata.cpp' || echo '$(srcdir)/'`phedata.cpp
+
+palogist-phedata.obj: phedata.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -MT palogist-phedata.obj -MD -MP -MF $(DEPDIR)/palogist-phedata.Tpo -c -o palogist-phedata.obj `if test -f 'phedata.cpp'; then $(CYGPATH_W) 'phedata.cpp'; else $(CYGPATH_W) '$(srcdir)/phedata.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palogist-phedata.Tpo $(DEPDIR)/palogist-phedata.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='phedata.cpp' object='palogist-phedata.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -c -o palogist-phedata.obj `if test -f 'phedata.cpp'; then $(CYGPATH_W) 'phedata.cpp'; else $(CYGPATH_W) '$(srcdir)/phedata.cpp'; fi`
+
+palogist-cholesky.o: cholesky.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -MT palogist-cholesky.o -MD -MP -MF $(DEPDIR)/palogist-cholesky.Tpo -c -o palogist-cholesky.o `test -f 'cholesky.cpp' || echo '$(srcdir)/'`cholesky.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palogist-cholesky.Tpo $(DEPDIR)/palogist-cholesky.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='cholesky.cpp' object='palogist-cholesky.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -c -o palogist-cholesky.o `test -f 'cholesky.cpp' || echo '$(srcdir)/'`cholesky.cpp
+
+palogist-cholesky.obj: cholesky.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -MT palogist-cholesky.obj -MD -MP -MF $(DEPDIR)/palogist-cholesky.Tpo -c -o palogist-cholesky.obj `if test -f 'cholesky.cpp'; then $(CYGPATH_W) 'cholesky.cpp'; else $(CYGPATH_W) '$(srcdir)/cholesky.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palogist-cholesky.Tpo $(DEPDIR)/palogist-cholesky.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='cholesky.cpp' object='palogist-cholesky.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -c -o palogist-cholesky.obj `if test -f 'cholesky.cpp'; then $(CYGPATH_W) 'cholesky.cpp'; else $(CYGPATH_W) '$(srcdir)/cholesky.cpp'; fi`
+
+palogist-regdata.o: regdata.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -MT palogist-regdata.o -MD -MP -MF $(DEPDIR)/palogist-regdata.Tpo -c -o palogist-regdata.o `test -f 'regdata.cpp' || echo '$(srcdir)/'`regdata.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palogist-regdata.Tpo $(DEPDIR)/palogist-regdata.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='regdata.cpp' object='palogist-regdata.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -c -o palogist-regdata.o `test -f 'regdata.cpp' || echo '$(srcdir)/'`regdata.cpp
+
+palogist-regdata.obj: regdata.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -MT palogist-regdata.obj -MD -MP -MF $(DEPDIR)/palogist-regdata.Tpo -c -o palogist-regdata.obj `if test -f 'regdata.cpp'; then $(CYGPATH_W) 'regdata.cpp'; else $(CYGPATH_W) '$(srcdir)/regdata.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palogist-regdata.Tpo $(DEPDIR)/palogist-regdata.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='regdata.cpp' object='palogist-regdata.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -c -o palogist-regdata.obj `if test -f 'regdata.cpp'; then $(CYGPATH_W) 'regdata.cpp'; else $(CYGPATH_W) '$(srcdir)/regdata.cpp'; fi`
+
+palogist-maskedmatrix.o: maskedmatrix.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -MT palogist-maskedmatrix.o -MD -MP -MF $(DEPDIR)/palogist-maskedmatrix.Tpo -c -o palogist-maskedmatrix.o `test -f 'maskedmatrix.cpp' || echo '$(srcdir)/'`maskedmatrix.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palogist-maskedmatrix.Tpo $(DEPDIR)/palogist-maskedmatrix.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='maskedmatrix.cpp' object='palogist-maskedmatrix.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -c -o palogist-maskedmatrix.o `test -f 'maskedmatrix.cpp' || echo '$(srcdir)/'`maskedmatrix.cpp
+
+palogist-maskedmatrix.obj: maskedmatrix.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -MT palogist-maskedmatrix.obj -MD -MP -MF $(DEPDIR)/palogist-maskedmatrix.Tpo -c -o palogist-maskedmatrix.obj `if test -f 'maskedmatrix.cpp'; then $(CYGPATH_W) 'maskedmatrix.cpp'; else $(CYGPATH_W) '$(srcdir)/maskedmatrix.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palogist-maskedmatrix.Tpo $(DEPDIR)/palogist-maskedmatrix.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='maskedmatrix.cpp' object='palogist-maskedmatrix.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -c -o palogist-maskedmatrix.obj `if test -f 'maskedmatrix.cpp'; then $(CYGPATH_W) 'maskedmatrix.cpp'; else $(CYGPATH_W) '$(srcdir)/maskedmatrix.cpp'; fi`
+
+palogist-reg1.o: reg1.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -MT palogist-reg1.o -MD -MP -MF $(DEPDIR)/palogist-reg1.Tpo -c -o palogist-reg1.o `test -f 'reg1.cpp' || echo '$(srcdir)/'`reg1.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palogist-reg1.Tpo $(DEPDIR)/palogist-reg1.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='reg1.cpp' object='palogist-reg1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -c -o palogist-reg1.o `test -f 'reg1.cpp' || echo '$(srcdir)/'`reg1.cpp
+
+palogist-reg1.obj: reg1.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -MT palogist-reg1.obj -MD -MP -MF $(DEPDIR)/palogist-reg1.Tpo -c -o palogist-reg1.obj `if test -f 'reg1.cpp'; then $(CYGPATH_W) 'reg1.cpp'; else $(CYGPATH_W) '$(srcdir)/reg1.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palogist-reg1.Tpo $(DEPDIR)/palogist-reg1.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='reg1.cpp' object='palogist-reg1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -c -o palogist-reg1.obj `if test -f 'reg1.cpp'; then $(CYGPATH_W) 'reg1.cpp'; else $(CYGPATH_W) '$(srcdir)/reg1.cpp'; fi`
+
+palogist-AbstractMatrix.o: fvlib/AbstractMatrix.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -MT palogist-AbstractMatrix.o -MD -MP -MF $(DEPDIR)/palogist-AbstractMatrix.Tpo -c -o palogist-AbstractMatrix.o `test -f 'fvlib/AbstractMatrix.cpp' || echo '$(srcdir)/'`fvlib/AbstractMatrix.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palogist-AbstractMatrix.Tpo $(DEPDIR)/palogist-AbstractMatrix.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/AbstractMatrix.cpp' object='palogist-AbstractMatrix.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -c -o palogist-AbstractMatrix.o `test -f 'fvlib/AbstractMatrix.cpp' || echo '$(srcdir)/'`fvlib/AbstractMatrix.cpp
+
+palogist-AbstractMatrix.obj: fvlib/AbstractMatrix.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -MT palogist-AbstractMatrix.obj -MD -MP -MF $(DEPDIR)/palogist-AbstractMatrix.Tpo -c -o palogist-AbstractMatrix.obj `if test -f 'fvlib/AbstractMatrix.cpp'; then $(CYGPATH_W) 'fvlib/AbstractMatrix.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/AbstractMatrix.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palogist-AbstractMatrix.Tpo $(DEPDIR)/palogist-AbstractMatrix.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/AbstractMatrix.cpp' object='palogist-AbstractMatrix.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -c -o palogist-AbstractMatrix.obj `if test -f 'fvlib/AbstractMatrix.cpp'; then $(CYGPATH_W) 'fvlib/AbstractMatrix.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/AbstractMatrix.cpp'; fi`
+
+palogist-CastUtils.o: fvlib/CastUtils.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -MT palogist-CastUtils.o -MD -MP -MF $(DEPDIR)/palogist-CastUtils.Tpo -c -o palogist-CastUtils.o `test -f 'fvlib/CastUtils.cpp' || echo '$(srcdir)/'`fvlib/CastUtils.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palogist-CastUtils.Tpo $(DEPDIR)/palogist-CastUtils.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/CastUtils.cpp' object='palogist-CastUtils.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -c -o palogist-CastUtils.o `test -f 'fvlib/CastUtils.cpp' || echo '$(srcdir)/'`fvlib/CastUtils.cpp
+
+palogist-CastUtils.obj: fvlib/CastUtils.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -MT palogist-CastUtils.obj -MD -MP -MF $(DEPDIR)/palogist-CastUtils.Tpo -c -o palogist-CastUtils.obj `if test -f 'fvlib/CastUtils.cpp'; then $(CYGPATH_W) 'fvlib/CastUtils.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/CastUtils.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palogist-CastUtils.Tpo $(DEPDIR)/palogist-CastUtils.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/CastUtils.cpp' object='palogist-CastUtils.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -c -o palogist-CastUtils.obj `if test -f 'fvlib/CastUtils.cpp'; then $(CYGPATH_W) 'fvlib/CastUtils.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/CastUtils.cpp'; fi`
+
+palogist-convert_util.o: fvlib/convert_util.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -MT palogist-convert_util.o -MD -MP -MF $(DEPDIR)/palogist-convert_util.Tpo -c -o palogist-convert_util.o `test -f 'fvlib/convert_util.cpp' || echo '$(srcdir)/'`fvlib/convert_util.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palogist-convert_util.Tpo $(DEPDIR)/palogist-convert_util.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/convert_util.cpp' object='palogist-convert_util.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -c -o palogist-convert_util.o `test -f 'fvlib/convert_util.cpp' || echo '$(srcdir)/'`fvlib/convert_util.cpp
+
+palogist-convert_util.obj: fvlib/convert_util.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -MT palogist-convert_util.obj -MD -MP -MF $(DEPDIR)/palogist-convert_util.Tpo -c -o palogist-convert_util.obj `if test -f 'fvlib/convert_util.cpp'; then $(CYGPATH_W) 'fvlib/convert_util.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/convert_util.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palogist-convert_util.Tpo $(DEPDIR)/palogist-convert_util.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/convert_util.cpp' object='palogist-convert_util.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -c -o palogist-convert_util.obj `if test -f 'fvlib/convert_util.cpp'; then $(CYGPATH_W) 'fvlib/convert_util.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/convert_util.cpp'; fi`
+
+palogist-FileVector.o: fvlib/FileVector.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -MT palogist-FileVector.o -MD -MP -MF $(DEPDIR)/palogist-FileVector.Tpo -c -o palogist-FileVector.o `test -f 'fvlib/FileVector.cpp' || echo '$(srcdir)/'`fvlib/FileVector.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palogist-FileVector.Tpo $(DEPDIR)/palogist-FileVector.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/FileVector.cpp' object='palogist-FileVector.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -c -o palogist-FileVector.o `test -f 'fvlib/FileVector.cpp' || echo '$(srcdir)/'`fvlib/FileVector.cpp
+
+palogist-FileVector.obj: fvlib/FileVector.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -MT palogist-FileVector.obj -MD -MP -MF $(DEPDIR)/palogist-FileVector.Tpo -c -o palogist-FileVector.obj `if test -f 'fvlib/FileVector.cpp'; then $(CYGPATH_W) 'fvlib/FileVector.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/FileVector.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palogist-FileVector.Tpo $(DEPDIR)/palogist-FileVector.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/FileVector.cpp' object='palogist-FileVector.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -c -o palogist-FileVector.obj `if test -f 'fvlib/FileVector.cpp'; then $(CYGPATH_W) 'fvlib/FileVector.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/FileVector.cpp'; fi`
+
+palogist-FilteredMatrix.o: fvlib/FilteredMatrix.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -MT palogist-FilteredMatrix.o -MD -MP -MF $(DEPDIR)/palogist-FilteredMatrix.Tpo -c -o palogist-FilteredMatrix.o `test -f 'fvlib/FilteredMatrix.cpp' || echo '$(srcdir)/'`fvlib/FilteredMatrix.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palogist-FilteredMatrix.Tpo $(DEPDIR)/palogist-FilteredMatrix.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/FilteredMatrix.cpp' object='palogist-FilteredMatrix.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -c -o palogist-FilteredMatrix.o `test -f 'fvlib/FilteredMatrix.cpp' || echo '$(srcdir)/'`fvlib/FilteredMatrix.cpp
+
+palogist-FilteredMatrix.obj: fvlib/FilteredMatrix.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -MT palogist-FilteredMatrix.obj -MD -MP -MF $(DEPDIR)/palogist-FilteredMatrix.Tpo -c -o palogist-FilteredMatrix.obj `if test -f 'fvlib/FilteredMatrix.cpp'; then $(CYGPATH_W) 'fvlib/FilteredMatrix.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/FilteredMatrix.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palogist-FilteredMatrix.Tpo $(DEPDIR)/palogist-FilteredMatrix.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/FilteredMatrix.cpp' object='palogist-FilteredMatrix.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -c -o palogist-FilteredMatrix.obj `if test -f 'fvlib/FilteredMatrix.cpp'; then $(CYGPATH_W) 'fvlib/FilteredMatrix.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/FilteredMatrix.cpp'; fi`
+
+palogist-frutil.o: fvlib/frutil.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -MT palogist-frutil.o -MD -MP -MF $(DEPDIR)/palogist-frutil.Tpo -c -o palogist-frutil.o `test -f 'fvlib/frutil.cpp' || echo '$(srcdir)/'`fvlib/frutil.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palogist-frutil.Tpo $(DEPDIR)/palogist-frutil.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/frutil.cpp' object='palogist-frutil.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -c -o palogist-frutil.o `test -f 'fvlib/frutil.cpp' || echo '$(srcdir)/'`fvlib/frutil.cpp
+
+palogist-frutil.obj: fvlib/frutil.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -MT palogist-frutil.obj -MD -MP -MF $(DEPDIR)/palogist-frutil.Tpo -c -o palogist-frutil.obj `if test -f 'fvlib/frutil.cpp'; then $(CYGPATH_W) 'fvlib/frutil.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/frutil.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palogist-frutil.Tpo $(DEPDIR)/palogist-frutil.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/frutil.cpp' object='palogist-frutil.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -c -o palogist-frutil.obj `if test -f 'fvlib/frutil.cpp'; then $(CYGPATH_W) 'fvlib/frutil.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/frutil.cpp'; fi`
+
+palogist-Logger.o: fvlib/Logger.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -MT palogist-Logger.o -MD -MP -MF $(DEPDIR)/palogist-Logger.Tpo -c -o palogist-Logger.o `test -f 'fvlib/Logger.cpp' || echo '$(srcdir)/'`fvlib/Logger.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palogist-Logger.Tpo $(DEPDIR)/palogist-Logger.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/Logger.cpp' object='palogist-Logger.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -c -o palogist-Logger.o `test -f 'fvlib/Logger.cpp' || echo '$(srcdir)/'`fvlib/Logger.cpp
+
+palogist-Logger.obj: fvlib/Logger.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -MT palogist-Logger.obj -MD -MP -MF $(DEPDIR)/palogist-Logger.Tpo -c -o palogist-Logger.obj `if test -f 'fvlib/Logger.cpp'; then $(CYGPATH_W) 'fvlib/Logger.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/Logger.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palogist-Logger.Tpo $(DEPDIR)/palogist-Logger.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/Logger.cpp' object='palogist-Logger.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -c -o palogist-Logger.obj `if test -f 'fvlib/Logger.cpp'; then $(CYGPATH_W) 'fvlib/Logger.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/Logger.cpp'; fi`
+
+palogist-RealHandlerWrapper.o: fvlib/RealHandlerWrapper.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -MT palogist-RealHandlerWrapper.o -MD -MP -MF $(DEPDIR)/palogist-RealHandlerWrapper.Tpo -c -o palogist-RealHandlerWrapper.o `test -f 'fvlib/RealHandlerWrapper.cpp' || echo '$(srcdir)/'`fvlib/RealHandlerWrapper.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palogist-RealHandlerWrapper.Tpo $(DEPDIR)/palogist-RealHandlerWrapper.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/RealHandlerWrapper.cpp' object='palogist-RealHandlerWrapper.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -c -o palogist-RealHandlerWrapper.o `test -f 'fvlib/RealHandlerWrapper.cpp' || echo '$(srcdir)/'`fvlib/RealHandlerWrapper.cpp
+
+palogist-RealHandlerWrapper.obj: fvlib/RealHandlerWrapper.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -MT palogist-RealHandlerWrapper.obj -MD -MP -MF $(DEPDIR)/palogist-RealHandlerWrapper.Tpo -c -o palogist-RealHandlerWrapper.obj `if test -f 'fvlib/RealHandlerWrapper.cpp'; then $(CYGPATH_W) 'fvlib/RealHandlerWrapper.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/RealHandlerWrapper.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palogist-RealHandlerWrapper.Tpo $(DEPDIR)/palogist-RealHandlerWrapper.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/RealHandlerWrapper.cpp' object='palogist-RealHandlerWrapper.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -c -o palogist-RealHandlerWrapper.obj `if test -f 'fvlib/RealHandlerWrapper.cpp'; then $(CYGPATH_W) 'fvlib/RealHandlerWrapper.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/RealHandlerWrapper.cpp'; fi`
+
+palogist-ReusableFileHandle.o: fvlib/ReusableFileHandle.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -MT palogist-ReusableFileHandle.o -MD -MP -MF $(DEPDIR)/palogist-ReusableFileHandle.Tpo -c -o palogist-ReusableFileHandle.o `test -f 'fvlib/ReusableFileHandle.cpp' || echo '$(srcdir)/'`fvlib/ReusableFileHandle.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palogist-ReusableFileHandle.Tpo $(DEPDIR)/palogist-ReusableFileHandle.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/ReusableFileHandle.cpp' object='palogist-ReusableFileHandle.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -c -o palogist-ReusableFileHandle.o `test -f 'fvlib/ReusableFileHandle.cpp' || echo '$(srcdir)/'`fvlib/ReusableFileHandle.cpp
+
+palogist-ReusableFileHandle.obj: fvlib/ReusableFileHandle.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -MT palogist-ReusableFileHandle.obj -MD -MP -MF $(DEPDIR)/palogist-ReusableFileHandle.Tpo -c -o palogist-ReusableFileHandle.obj `if test -f 'fvlib/ReusableFileHandle.cpp'; then $(CYGPATH_W) 'fvlib/ReusableFileHandle.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/ReusableFileHandle.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palogist-ReusableFileHandle.Tpo $(DEPDIR)/palogist-ReusableFileHandle.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/ReusableFileHandle.cpp' object='palogist-ReusableFileHandle.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -c -o palogist-ReusableFileHandle.obj `if test -f 'fvlib/ReusableFileHandle.cpp'; then $(CYGPATH_W) 'fvlib/ReusableFileHandle.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/ReusableFileHandle.cpp'; fi`
+
+palogist-Transposer.o: fvlib/Transposer.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -MT palogist-Transposer.o -MD -MP -MF $(DEPDIR)/palogist-Transposer.Tpo -c -o palogist-Transposer.o `test -f 'fvlib/Transposer.cpp' || echo '$(srcdir)/'`fvlib/Transposer.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palogist-Transposer.Tpo $(DEPDIR)/palogist-Transposer.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/Transposer.cpp' object='palogist-Transposer.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -c -o palogist-Transposer.o `test -f 'fvlib/Transposer.cpp' || echo '$(srcdir)/'`fvlib/Transposer.cpp
+
+palogist-Transposer.obj: fvlib/Transposer.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -MT palogist-Transposer.obj -MD -MP -MF $(DEPDIR)/palogist-Transposer.Tpo -c -o palogist-Transposer.obj `if test -f 'fvlib/Transposer.cpp'; then $(CYGPATH_W) 'fvlib/Transposer.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/Transposer.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palogist-Transposer.Tpo $(DEPDIR)/palogist-Transposer.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fvlib/Transposer.cpp' object='palogist-Transposer.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -c -o palogist-Transposer.obj `if test -f 'fvlib/Transposer.cpp'; then $(CYGPATH_W) 'fvlib/Transposer.cpp'; else $(CYGPATH_W) '$(srcdir)/fvlib/Transposer.cpp'; fi`
+
+palogist-eigen_mematrix.o: eigen_mematrix.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -MT palogist-eigen_mematrix.o -MD -MP -MF $(DEPDIR)/palogist-eigen_mematrix.Tpo -c -o palogist-eigen_mematrix.o `test -f 'eigen_mematrix.cpp' || echo '$(srcdir)/'`eigen_mematrix.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palogist-eigen_mematrix.Tpo $(DEPDIR)/palogist-eigen_mematrix.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='eigen_mematrix.cpp' object='palogist-eigen_mematrix.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -c -o palogist-eigen_mematrix.o `test -f 'eigen_mematrix.cpp' || echo '$(srcdir)/'`eigen_mematrix.cpp
+
+palogist-eigen_mematrix.obj: eigen_mematrix.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -MT palogist-eigen_mematrix.obj -MD -MP -MF $(DEPDIR)/palogist-eigen_mematrix.Tpo -c -o palogist-eigen_mematrix.obj `if test -f 'eigen_mematrix.cpp'; then $(CYGPATH_W) 'eigen_mematrix.cpp'; else $(CYGPATH_W) '$(srcdir)/eigen_mematrix.cpp'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/palogist-eigen_mematrix.Tpo $(DEPDIR)/palogist-eigen_mematrix.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='eigen_mematrix.cpp' object='palogist-eigen_mematrix.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(palogist_CPPFLAGS) $(CPPFLAGS) $(palogist_CXXFLAGS) $(CXXFLAGS) -c -o palogist-eigen_mematrix.obj `if test -f 'eigen_mematrix.cpp'; then $(CYGPATH_W) 'eigen_mematrix.cpp'; else $(CYGPATH_W) '$(srcdir)/eigen_mematrix.cpp'; fi`
+install-dist_scriptDATA: $(dist_script_DATA)
+ @$(NORMAL_INSTALL)
+ @list='$(dist_script_DATA)'; test -n "$(scriptdir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(scriptdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(scriptdir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(scriptdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(scriptdir)" || exit $$?; \
+ done
+
+uninstall-dist_scriptDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(dist_script_DATA)'; test -n "$(scriptdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(scriptdir)'; $(am__uninstall_files_from_dir)
+install-dist_sysconfDATA: $(dist_sysconf_DATA)
+ @$(NORMAL_INSTALL)
+ @list='$(dist_sysconf_DATA)'; test -n "$(sysconfdir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(sysconfdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(sysconfdir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(sysconfdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(sysconfdir)" || exit $$?; \
+ done
+
+uninstall-dist_sysconfDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(dist_sysconf_DATA)'; test -n "$(sysconfdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(sysconfdir)'; $(am__uninstall_files_from_dir)
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ set x; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(PROGRAMS) $(SCRIPTS) $(DATA) config.h
+installdirs:
+ for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(scriptdir)" "$(DESTDIR)$(sysconfdir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-binPROGRAMS clean-generic mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-hdr distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-dist_scriptDATA
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am: install-binPROGRAMS install-dist_binSCRIPTS \
+ install-dist_sysconfDATA
+ @$(NORMAL_INSTALL)
+ $(MAKE) $(AM_MAKEFLAGS) install-exec-hook
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-binPROGRAMS uninstall-dist_binSCRIPTS \
+ uninstall-dist_scriptDATA uninstall-dist_sysconfDATA
+
+.MAKE: all install-am install-exec-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
+ clean-generic ctags distclean distclean-compile \
+ distclean-generic distclean-hdr distclean-tags distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-binPROGRAMS install-data install-data-am \
+ install-dist_binSCRIPTS install-dist_scriptDATA \
+ install-dist_sysconfDATA install-dvi install-dvi-am \
+ install-exec install-exec-am install-exec-hook install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \
+ tags uninstall uninstall-am uninstall-binPROGRAMS \
+ uninstall-dist_binSCRIPTS uninstall-dist_scriptDATA \
+ uninstall-dist_sysconfDATA
+
+
+install-exec-hook:
+ $(SED) -i "s;probabel_config.cfg;@sysconfdir@/probabel_config.cfg;" \
+ $(DESTDIR)$(bindir)/probabel.pl
+ $(SED) -i "s;\./;@bindir@/;" $(DESTDIR)$(bindir)/probabel.pl
+ $(SED) -i "s;PROBABEL_VERSION;@VERSION@;" $(DESTDIR)$(bindir)/probabel.pl
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/src/chinv2.c b/src/chinv2.c
new file mode 100644
index 0000000..ef211b3
--- /dev/null
+++ b/src/chinv2.c
@@ -0,0 +1,64 @@
+/* SCCS @(#)chinv2.c 5.3 07/15/99
+ ** matrix inversion, given the FDF' cholesky decomposition
+ **
+ ** input **matrix, which contains the chol decomp of an n by n
+ ** matrix in its lower triangle.
+ **
+ ** returned: the upper triangle + diagonal contain (FDF')^{-1}
+ ** below the diagonal will be F inverse
+ **
+ ** Terry Therneau
+ */
+#include "survS.h"
+#include "survproto.h"
+
+void chinv2(double **matrix, int n)
+{
+ register double temp;
+ register int i, j, k;
+
+ /*
+ ** invert the cholesky in the lower triangle
+ ** take full advantage of the cholesky's diagonal of 1's
+ */
+ for (i = 0; i < n; i++)
+ {
+ if (matrix[i][i] > 0)
+ {
+ matrix[i][i] = 1 / matrix[i][i]; /*this line inverts D */
+ for (j = (i + 1); j < n; j++)
+ {
+ matrix[j][i] = -matrix[j][i];
+ for (k = 0; k < i; k++) /*sweep operator */
+ matrix[j][k] += matrix[j][i] * matrix[i][k];
+ }
+ }
+ }
+
+ /*
+ ** lower triangle now contains inverse of cholesky
+ ** calculate F'DF (inverse of cholesky decomp process) to get inverse
+ ** of original matrix
+ */
+ for (i = 0; i < n; i++)
+ {
+ if (matrix[i][i] == 0)
+ { /* singular row */
+ for (j = 0; j < i; j++)
+ matrix[j][i] = 0;
+ for (j = i; j < n; j++)
+ matrix[i][j] = 0;
+ }
+ else
+ {
+ for (j = (i + 1); j < n; j++)
+ {
+ temp = matrix[j][i] * matrix[j][j];
+ if (j != i)
+ matrix[i][j] = temp;
+ for (k = i; k < j; k++)
+ matrix[i][k] += temp * matrix[j][k];
+ }
+ }
+ }
+}
diff --git a/src/cholesky.cpp b/src/cholesky.cpp
new file mode 100644
index 0000000..73ebdcd
--- /dev/null
+++ b/src/cholesky.cpp
@@ -0,0 +1,154 @@
+/*
+ * cholesky.cpp
+ *
+ * Created on: Mar 15, 2012
+ * Author: mkooyman
+ */
+#include <string>
+#include <cstdarg>
+#include <cstdio>
+#include <cstdlib>
+
+#if EIGEN
+#include "eigen_mematrix.h"
+#include "eigen_mematrix.cpp"
+#else
+#include "mematrix.h"
+#include "mematri1.h"
+#endif
+
+
+/* SCCS @(#)cholesky2.c 5.2 10/27/98
+ ** subroutine to do Cholesky decompostion on a matrix: C = FDF'
+ ** where F is lower triangular with 1's on the diagonal, and D is diagonal
+ **
+ ** arguments are:
+ ** n the size of the matrix to be factored
+ ** **matrix a ragged array containing an n by n submatrix to be factored
+ ** toler the threshold value for detecting "singularity"
+ **
+ ** The factorization is returned in the lower triangle, D occupies the
+ ** diagonal and the upper triangle is left undisturbed.
+ ** The lower triangle need not be filled in at the start.
+ **
+ ** Return value: the rank of the matrix (non-negative definite), or -rank
+ ** it not SPD or NND
+ **
+ ** If a column is deemed to be redundant, then that diagonal is set to zero.
+ **
+ ** Terry Therneau
+ */
+
+// modified Yurii Aulchenko 2008-05-20
+int cholesky2_mm(mematrix<double> &matrix, double toler)
+{
+ if (matrix.ncol != matrix.nrow)
+ {
+ fprintf(stderr, "cholesky2_mm: matrix should be square\n");
+ exit(1);
+ }
+ int n = matrix.ncol;
+ double temp;
+ int i, j, k;
+ double eps, pivot;
+ int rank;
+ int nonneg;
+
+ nonneg = 1;
+ eps = 0;
+ for (i = 0; i < n; i++)
+ {
+ if (matrix[i * n + i] > eps)
+ eps = matrix[i * n + i];
+ for (j = (i + 1); j < n; j++)
+ matrix[j * n + i] = matrix[i * n + j];
+ }
+ eps *= toler;
+
+ rank = 0;
+ for (i = 0; i < n; i++)
+ {
+ pivot = matrix[i * n + i];
+ if (pivot < eps)
+ {
+ matrix[i * n + i] = 0;
+ if (pivot < -8 * eps)
+ nonneg = -1;
+ }
+ else
+ {
+ rank++;
+ for (j = (i + 1); j < n; j++)
+ {
+ temp = matrix[j * n + i] / pivot;
+ matrix[j * n + i] = temp;
+ matrix[j * n + j] -= temp * temp * pivot;
+ for (k = (j + 1); k < n; k++)
+ matrix[k * n + j] -= temp * matrix[k * n + i];
+ }
+ }
+ }
+ return (rank * nonneg);
+}
+
+void chinv2_mm(mematrix<double> &matrix)
+{
+ if (matrix.ncol != matrix.nrow)
+ {
+ fprintf(stderr, "cholesky2_mm: matrix should be square\n");
+ exit(1);
+ }
+
+ int n = matrix.ncol;
+ register double temp;
+ register int i, j, k;
+
+ /*
+ ** invert the cholesky in the lower triangle
+ ** take full advantage of the cholesky's diagonal of 1's
+ */
+ for (i = 0; i < n; i++)
+ {
+ if (matrix[i * n + i] > 0)
+ {
+ matrix[i * n + i] = 1 / matrix[i * n + i]; /*this line inverts D */
+ for (j = (i + 1); j < n; j++)
+ {
+ matrix[j * n + i] = -matrix[j * n + i];
+ for (k = 0; k < i; k++) /*sweep operator */
+ matrix[j * n + k] += matrix[j * n + i] * matrix[i * n + k];
+ }
+ }
+ }
+
+ /*
+ ** lower triangle now contains inverse of cholesky
+ ** calculate F'DF (inverse of cholesky decomp process) to get inverse
+ ** of original matrix
+ */
+ for (i = 0; i < n; i++)
+ {
+ if (matrix[i * n + i] == 0)
+ { /* singular row */
+ for (j = 0; j < i; j++)
+ matrix[j * n + i] = 0;
+ for (j = i; j < n; j++)
+ matrix[i * n + j] = 0;
+ }
+ else
+ {
+ for (j = (i + 1); j < n; j++)
+ {
+ temp = matrix[j * n + i] * matrix[j * n + j];
+ if (j != i)
+ matrix[i * n + j] = temp;
+ for (k = i; k < j; k++)
+ matrix[i * n + k] += temp * matrix[j * n + k];
+ }
+ }
+ }
+ // ugly fix to return only inverse
+ for (int col = 1; col < n; col++)
+ for (int row = 0; row < col; row++)
+ matrix[col * n + row] = matrix[row * n + col];
+}
diff --git a/src/cholesky.h b/src/cholesky.h
new file mode 100644
index 0000000..cbcfc4e
--- /dev/null
+++ b/src/cholesky.h
@@ -0,0 +1,21 @@
+/*
+ * cholesky.h
+ *
+ * Created on: Mar 15, 2012
+ * Author: mkooyman
+ */
+
+#ifndef CHOLESKY_H_
+#define CHOLESKY_H_
+
+#if EIGEN
+#include "eigen_mematrix.h"
+#include "eigen_mematrix.cpp"
+#else
+#include "mematrix.h"
+#endif
+
+int cholesky2_mm(mematrix<double> &matrix, double toler);
+void chinv2_mm(mematrix<double> &matrix);
+
+#endif /* CHOLESKY_H_ */
diff --git a/src/cholesky2.c b/src/cholesky2.c
new file mode 100644
index 0000000..accd66a
--- /dev/null
+++ b/src/cholesky2.c
@@ -0,0 +1,56 @@
+/* SCCS @(#)cholesky2.c 5.2 10/27/98
+** subroutine to do Cholesky decompostion on a matrix: C = FDF'
+** where F is lower triangular with 1's on the diagonal, and D is diagonal
+**
+** arguments are:
+** n the size of the matrix to be factored
+** **matrix a ragged array containing an n by n submatrix to be factored
+** toler the threshold value for detecting "singularity"
+**
+** The factorization is returned in the lower triangle, D occupies the
+** diagonal and the upper triangle is left undisturbed.
+** The lower triangle need not be filled in at the start.
+**
+** Return value: the rank of the matrix (non-negative definite), or -rank
+** it not SPD or NND
+**
+** If a column is deemed to be redundant, then that diagonal is set to zero.
+**
+** Terry Therneau
+*/
+
+int cholesky2(double **matrix, int n, double toler)
+ {
+ double temp;
+ int i,j,k;
+ double eps, pivot;
+ int rank;
+ int nonneg;
+
+ nonneg=1;
+ eps =0;
+ for (i=0; i<n; i++) {
+ if (matrix[i][i] > eps) eps = matrix[i][i];
+ for (j=(i+1); j<n; j++) matrix[j][i] = matrix[i][j];
+ }
+ eps *= toler;
+
+ rank =0;
+ for (i=0; i<n; i++) {
+ pivot = matrix[i][i];
+ if (pivot < eps) {
+ matrix[i][i] =0;
+ if (pivot < -8*eps) nonneg= -1;
+ }
+ else {
+ rank++;
+ for (j=(i+1); j<n; j++) {
+ temp = matrix[j][i]/pivot;
+ matrix[j][i] = temp;
+ matrix[j][j] -= temp*temp*pivot;
+ for (k=(j+1); k<n; k++) matrix[k][j] -= temp*matrix[k][i];
+ }
+ }
+ }
+ return(rank * nonneg);
+ }
diff --git a/src/chsolve2.c b/src/chsolve2.c
new file mode 100644
index 0000000..47cba11
--- /dev/null
+++ b/src/chsolve2.c
@@ -0,0 +1,46 @@
+/* SCCS @(#)chsolve2.c 5.2 10/27/98
+ ** Solve the equation Ab = y, where the cholesky decomposition of A and y
+ ** are the inputs.
+ **
+ ** Input **matrix, which contains the chol decomp of an n by n
+ ** matrix in its lower triangle.
+ ** y[n] contains the right hand side
+ **
+ ** y is overwriten with b
+ **
+ ** Terry Therneau
+ */
+#include "survS.h"
+#include "survproto.h"
+
+void chsolve2(double **matrix, int n, double *y)
+{
+ register int i, j;
+ register double temp;
+
+ /*
+ ** solve Fb =y
+ */
+ for (i = 0; i < n; i++)
+ {
+ temp = y[i];
+ for (j = 0; j < i; j++)
+ temp -= y[j] * matrix[i][j];
+ y[i] = temp;
+ }
+ /*
+ ** solve DF'z =b
+ */
+ for (i = (n - 1); i >= 0; i--)
+ {
+ if (matrix[i][i] == 0)
+ y[i] = 0;
+ else
+ {
+ temp = y[i] / matrix[i][i];
+ for (j = i + 1; j < n; j++)
+ temp -= y[j] * matrix[j][i];
+ y[i] = temp;
+ }
+ }
+}
diff --git a/src/command_line_settings.cpp b/src/command_line_settings.cpp
new file mode 100644
index 0000000..d335fed
--- /dev/null
+++ b/src/command_line_settings.cpp
@@ -0,0 +1,378 @@
+/*
+ * command_line_settings.cpp
+ *
+ * Created on: Apr 1, 2012
+ * Author: mkooyman
+ */
+
+#include <getopt.h>
+#include <string>
+#include <iostream>
+#include "usage.h"
+#include "command_line_settings.h"
+#if EIGEN
+#include "eigen_mematrix.h"
+#endif
+
+// config.h and fvlib/FileVector.h are included for the upper case variables
+#if HAVE_CONFIG_H
+#include "config.h"
+#endif
+#include "fvlib/FileVector.h"
+
+using namespace std;
+
+string cmdvars::getStrGenfilename() const
+{
+ return str_genfilename;
+}
+
+int cmdvars::getAllcov() const
+{
+ return allcov;
+}
+
+string cmdvars::getChrom() const
+{
+ return chrom;
+}
+
+char* cmdvars::getGenfilename() const
+{
+ return genfilename;
+}
+
+int cmdvars::getInteraction() const
+{
+ return interaction;
+}
+
+char* cmdvars::getInverseFilename() const
+{
+ return inverse_filename;
+}
+
+bool cmdvars::isIscox() const
+{
+ return iscox;
+}
+
+int cmdvars::getIsFvf() const
+{
+ return isFVF;
+}
+
+char* cmdvars::getMapfilename() const
+{
+ return mapfilename;
+}
+
+char* cmdvars::getMlinfofilename() const
+{
+ return mlinfofilename;
+}
+
+
+int cmdvars::getNgpreds() const
+{
+ return ngpreds;
+}
+
+int cmdvars::getNohead() const
+{
+ return nohead;
+}
+
+int cmdvars::getNoutcomes() const
+{
+ return noutcomes;
+}
+
+int cmdvars::getNpeople() const
+{
+ return npeople;
+}
+
+string cmdvars::getOutfilename() const
+{
+ return outfilename;
+}
+
+char* cmdvars::getProgramName() const
+{
+ return program_name;
+}
+
+int cmdvars::getRobust() const
+{
+ return robust;
+}
+
+int cmdvars::getScore() const
+{
+ return score;
+}
+
+string cmdvars::getSep() const
+{
+ return sep;
+}
+
+int cmdvars::getSkipd() const
+{
+ return skipd;
+}
+
+char* cmdvars::getPhefilename() const
+{
+ return phefilename;
+}
+
+void cmdvars::set_variables(int argc, char * argv[])
+{
+ int next_option;
+ const char * const short_options = "p:i:d:m:n:c:o:s:t:g:a:erlhb:vu";
+ //b - interaction parameter
+ // ADD --fv FLAG (FILEVECTOR), IN WHICH CASE USE ALTERNATIVE
+ // CONSTRUCTOR FOR GENDATA
+ const struct option long_options[] =
+ {
+ { "pheno", 1, NULL, 'p' },
+ { "info", 1, NULL, 'i' },
+ { "dose", 1, NULL, 'd' },
+ { "map", 1, NULL, 'm' },
+ { "nids", 1, NULL, 'n' },
+ { "chrom", 1, NULL, 'c' },
+ { "out", 1, NULL, 'o' },
+ { "skipd", 1, NULL, 's' },
+ { "ntraits", 1, NULL, 't' },
+ { "ngpreds", 1, NULL, 'g' },
+ { "separat", 1, NULL, 'a' },
+ { "score", 0, NULL, 'r' },
+ { "no-head", 0, NULL, 'e' },
+ { "allcov", 0, NULL, 'l' },
+ { "help", 0, NULL, 'h' },
+ { "interaction", 1, NULL, 'b' },
+ { "interaction_only", 1, NULL, 'k' },
+ { "mmscore", 1, NULL, 'v' },
+ { "robust", 0, NULL, 'u' },
+ { NULL, 0, NULL, 0 } };
+ program_name = argv[0];
+
+ do
+ {
+ next_option = getopt_long(argc, argv, short_options, long_options,
+ NULL);
+
+ switch (next_option)
+ {
+ case 'h':
+ print_help(program_name, 0);
+ break;
+ case 'p':
+ phefilename = optarg;
+ neco[0] = 1;
+ break;
+ case 'i':
+ mlinfofilename = optarg;
+ neco[1] = 1;
+ break;
+ case 'd':
+ genfilename = optarg;
+ neco[2] = 1;
+ break;
+ case 'm':
+ mapfilename = optarg;
+ break;
+ case 'n':
+ npeople = atoi(optarg);
+ break;
+ case 'c':
+ chrom = optarg;
+ break;
+ case 'o':
+ outfilename = optarg;
+ break;
+ case 's':
+ skipd = atoi(optarg);
+ break;
+ case 't':
+ noutcomes = atoi(optarg);
+ break;
+ case 'g':
+ ngpreds = atoi(optarg);
+ break;
+ case 'a':
+ sep = optarg;
+ break;
+ case 'e':
+ nohead = 1;
+ break;
+ case 'r':
+ score = 1;
+ break;
+ case 'l':
+ allcov = 1;
+ break;
+ case 'b':
+ interaction = atoi(optarg);
+ break;
+ case 'k':
+ interaction_excluded = atoi(optarg);
+ break;
+ case 'v':
+ inverse_filename = optarg;
+ break;
+ case 'u':
+ robust = 1;
+ break;
+
+ case '?':
+ print_usage(program_name, 2);
+ case -1:
+ break;
+ default:
+ abort();
+ } // end of switch
+ } while (next_option != -1);
+} // end of function
+
+bool cmdvars::isIsInteractionExcluded() const
+{
+ return is_interaction_excluded;
+}
+
+void cmdvars::printinfo()
+{
+ print_version();
+
+ if (neco[0] != 1 || neco[1] != 1 || neco[2] != 1)
+ {
+ if (neco[0] != 1)
+ {
+ cerr << "Error: Missing required phenotype file (-p/--pheno option)"
+ << endl;
+ }
+ if (neco[1] != 1)
+ {
+ cerr << "Error: Missing required info file (-i/--info option)"
+ << endl;
+ }
+ if (neco[2] != 1)
+ {
+ cerr << "Error: Missing required genotype file (-d/--dose option)"
+ << endl;
+ }
+ cerr << endl;
+
+ cout << "One or more required command line options appear to be missing."
+ << endl
+ << "Run " << program_name
+ << " --help for more information on the available options\n";
+ exit(3);
+ }
+
+
+ if (score)
+ {
+ cout << "option --score suppressed from v 0.1-6\n";
+ exit(1);
+ }
+
+ str_genfilename = genfilename;
+ if (str_genfilename.find(FILEVECTOR_INDEX_FILE_SUFFIX) != string::npos
+ || str_genfilename.find(FILEVECTOR_DATA_FILE_SUFFIX)
+ != string::npos)
+ isFVF = 1;
+
+ cout << "Options in effect:\n";
+ cout << "\t --pheno = " << phefilename << endl;
+ cout << "\t --info = " << mlinfofilename << endl;
+ cout << "\t --dose = " << genfilename << endl;
+ if (isFVF)
+ cout << "\t (using FVF data)" << endl;
+ cout << "\t --ntraits = " << noutcomes << endl;
+ cout << "\t --ngpreds = " << ngpreds << endl;
+ cout << "\t --interaction = " << interaction << endl;
+ cout << "\t --interaction_only = " << interaction_excluded << endl;
+
+ if (inverse_filename != NULL)
+ cout << "\t --mmscore = " << inverse_filename << endl;
+ else
+ cout << "\t --mmscore = not in output" << endl;
+
+ if (mapfilename != NULL)
+ cout << "\t --map = " << mapfilename << endl;
+ else
+ cout << "\t --map = not in output" << endl;
+ if (npeople > 0)
+ cout << "\t --nids = " << npeople << endl;
+ else
+ cout << "\t --nids = estimated from data" << endl;
+ if (chrom != "-1")
+ cout << "\t --chrom = " << chrom << endl;
+ else
+ cout << "\t --chrom = not in output\n";
+ if (outfilename.compare("") != 0)
+ cout << "\t --out = " << outfilename << endl;
+ else
+ cout << "\t --out = " << "regression.out.txt" << endl;
+ cout << "\t --skipd = " << skipd << endl;
+ cout << "\t --separat = \"" << sep << "\"" << endl;
+ if (score)
+ cout << "\t --score = ON" << endl;
+ else
+ cout << "\t --score = OFF" << endl;
+ if (nohead)
+ cout << "\t --nohead = ON" << endl;
+ else
+ cout << "\t --nohead = OFF" << endl;
+ if (allcov)
+ cout << "\t --allcov = ON" << endl;
+ else
+ cout << "\t --allcov = OFF" << endl;
+ if (robust)
+ cout << "\t --robust = ON" << endl;
+ else
+ cout << "\t --robust = OFF" << endl;
+
+ if (ngpreds != 1 && ngpreds != 2)
+ {
+ cerr << "\n\n--ngpreds should be 1 for MLDOSE or 2 for MLPROB"
+ << endl;
+ exit(1);
+ }
+
+ if (interaction_excluded != 0)
+ {
+ interaction = interaction_excluded; //ups
+ is_interaction_excluded = true;
+ }
+ if (outfilename.compare("") == 0)
+ {
+ outfilename = string("regression");
+ }
+#if COXPH
+ if (score)
+ {
+ cerr << "\n\nOption --score is implemented for "
+ << "linear and logistic models only\n"
+ << endl;
+ exit(1);
+ }
+
+ if (inverse_filename != NULL)
+ {
+ cerr << "ERROR: mmscore is forbidden for cox regression"
+ << endl;
+ exit(1);
+ }
+ if (robust)
+ {
+ cerr << "ERROR: robust standard errors not implemented "
+ << "for Cox regression"
+ << endl;
+ exit(1);
+ }
+#endif
+}
diff --git a/src/command_line_settings.h b/src/command_line_settings.h
new file mode 100644
index 0000000..4e82257
--- /dev/null
+++ b/src/command_line_settings.h
@@ -0,0 +1,109 @@
+/*
+ * command_line_settings.h
+ *
+ * Created on: Apr 2; int 2012
+ * Author: mkooyman
+ */
+
+#ifndef COMMAND_LINE_SETTINGS_H_
+#define COMMAND_LINE_SETTINGS_H_
+#include <string>
+
+using namespace std;
+
+class cmdvars
+{
+private:
+ char * program_name;
+
+ char *phefilename;
+ char *mlinfofilename;
+ char *genfilename;
+ char *mapfilename;
+ string outfilename;
+ char *inverse_filename;
+
+ string str_genfilename;
+
+ int nohead;
+ int score;
+ int npeople;
+ int ngpreds;
+ int interaction;
+ int interaction_excluded;
+ bool is_interaction_excluded;
+ int robust;
+ string chrom;
+ string sep;
+ int neco[3]; /* Necessary command line options */
+ bool iscox;
+ int isFVF;
+ int noutcomes;
+ int skipd;
+ int allcov;
+
+public:
+ cmdvars()
+ {
+ program_name = NULL;
+
+ std::fill_n(neco, 3, 0);
+ phefilename = NULL;
+ mlinfofilename = NULL;
+ genfilename = NULL;
+ mapfilename = NULL;
+ outfilename = string("");
+ inverse_filename = NULL;
+
+ sep = " ";
+ nohead = 0;
+ score = 0;
+ npeople = -1;
+ ngpreds = 1;
+ interaction = 0;
+ interaction_excluded = 0;
+ is_interaction_excluded = false; //Oh Holy Matrix, forgive me for this!
+ robust = 0;
+ chrom = "-1";
+ str_genfilename = "";
+ isFVF = 0;
+ skipd = 2;
+ allcov = 0;
+#if COXPH
+ noutcomes = 2;
+ iscox = true;
+#else
+ noutcomes = 1;
+ iscox = false;
+#endif
+ }
+
+ void set_variables(int, char *[]);
+ char* getPhefilename() const;
+ int getAllcov() const;
+ string getChrom() const;
+ char* getGenfilename() const;
+ int getInteraction() const;
+ char* getInverseFilename() const;
+ bool isIscox() const;
+ int getIsFvf() const;
+ char* getMapfilename() const;
+ char* getMlinfofilename() const;
+
+ int getNgpreds() const;
+ int getNohead() const;
+ int getNoutcomes() const;
+ int getNpeople() const;
+ string getOutfilename() const;
+ char* getProgramName() const;
+ int getRobust() const;
+ int getScore() const;
+ string getSep() const;
+ int getSkipd() const;
+ string getStrGenfilename() const;
+
+ void printinfo();
+ bool isIsInteractionExcluded() const;
+};
+
+#endif /* COMMAND_LINE_SETTINGS_H_ */
diff --git a/src/config.h.in b/src/config.h.in
new file mode 100644
index 0000000..04c9dd8
--- /dev/null
+++ b/src/config.h.in
@@ -0,0 +1,168 @@
+/* src/config.h.in. Generated from configure.ac by autoheader. */
+
+/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
+ systems. This function is required for `alloca.c' support on those systems.
+ */
+#undef CRAY_STACKSEG_END
+
+/* Define to 1 if using `alloca.c'. */
+#undef C_ALLOCA
+
+/* Define to 1 if you have `alloca', as a function or macro. */
+#undef HAVE_ALLOCA
+
+/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
+ */
+#undef HAVE_ALLOCA_H
+
+/* Define to 1 if you have the <Eigen/Dense> header file. */
+#undef HAVE_EIGEN_DENSE
+
+/* Define to 1 if you have the <Eigen/LU> header file. */
+#undef HAVE_EIGEN_LU
+
+/* Define to 1 if you have the <float.h> header file. */
+#undef HAVE_FLOAT_H
+
+/* Define to 1 if you have the `floor' function. */
+#undef HAVE_FLOOR
+
+/* Define to 1 if fseeko (and presumably ftello) exists and is declared. */
+#undef HAVE_FSEEKO
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#undef HAVE_INTTYPES_H
+
+/* Define to 1 if you have the <libintl.h> header file. */
+#undef HAVE_LIBINTL_H
+
+/* Define to 1 if you have the <limits.h> header file. */
+#undef HAVE_LIMITS_H
+
+/* Define to 1 if your system has a GNU libc compatible `malloc' function, and
+ to 0 otherwise. */
+#undef HAVE_MALLOC
+
+/* Define to 1 if you have the <memory.h> header file. */
+#undef HAVE_MEMORY_H
+
+/* Define to 1 if you have the `pow' function. */
+#undef HAVE_POW
+
+/* Define to 1 if you have the `putenv' function. */
+#undef HAVE_PUTENV
+
+/* Define to 1 if you have the `sqrt' function. */
+#undef HAVE_SQRT
+
+/* Define to 1 if stdbool.h conforms to C99. */
+#undef HAVE_STDBOOL_H
+
+/* Define to 1 if you have the <stddef.h> header file. */
+#undef HAVE_STDDEF_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 `strdup' function. */
+#undef HAVE_STRDUP
+
+/* 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 `strncasecmp' function. */
+#undef HAVE_STRNCASECMP
+
+/* Define to 1 if you have the <sys/param.h> header file. */
+#undef HAVE_SYS_PARAM_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 1 if you have the <wchar.h> header file. */
+#undef HAVE_WCHAR_H
+
+/* Define to 1 if you have the <wctype.h> header file. */
+#undef HAVE_WCTYPE_H
+
+/* Define to 1 if the system has the type `_Bool'. */
+#undef HAVE__BOOL
+
+/* Define to 1 if your C compiler doesn't accept -c and -o together. */
+#undef NO_MINUS_C_MINUS_O
+
+/* 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
+
+/* If using the C implementation of alloca, define if you know the
+ direction of stack growth for your system; otherwise it will be
+ automatically deduced at runtime.
+ STACK_DIRECTION > 0 => grows toward higher addresses
+ STACK_DIRECTION < 0 => grows toward lower addresses
+ STACK_DIRECTION = 0 => direction of growth unknown */
+#undef STACK_DIRECTION
+
+/* Define to 1 if you have the ANSI C header files. */
+#undef STDC_HEADERS
+
+/* Version number of package */
+#undef VERSION
+
+/* Enable large inode numbers on Mac OS X 10.5. */
+#ifndef _DARWIN_USE_64_BIT_INODE
+# define _DARWIN_USE_64_BIT_INODE 1
+#endif
+
+/* Number of bits in a file offset, on hosts where this is settable. */
+#undef _FILE_OFFSET_BITS
+
+/* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */
+#undef _LARGEFILE_SOURCE
+
+/* Define for large files, on AIX-style hosts. */
+#undef _LARGE_FILES
+
+/* Define to `__inline__' or `__inline' if that's what the C compiler
+ calls it, or to nothing if 'inline' is not supported under any name. */
+#ifndef __cplusplus
+#undef inline
+#endif
+
+/* Define to rpl_malloc if the replacement function should be used. */
+#undef malloc
+
+/* Define to `long int' if <sys/types.h> does not define. */
+#undef off_t
+
+/* Define to `unsigned int' if <sys/types.h> does not define. */
+#undef size_t
diff --git a/src/coxfit2.c b/src/coxfit2.c
new file mode 100644
index 0000000..ea1a321
--- /dev/null
+++ b/src/coxfit2.c
@@ -0,0 +1,466 @@
+/* SCCS @(#)coxfit2.c 5.1 08/30/98*/
+/*
+ ** here is a cox regression program, written in c
+ ** uses Efron's approximation for ties
+ ** the input parameters are
+ **
+ ** maxiter :number of iterations
+ ** nused :number of people
+ ** nvar :number of covariates
+ ** time(n) :time of event or censoring for person i
+ ** status(n) :status for the ith person 1=dead , 0=censored
+ ** covar(nv,n) :covariates for person i.
+ ** Note that S sends this in column major order.
+ ** strata(n) :marks the strata. Will be 1 if this person is the
+ ** last one in a strata. If there are no strata, the
+ ** vector can be identically zero, since the nth person's
+ ** value is always assumed to be = to 1.
+ ** offset(n) :offset for the linear predictor
+ ** weights(n) :case weights
+ ** eps :tolerance for convergence. Iteration continues until
+ ** the percent change in loglikelihood is <= eps.
+ ** chol_tol : tolerance for the Cholesky decompostion
+ ** sctest : on input contains the method 0=Breslow, 1=Efron
+ **
+ ** returned parameters
+ ** means(nv) : vector of column means of X
+ ** beta(nv) :the vector of answers (at start contains initial est)
+ ** u(nv) :score vector
+ ** imat(nv,nv) :the variance matrix at beta=final, also a ragged array
+ ** if flag<0, imat is undefined upon return
+ ** loglik(2) :loglik at beta=initial values, at beta=final
+ ** sctest :the score test at beta=initial
+ ** flag :success flag 1000 did not converge
+ ** 1 to nvar: rank of the solution
+ ** maxiter :actual number of iterations used
+ **
+ ** work arrays
+ ** mark(n)
+ ** wtave(n)
+ ** a(nvar), a2(nvar)
+ ** cmat(nvar,nvar) ragged array
+ ** cmat2(nvar,nvar)
+ ** newbeta(nvar) always contains the "next iteration"
+ **
+ ** the work arrays are passed as a single
+ ** vector of storage, and then broken out.
+ **
+ ** calls functions: cholesky2, chsolve2, chinv2
+ **
+ ** the data must be sorted by ascending time within strata
+ */
+#include <math.h>
+#include "survS.h"
+#include "survproto.h"
+
+void coxfit2(int *maxiter, int *nusedx, int *nvarx, double *time, int *status,
+ double *covar2, double *offset, double *weights, int *strata,
+ double *means, double *beta, double *u, double *imat2, double loglik[2],
+ int *flag, double *work, double *eps, double *tol_chol, double *sctest)
+{
+ int i, j, k, person;
+ int iter;
+ int nused, nvar;
+
+ double **covar, **cmat, **imat; /*ragged array versions*/
+ double *mark, *wtave;
+ double *a, *newbeta;
+ double *a2, **cmat2;
+ double denom = 0/*-Wall*/, zbeta, risk;
+ double temp, temp2;
+ double ndead;
+ double newlk = 0;/*-Wall*/
+ double d2, efron_wt;
+ int halving; /*are we doing step halving at the moment? */
+ double method;
+
+ nused = *nusedx;
+ nvar = *nvarx;
+ method = *sctest;
+ /*
+ ** Set up the ragged arrays
+ */
+// std::cout << nused << " " << nvar << "\n";
+ covar = dmatrix(covar2, nused, nvar);
+// print_dmatrix(covar,nused,nvar);
+ imat = dmatrix(imat2, nvar, nvar);
+// print_dmatrix(imat,nvar,nvar);
+ cmat = dmatrix(work, nvar, nvar);
+// print_dmatrix(cmat,nvar,nvar);
+ cmat2 = dmatrix(work + nvar * nvar, nvar, nvar);
+// print_dmatrix(cmat2,nvar,nvar);
+ a = work + 2 * nvar * nvar;
+ newbeta = a + nvar;
+ a2 = newbeta + nvar;
+ mark = a2 + nvar;
+ wtave = mark + nused;
+// print_prematrix(time,1,nused);
+// test print 1
+// print_prematrix(u,1,nvar);
+
+ /*
+ ** Mark(i) contains the number of tied deaths at this point,
+ ** for the first person of several tied times. It is zero for
+ ** the second and etc of a group of tied times.
+ ** Wtave contains the average weight for the deaths
+ */
+ temp = 0;
+ j = 0;
+ for (i = nused - 1; i > 0; i--)
+ {
+ if ((time[i] == time[i - 1]) & (strata[i - 1] != 1))
+ {
+ j += status[i];
+ temp += status[i] * weights[i];
+ mark[i] = 0;
+ }
+ else
+ {
+ mark[i] = j + status[i];
+ if (mark[i] > 0)
+ wtave[i] = (temp + status[i] * weights[i]) / mark[i];
+ temp = 0;
+ j = 0;
+ }
+ }
+// test print 2
+// print_prematrix(mark,nused,1);
+// print_prematrix(u,1,nvar);
+
+ mark[0] = j + status[0];
+ if (mark[0] > 0)
+ wtave[0] = (temp + status[0] * weights[0]) / mark[0];
+
+ /*
+ ** Subtract the mean from each covar, as this makes the regression
+ ** much more stable
+ */
+ for (i = 0; i < nvar; i++)
+ {
+ temp = 0;
+ for (person = 0; person < nused; person++)
+ temp += covar[i][person];
+ temp /= nused;
+ means[i] = temp;
+ for (person = 0; person < nused; person++)
+ covar[i][person] -= temp;
+ }
+// test print 3
+// print_prematrix(status,1,nused);
+// print_prematrix(u,1,nvar);
+
+ /*
+ ** do the initial iteration step
+ */
+ strata[nused - 1] = 1;
+ loglik[1] = 0;
+ for (i = 0; i < nvar; i++)
+ {
+ u[i] = 0;
+ for (j = 0; j < nvar; j++)
+ imat[i][j] = 0;
+ }
+
+// test print 4
+// print_prematrix(status,1,nused);
+// print_prematrix(u,1,nvar);
+
+ efron_wt = 0;
+// std::cout << "approachilg loop ... " << nused << "\n";
+// std::cout << "beta="; print_prematrix(beta,1,nvar);
+// print_dmatrix(cmat,nvar,nvar);
+// print_dmatrix(cmat2,nvar,nvar);
+ for (person = nused - 1; person >= 0; person--)
+ {
+ if (strata[person] == 1)
+ {
+ denom = 0;
+ for (i = 0; i < nvar; i++)
+ {
+ a[i] = 0;
+ a2[i] = 0;
+ for (j = 0; j < nvar; j++)
+ {
+// std::cout << i << " " << j << "\n";
+ cmat[i][j] = 0;
+ cmat2[i][j] = 0;
+ }
+ }
+ }
+
+// std::cout << "a "; print_prematrix(a,1,nvar);
+// std::cout << "a2 "; print_prematrix(a2,1,nvar);
+ zbeta = offset[person]; /* form the term beta*z (vector mult) */
+ for (i = 0; i < nvar; i++)
+ {
+ zbeta += beta[i] * covar[i][person];
+// std::cout << zbeta << " " << beta[i] << " " << covar[i][person] << "\n";
+ }
+ risk = exp(zbeta) * weights[person];
+
+ denom += risk;
+ efron_wt += status[person] * risk; /*sum(denom) for tied deaths*/
+
+// std::cout << "risk=" << risk << " " << zbeta << "\n";
+ for (i = 0; i < nvar; i++)
+ {
+ a[i] += risk * covar[i][person];
+ for (j = 0; j <= i; j++)
+ cmat[i][j] += risk * covar[i][person] * covar[j][person];
+ }
+
+// std::cout << "prestat" << person << "\n";
+ if (status[person] == 1)
+ {
+ loglik[1] += weights[person] * zbeta;
+ for (i = 0; i < nvar; i++)
+ {
+ u[i] += weights[person] * covar[i][person];
+ a2[i] += risk * covar[i][person];
+ for (j = 0; j <= i; j++)
+ cmat2[i][j] += risk * covar[i][person] * covar[j][person];
+ }
+ }
+// std::cout << "pst" << person << "\n";
+ if (mark[person] > 0)
+ { /* once per unique death time */
+ /*
+ ** Trick: when 'method==0' then temp=0, giving Breslow's method
+ */
+ ndead = mark[person];
+// std::cout << "has mark > 0 : " << person << "\n";
+// print_prematrix(u,1,nvar);
+// print_prematrix(a,1,nvar);
+// print_prematrix(a2,1,nvar);
+// std::cout << "ndead=" << ndead << "\n";
+ for (k = 0; k < ndead; k++)
+ {
+ temp = (double) k * method / ndead;
+ d2 = denom - temp * efron_wt;
+ loglik[1] -= wtave[person] * log(d2);
+ for (i = 0; i < nvar; i++)
+ {
+ temp2 = (a[i] - temp * a2[i]) / d2;
+ u[i] -= wtave[person] * temp2;
+// std::cout << i << " " << wtave[person] << " " << temp2 << " " << a[i] << " " << a2[i] << "\n";
+ for (j = 0; j <= i; j++)
+ imat[j][i] += wtave[person]
+ * ((cmat[i][j] - temp * cmat2[i][j]) / d2
+ - temp2 * (a[j] - temp * a2[j]) / d2);
+ }
+ }
+// std::cout << person << "\n";
+// print_prematrix(u,1,nvar);
+ efron_wt = 0;
+ for (i = 0; i < nvar; i++)
+ {
+ a2[i] = 0;
+ for (j = 0; j < nvar; j++)
+ cmat2[i][j] = 0;
+ }
+ }
+// std::cout << "finishing with " << person << "\n";
+ } /* end of accumulation loop */
+
+// std::cout << "reached 5\n";
+// test print 5
+// print_prematrix(status,1,nused);
+// print_prematrix(u,1,nvar);
+
+ loglik[0] = loglik[1]; /* save the loglik for iteration zero */
+
+ /* am I done?
+ ** update the betas and test for convergence
+ */
+
+ for (i = 0; i < nvar; i++) /*use 'a' as a temp to save u0, for the score test*/
+ a[i] = u[i];
+
+// std::cout << "ready for chol\n";
+ *flag = cholesky2(imat, nvar, *tol_chol);
+ chsolve2(imat, nvar, a); /* a replaced by a *inverse(i) */
+
+ *sctest = 0;
+ for (i = 0; i < nvar; i++)
+ *sctest += u[i] * a[i];
+
+ /*
+ ** Never, never complain about convergence on the first step. That way,
+ ** if someone HAS to they can force one iter at a time.
+ */
+ for (i = 0; i < nvar; i++)
+ {
+ newbeta[i] = beta[i] + a[i];
+ }
+ if (*maxiter == 0)
+ {
+ chinv2(imat, nvar);
+ for (i = 1; i < nvar; i++)
+ for (j = 0; j < i; j++)
+ imat[i][j] = imat[j][i];
+
+ free(covar);
+ free(imat);
+ free(cmat);
+ free(cmat2);
+ return; /* and we leave the old beta in peace */
+ }
+
+ /*
+ ** here is the main loop
+ */
+ halving = 0; /* =1 when in the midst of "step halving" */
+ for (iter = 1; iter <= *maxiter; iter++)
+ {
+ newlk = 0;
+ for (i = 0; i < nvar; i++)
+ {
+ u[i] = 0;
+ for (j = 0; j < nvar; j++)
+ imat[i][j] = 0;
+ }
+
+ for (person = nused - 1; person >= 0; person--)
+ {
+ if (strata[person] == 1)
+ {
+ efron_wt = 0;
+ denom = 0;
+ for (i = 0; i < nvar; i++)
+ {
+ a[i] = 0;
+ a2[i] = 0;
+ for (j = 0; j < nvar; j++)
+ {
+ cmat[i][j] = 0;
+ cmat2[i][j] = 0;
+ }
+ }
+ }
+
+ zbeta = offset[person];
+ for (i = 0; i < nvar; i++)
+ zbeta += newbeta[i] * covar[i][person];
+ risk = exp(zbeta) * weights[person];
+
+ denom += risk;
+ efron_wt += status[person] * risk; /* sum(denom) for tied deaths*/
+
+ for (i = 0; i < nvar; i++)
+ {
+ a[i] += risk * covar[i][person];
+ for (j = 0; j <= i; j++)
+ cmat[i][j] += risk * covar[i][person] * covar[j][person];
+ }
+
+ if (status[person] == 1)
+ {
+ newlk += weights[person] * zbeta;
+ for (i = 0; i < nvar; i++)
+ {
+ u[i] += weights[person] * covar[i][person];
+ a2[i] += risk * covar[i][person];
+ for (j = 0; j <= i; j++)
+ cmat2[i][j] += risk * covar[i][person]
+ * covar[j][person];
+ }
+ }
+
+ if (mark[person] > 0)
+ { /* once per unique death time */
+ for (k = 0; k < mark[person]; k++)
+ {
+ temp = (double) k * method / mark[person];
+ d2 = denom - temp * efron_wt;
+ newlk -= wtave[person] * log(d2);
+ for (i = 0; i < nvar; i++)
+ {
+ temp2 = (a[i] - temp * a2[i]) / d2;
+ u[i] -= wtave[person] * temp2;
+ for (j = 0; j <= i; j++)
+ imat[j][i] +=
+ wtave[person]
+ * ((cmat[i][j] - temp * cmat2[i][j])
+ / d2
+ - temp2
+ * (a[j]
+ - temp
+ * a2[j])
+ / d2);
+ }
+ }
+ efron_wt = 0;
+ for (i = 0; i < nvar; i++)
+ {
+ a2[i] = 0;
+ for (j = 0; j < nvar; j++)
+ cmat2[i][j] = 0;
+ }
+ }
+ } /* end of accumulation loop */
+
+ /* am I done?
+ ** update the betas and test for convergence
+ */
+ *flag = cholesky2(imat, nvar, *tol_chol);
+
+ if (fabs(1 - (loglik[1] / newlk)) <= *eps)
+ { /* all done */
+ loglik[1] = newlk;
+ chinv2(imat, nvar); /* invert the information matrix */
+ for (i = 1; i < nvar; i++)
+ for (j = 0; j < i; j++)
+ imat[i][j] = imat[j][i];
+ for (i = 0; i < nvar; i++)
+ beta[i] = newbeta[i];
+ if (halving == 1)
+ *flag = 1000; /*didn't converge after all */
+ *maxiter = iter;
+
+ free(covar);
+ free(imat);
+ free(cmat);
+ free(cmat2);
+ return;
+ }
+
+ if (iter == *maxiter)
+ break; /*skip the step halving and etc */
+
+ if (newlk < loglik[1])
+ { /*it is not converging ! */
+ halving = 1;
+ for (i = 0; i < nvar; i++)
+ newbeta[i] = (newbeta[i] + beta[i]) / 2; /*half of old increment */
+ }
+ else
+ {
+ halving = 0;
+ loglik[1] = newlk;
+ chsolve2(imat, nvar, u);
+
+ j = 0;
+ for (i = 0; i < nvar; i++)
+ {
+ beta[i] = newbeta[i];
+ newbeta[i] = newbeta[i] + u[i];
+ }
+ }
+ } /* return for another iteration */
+
+ loglik[1] = newlk;
+ chinv2(imat, nvar);
+ for (i = 1; i < nvar; i++)
+ for (j = 0; j < i; j++)
+ imat[i][j] = imat[j][i];
+ for (i = 0; i < nvar; i++)
+ beta[i] = newbeta[i];
+ *flag = 1000;
+
+
+ free(covar);
+ free(imat);
+ free(cmat);
+ free(cmat2);
+ return;
+}
diff --git a/src/coxph_data.cpp b/src/coxph_data.cpp
new file mode 100644
index 0000000..926521d
--- /dev/null
+++ b/src/coxph_data.cpp
@@ -0,0 +1,378 @@
+/*
+ * coxph_data.cpp
+ *
+ * Created on: Mar 31, 2012
+ * Author: mkooyman
+ */
+#include "coxph_data.h"
+#include <iostream>
+#include <cmath>
+extern "C" {
+#include "survproto.h"
+}
+
+// #include "reg1.h"
+#include "fvlib/AbstractMatrix.h"
+#include "fvlib/CastUtils.h"
+#include "fvlib/const.h"
+#include "fvlib/convert_util.h"
+#include "fvlib/FileVector.h"
+#include "fvlib/frutil.h"
+#include "fvlib/frversion.h"
+#include "fvlib/Logger.h"
+#include "fvlib/Transposer.h"
+
+// compare for sort of times
+int cmpfun(const void *a, const void *b)
+{
+ double el1 = *(double*) a;
+ double el2 = *(double*) b;
+ if (el1 > el2)
+ {
+ return 1;
+ }
+ if (el1 < el2)
+ {
+ return -1;
+ }
+ if (el1 == el2)
+ {
+ return 0;
+ }
+
+ // You should never come here...
+ return -9;
+}
+
+coxph_data::coxph_data(const coxph_data &obj) : sstat(obj.sstat)
+{
+ nids = obj.nids;
+ ncov = obj.ncov;
+ ngpreds = obj.ngpreds;
+ weights = obj.weights;
+ stime = obj.stime;
+ offset = obj.offset;
+ strata = obj.strata;
+ X = obj.X;
+ order = obj.order;
+ masked_data = new unsigned short int[nids];
+
+ for (int i = 0; i < nids; i++)
+ {
+ masked_data[i] = obj.masked_data[i];
+ }
+}
+
+coxph_data::coxph_data(phedata &phed, gendata &gend, const int snpnum)
+{
+ nids = gend.nids;
+ masked_data = new unsigned short int[nids];
+ for (int i = 0; i < nids; i++)
+ masked_data[i] = 0;
+
+ ngpreds = gend.ngpreds;
+ if (snpnum >= 0)
+ ncov = phed.ncov + ngpreds;
+ else
+ ncov = phed.ncov;
+
+ if (phed.noutcomes != 2)
+ {
+ std::cerr << "coxph_data: number of outcomes should be 2 (now: "
+ << phed.noutcomes << ")\n";
+ exit(1);
+ }
+
+ X.reinit(nids, ncov);
+ stime.reinit(nids, 1);
+ sstat.reinit(nids, 1);
+ weights.reinit(nids, 1);
+ offset.reinit(nids, 1);
+ strata.reinit(nids, 1);
+ order.reinit(nids, 1);
+ for (int i = 0; i < nids; i++)
+ {
+ // X.put(1.,i,0);
+ stime[i] = (phed.Y).get(i, 0);
+ sstat[i] = int((phed.Y).get(i, 1));
+ if (sstat[i] != 1 && sstat[i] != 0)
+ {
+ std::cerr << "coxph_data: status not 0/1 "
+ <<"(correct order: id, fuptime, status ...)"
+ << endl;
+ exit(1);
+ }
+ }
+
+ for (int j = 0; j < phed.ncov; j++)
+ {
+ for (int i = 0; i < nids; i++)
+ X.put((phed.X).get(i, j), i, j);
+ }
+
+ if (snpnum > 0)
+ {
+ for (int j = 0; j < ngpreds; j++)
+ {
+ double snpdata[nids];
+ gend.get_var(snpnum * ngpreds + j, snpdata);
+ for (int i = 0; i < nids; i++)
+ X.put(snpdata[i], i, (ncov - ngpreds + j));
+ }
+ }
+
+ for (int i = 0; i < nids; i++)
+ {
+ weights[i] = 1.0;
+ offset[i] = 0.0;
+ strata[i] = 0;
+ }
+
+ // sort by time
+ double tmptime[nids];
+ int passed_sorted[nids];
+
+ for (int i = 0; i < nids; i++)
+ {
+ tmptime[i] = stime[i];
+ passed_sorted[i] = 0;
+ }
+
+ qsort(tmptime, nids, sizeof(double), cmpfun);
+
+ for (int i = 0; i < nids; i++)
+ {
+ int passed = 0;
+ for (int j = 0; j < nids; j++)
+ {
+ if (tmptime[j] == stime[i])
+ {
+ if (!passed_sorted[j])
+ {
+ order[i] = j;
+ passed_sorted[j] = 1;
+ passed = 1;
+ break;
+ }
+ }
+ }
+ if (passed != 1)
+ {
+ std::cerr << "cannot recover element " << i << "\n";
+ exit(1);
+ }
+ }
+ stime = reorder(stime, order);
+ sstat = reorder(sstat, order);
+ weights = reorder(weights, order);
+ strata = reorder(strata, order);
+ offset = reorder(offset, order);
+ X = reorder(X, order);
+
+ // The coxfit2() function expects data in column major order.
+ X = transpose(X);
+
+ // X.print();
+ // offset.print();
+ // weights.print();
+ // stime.print();
+ // sstat.print();
+}
+
+void coxph_data::update_snp(gendata &gend, const int snpnum)
+{
+ /**
+ * This is the main part of the fix of bug #1846
+ * (C) of the fix:
+ * UMC St Radboud Nijmegen,
+ * Dept of Epidemiology & Biostatistics,
+ * led by Prof. B. Kiemeney
+ *
+ * Note this sorts by "order"!!!
+ * Here we deal with transposed X, hence last two arguments are swapped
+ * compared to the other 'update_snp'
+ * Also, the starting column-1 is not necessary for cox X therefore
+ * 'ncov-j' changes to 'ncov-j-1'
+ **/
+
+ for (int j = 0; j < ngpreds; j++)
+ {
+ double snpdata[nids];
+ for (int i = 0; i < nids; i++)
+ {
+ masked_data[i] = 0;
+ }
+
+ gend.get_var(snpnum * ngpreds + j, snpdata);
+
+ for (int i = 0; i < nids; i++)
+ {
+ X.put(snpdata[i], (ncov - j - 1), order[i]);
+ if (isnan(snpdata[i]))
+ masked_data[order[i]] = 1;
+ }
+ }
+}
+
+
+void coxph_data::remove_snp_from_X()
+{
+ // update_snp() adds SNP information to the design matrix. This
+ // function allows you to strip that information from X again.
+ // This is used for example when calculating the null model.
+
+ if (ngpreds == 1)
+ {
+ X.delete_row(X.nrow -1);
+ }
+ else if (ngpreds == 2)
+ {
+ X.delete_row(X.nrow -1);
+ X.delete_row(X.nrow -1);
+ }
+ else
+ {
+ cerr << "Error: ngpreds should be 1 or 2. "
+ << "You should never come here!\n";
+ }
+}
+
+
+coxph_data::~coxph_data()
+{
+ delete[] coxph_data::masked_data;
+ // delete X;
+ // delete sstat;
+ // delete stime;
+ // delete weights;
+ // delete offset;
+ // delete strata;
+ // delete order;
+}
+
+coxph_data coxph_data::get_unmasked_data()
+{
+ coxph_data to; // = coxph_data(*this);
+
+ // filter missing data
+ int nmeasured = 0;
+ for (int i = 0; i < nids; i++)
+ {
+ if (masked_data[i] == 0)
+ {
+ nmeasured++;
+ }
+ }
+ to.nids = nmeasured;
+ to.ncov = ncov;
+ to.ngpreds = ngpreds;
+ int dim1X = X.nrow;
+ (to.weights).reinit(to.nids, 1);
+ (to.stime).reinit(to.nids, 1);
+ (to.sstat).reinit(to.nids, 1);
+ (to.offset).reinit(to.nids, 1);
+ (to.strata).reinit(to.nids, 1);
+ (to.order).reinit(to.nids, 1);
+ (to.X).reinit(dim1X, to.nids);
+
+ int j = 0;
+ for (int i = 0; i < nids; i++)
+ {
+ if (masked_data[i] == 0)
+ {
+ (to.weights).put(weights.get(i, 0), j, 0);
+ (to.stime).put(stime.get(i, 0), j, 0);
+ (to.sstat).put(sstat.get(i, 0), j, 0);
+ (to.offset).put(offset.get(i, 0), j, 0);
+ (to.strata).put(strata.get(i, 0), j, 0);
+ (to.order).put(order.get(i, 0), j, 0);
+ for (int nc = 0; nc < dim1X; nc++)
+ {
+ (to.X).put(X.get(nc, i), nc, j);
+ }
+ j++;
+ }
+ }
+
+ //delete [] to.masked_data;
+ to.masked_data = new unsigned short int[to.nids];
+ for (int i = 0; i < to.nids; i++)
+ {
+ to.masked_data[i] = 0;
+ }
+
+ return (to);
+}
+
+coxph_reg::coxph_reg(coxph_data &cdatain)
+{
+ coxph_data cdata = cdatain.get_unmasked_data();
+ beta.reinit(cdata.X.nrow, 1);
+ sebeta.reinit(cdata.X.nrow, 1);
+ loglik = - INFINITY;
+ sigma2 = -1.;
+ chi2_score = -1.;
+ niter = 0;
+}
+
+void coxph_reg::estimate(coxph_data &cdatain, int verbose, int maxiter,
+ double eps, double tol_chol, int model,
+ int interaction, int ngpreds, bool iscox,
+ int nullmodel)
+{
+ coxph_data cdata = cdatain.get_unmasked_data();
+
+ mematrix<double> X = t_apply_model(cdata.X, model, interaction, ngpreds,
+ iscox, nullmodel);
+
+ int length_beta = X.nrow;
+ beta.reinit(length_beta, 1);
+ sebeta.reinit(length_beta, 1);
+ mematrix<double> newoffset = cdata.offset -
+ (cdata.offset).column_mean(0);
+ mematrix<double> means(X.nrow, 1);
+
+ for (int i = 0; i < X.nrow; i++)
+ {
+ beta[i] = 0.;
+ }
+
+ mematrix<double> u(X.nrow, 1);
+ mematrix<double> imat(X.nrow, X.nrow);
+
+ double work[X.ncol * 2 + 2 * (X.nrow) * (X.nrow) + 3 * (X.nrow)];
+ double loglik_int[2];
+ int flag;
+ double sctest = 1.0;
+
+ // When using Eigen coxfit2 needs to be called in a slightly
+ // different way (i.e. the .data()-part needs to be added).
+#if EIGEN
+ coxfit2(&maxiter, &cdata.nids, &X.nrow, cdata.stime.data.data(),
+ cdata.sstat.data.data(), X.data.data(), newoffset.data.data(),
+ cdata.weights.data.data(), cdata.strata.data.data(),
+ means.data.data(), beta.data.data(), u.data.data(),
+ imat.data.data(), loglik_int, &flag, work, &eps, &tol_chol,
+ &sctest);
+#else
+ coxfit2(&maxiter, &cdata.nids, &X.nrow, cdata.stime.data,
+ cdata.sstat.data, X.data, newoffset.data,
+ cdata.weights.data, cdata.strata.data,
+ means.data, beta.data, u.data,
+ imat.data, loglik_int, &flag, work, &eps, &tol_chol,
+ &sctest);
+#endif
+
+ if (flag == 1000)
+ {
+ cerr << "Error: Cox regression did not converge\n";
+ }
+
+ for (int i = 0; i < X.nrow; i++)
+ {
+ sebeta[i] = sqrt(imat.get(i, i));
+ }
+
+ loglik = loglik_int[1];
+ niter = maxiter;
+}
diff --git a/src/coxph_data.h b/src/coxph_data.h
new file mode 100644
index 0000000..1503b2a
--- /dev/null
+++ b/src/coxph_data.h
@@ -0,0 +1,70 @@
+/*
+ * coxph_data.h
+ *
+ * Created on: Mar 31, 2012
+ * Author: mkooyman
+ */
+
+#ifndef COXPH_DATA_H_
+#define COXPH_DATA_H_
+
+#if EIGEN
+#include "eigen_mematrix.h"
+#include "eigen_mematrix.cpp"
+#else
+#include "mematrix.h"
+#include "mematri1.h"
+#endif
+
+#include "reg1.h"
+#include "gendata.h"
+#include "phedata.h"
+
+class coxph_data {
+public:
+ coxph_data get_unmasked_data();
+
+ coxph_data()
+ {
+ nids = 0;
+ ncov = 0;
+ ngpreds = 0;
+ masked_data = NULL;
+ }
+
+ coxph_data(const coxph_data &obj);
+ coxph_data(phedata &phed, gendata &gend, const int snpnum);
+ void update_snp(gendata &gend, const int snpnum);
+ void remove_snp_from_X();
+ ~coxph_data();
+
+ int nids;
+ int ncov;
+ int ngpreds;
+ mematrix<double> weights;
+ mematrix<double> stime;
+ mematrix<int> sstat;
+ mematrix<double> offset;
+ mematrix<int> strata;
+ mematrix<double> X;
+ mematrix<int> order;
+ unsigned short int * masked_data;
+};
+
+class coxph_reg {
+public:
+ mematrix<double> beta;
+ mematrix<double> sebeta;
+ mematrix<double> residuals;
+ double sigma2;
+ double loglik;
+ double chi2_score;
+ int niter;
+
+ coxph_reg(coxph_data &cdatain);
+ void estimate(coxph_data &cdatain, int verbose, int maxiter, double eps,
+ double tol_chol, int model, int interaction, int ngpreds,
+ bool iscox, int nullmodel);
+};
+
+#endif /* COXPH_DATA_H_ */
diff --git a/src/data.cpp b/src/data.cpp
new file mode 100644
index 0000000..0d2ed54
--- /dev/null
+++ b/src/data.cpp
@@ -0,0 +1,237 @@
+#include <string>
+#include <sstream>
+#include <fstream>
+
+#include "fvlib/AbstractMatrix.h"
+#include "fvlib/CastUtils.h"
+#include "fvlib/const.h"
+#include "fvlib/convert_util.h"
+#include "fvlib/FileVector.h"
+#include "fvlib/frutil.h"
+#include "fvlib/frversion.h"
+#include "fvlib/Logger.h"
+#include "fvlib/Transposer.h"
+#include "phedata.h"
+#include "gendata.h"
+#include "data.h"
+
+#if EIGEN
+#include "eigen_mematrix.h"
+#include "eigen_mematrix.cpp"
+#else
+#include "mematrix.h"
+#include "mematri1.h"
+#endif
+#include "utilities.h"
+
+using namespace std;
+
+unsigned int Nmeasured(char * fname, int nphenocols, int npeople)
+{
+//TODO: unused variables remove them for good if there is no reason to keep them
+//int ncov = nphenocols - 2;
+//int nids_all = npeople;
+
+// first pass -- find unmeasured people
+ std::ifstream infile(fname);
+ if (!infile)
+ {
+ std::cerr << "Nmeasured: cannot open file " << fname << endl;
+ }
+ char tmp[100];
+
+ for (int i = 0; i < nphenocols; i++)
+ {
+ infile >> tmp;
+ }
+
+ unsigned short int * allmeasured = new unsigned short int[npeople];
+ int nids = 0;
+ for (int i = 0; i < npeople; i++)
+ {
+ allmeasured[i] = 1;
+ infile >> tmp;
+ for (int j = 1; j < nphenocols; j++)
+ {
+ infile >> tmp;
+ if (tmp[0] == 'N' || tmp[0] == 'n')
+ allmeasured[i] = 0;
+ }
+ if (allmeasured[i] == 1)
+ nids++;
+ }
+ infile.close();
+
+ delete[] allmeasured;
+
+ return (nids);
+}
+
+mlinfo::mlinfo(char * filename, char * mapname)
+{
+ char tmp[100];
+ unsigned int nlin = 0;
+ std::ifstream infile(filename);
+ if (infile.is_open())
+ {
+ while (infile.good())
+ {
+ infile >> tmp;
+ nlin++;
+ }
+ nlin--; // Subtract one, the previous loop added 1 too much
+ } else
+ {
+ std::cerr << "mlinfo: cannot open info file " << filename << endl;
+ exit(1);
+ }
+ infile.close();
+
+ if (nlin % 7)
+ {
+ std::cerr << "mlinfo: number of columns != 7 in " << filename << endl;
+ exit(1);
+ }
+ nsnps = int(nlin / 7) - 1;
+ std::cout << "Number of SNPs = " << nsnps << endl;
+ name = new std::string[nsnps];
+ A1 = new std::string[nsnps];
+ A2 = new std::string[nsnps];
+ Freq1 = new double[nsnps];
+ MAF = new double[nsnps];
+ Quality = new double[nsnps];
+ Rsq = new double[nsnps];
+ map = new std::string[nsnps];
+
+ infile.open(filename);
+ if (!infile)
+ { // file couldn't be opened
+ std::cerr << "mlinfo: cannot open info file " << filename << endl;
+ exit(1);
+ }
+ /* Read the header and discard it */
+ for (int i = 0; i < 7; i++)
+ infile >> tmp;
+
+ for (int i = 0; i < nsnps; i++)
+ {
+ infile >> tmp;
+ name[i] = tmp;
+ infile >> tmp;
+ A1[i] = tmp;
+ infile >> tmp;
+ A2[i] = tmp;
+ infile >> tmp;
+ Freq1[i] = atof(tmp);
+ infile >> tmp;
+ MAF[i] = atof(tmp);
+ infile >> tmp;
+ Quality[i] = atof(tmp);
+ infile >> tmp;
+ Rsq[i] = atof(tmp);
+ map[i] = "-999";
+ }
+ infile.close();
+
+ if (mapname != NULL)
+ {
+ std::ifstream instr(mapname);
+ int BFS = 1000;
+ char line[BFS], tmp[BFS];
+ if (!instr.is_open())
+ {
+ std::cerr << "mlinfo: cannot open map file " << mapname << endl;
+ exit(1);
+ }
+ instr.getline(line, BFS);
+ for (int i = 0; i < nsnps; i++)
+ {
+ instr.getline(line, BFS);
+ std::stringstream line_stream(line);
+ line_stream >> tmp >> map[i];
+ }
+ instr.close();
+ }
+}
+mlinfo::~mlinfo()
+{
+ delete[] mlinfo::name;
+ delete[] mlinfo::A1;
+ delete[] mlinfo::A2;
+ delete[] mlinfo::Freq1;
+ delete[] mlinfo::MAF;
+ delete[] mlinfo::Quality;
+ delete[] mlinfo::Rsq;
+ delete[] mlinfo::map;
+}
+
+//_________________________________________Maksim_start
+
+InvSigma::InvSigma(const char * filename_, phedata * phe) : filename(filename_)
+{
+ npeople = phe->nids;
+ std::ifstream myfile(filename_);
+ char * line = new char[MAXIMUM_PEOPLE_AMOUNT];
+ std::string id;
+
+ matrix.reinit(npeople, npeople);
+
+ // idnames[k], if (allmeasured[i]==1)
+
+ if (myfile.is_open())
+ {
+ double val;
+ unsigned row = 0;
+ while (myfile.getline(line, MAXIMUM_PEOPLE_AMOUNT))
+ {
+ std::stringstream line_stream(line);
+ line_stream >> id;
+
+ if (phe->idnames[row] != id)
+ {
+ std::cerr << "error:in row " << row << " id="
+ << phe->idnames[row]
+ << " in inverse variance matrix but id=" << id
+ << " must be there. Wrong inverse variance matrix"
+ << " (only measured id must be there)\n";
+ exit(1);
+ }
+ unsigned col = 0;
+ while (line_stream >> val)
+ {
+ matrix.put(val, row, col);
+ col++;
+ }
+
+ if (col != npeople)
+ {
+ std::cerr << "error: inv file: Number of columns in row "
+ << row << " equals to " << col
+ << " but number of people is " << npeople << "\n";
+ myfile.close();
+ exit(1);
+ }
+ col = 0;
+ row++;
+ }
+ myfile.close();
+ } else
+ {
+ std::cerr << "error: inv file: cannot open file '"
+ << filename_ << "'\n";
+ }
+
+ delete[] line;
+}
+
+
+InvSigma::~InvSigma()
+{
+}
+
+mematrix<double> & InvSigma::get_matrix(void)
+{
+ return matrix;
+}
+
+//________________________________________Maksim_end
diff --git a/src/data.h b/src/data.h
new file mode 100644
index 0000000..0c9449b
--- /dev/null
+++ b/src/data.h
@@ -0,0 +1,58 @@
+/*
+ * data.h
+ *
+ * Created on: Mar 8, 2012
+ * Author: mkooyman
+ */
+
+#ifndef DATA_H_
+#define DATA_H_
+#include <string>
+
+extern bool is_interaction_excluded;
+
+unsigned int Nmeasured(char * fname, int nphenocols, int npeople);
+#include "phedata.h"
+#include "gendata.h"
+
+class mlinfo {
+public:
+ int nsnps;
+ std::string * name;
+ std::string * A1;
+ std::string * A2;
+ double * Freq1;
+ double * MAF;
+ double * Quality;
+ double * Rsq;
+ std::string * map;
+ mlinfo()
+ {
+ Freq1 = NULL;
+ MAF = NULL;
+ Quality = NULL;
+ Rsq = NULL;
+ nsnps = 0;
+ A1 = NULL;
+ A2 = NULL;
+ name = NULL;
+ map = NULL;
+ }
+ mlinfo(char * filename, char * mapname);
+ ~mlinfo();
+};
+
+class InvSigma {
+private:
+ static const unsigned MAXIMUM_PEOPLE_AMOUNT = 1000000;
+ unsigned int npeople; /* number of people */
+ std::string filename;
+ mematrix<double> matrix; /* file is stored here */
+
+public:
+ InvSigma(const char * filename_, phedata * phe);
+ mematrix<double> & get_matrix();
+ ~InvSigma();
+};
+
+#endif /* DATA_H_ */
diff --git a/src/dmatrix.c b/src/dmatrix.c
new file mode 100644
index 0000000..ce7e8ec
--- /dev/null
+++ b/src/dmatrix.c
@@ -0,0 +1,19 @@
+/* SCCS @(#)dmatrix.c 5.2 10/27/98
+** set up ragged arrays, with #of columns and #of rows
+*/
+#include "survS.h"
+#include "survproto.h"
+
+double **dmatrix(double *array, int ncol, int nrow)
+ {
+ register int i;
+ register double **pointer;
+
+// pointer = (double **) ALLOC(nrow, sizeof(double *));
+ pointer = (double **) malloc(nrow*sizeof(double *));
+ for (i=0; i<nrow; i++) {
+ pointer[i] = array;
+ array += ncol;
+ }
+ return(pointer);
+ }
diff --git a/src/eigen_mematrix.cpp b/src/eigen_mematrix.cpp
new file mode 100644
index 0000000..2affde1
--- /dev/null
+++ b/src/eigen_mematrix.cpp
@@ -0,0 +1,410 @@
+#ifndef EIGEN_MEMATRI1_H
+#define EIGEN_MEMATRI1_H
+#include "eigen_mematrix.h"
+#include <iostream>
+#include <string>
+#include <cstdarg>
+#include <cstdio>
+#include <cstdlib>
+
+using namespace Eigen;
+//
+// constructors
+//
+
+template<class DT>
+mematrix<DT>::mematrix(int nr, int nc)
+{
+ if (nr <= 0)
+ {
+ std::cerr << "mematrix(): nr <= 0\n";
+ exit(1);
+ }
+ if (nc <= 0)
+ {
+ std::cerr << "mematrix(): nc <= 0\n";
+ exit(1);
+ }
+ this->nrow = nr;
+ this->ncol = nc;
+ this->nelements = nr * nc;
+ this->data.resize(nr, nc);
+}
+
+template<class DT>
+mematrix<DT>::mematrix(const mematrix<DT> & M)
+{
+ ncol = M.ncol;
+ nrow = M.nrow;
+ nelements = M.nelements;
+ data = M.data;
+}
+
+//
+// operators
+//
+template<class DT>
+mematrix<DT> &mematrix<DT>::operator=(const mematrix<DT> &M)
+{
+ if (this != &M)
+ {
+ ncol = M.ncol;
+ nrow = M.nrow;
+ nelements = M.nelements;
+ data = M.data;
+ }
+ return *this;
+}
+
+template<class DT>
+DT & mematrix<DT>::operator[](const int i)
+{
+ if (i < 0 || i >= (ncol * nrow))
+ {
+ std::cerr << "mematrix[]: " << i << " out of bounds (0,"
+ << nrow * ncol - 1 << ")\n";
+ exit(1);
+ }
+ int column = i % ncol;
+ int row = (int) floor((double) i / ncol);
+
+ return data(row, column);
+}
+
+//template<class DT>
+//mematrix<DT> mematrix<DT>::operator+(DT toadd)
+//{
+// mematrix<DT> temp(nrow, ncol);
+// for (int i = 0; i < nelements; i++)
+// temp.data[i] = data[i] + toadd;
+// return temp;
+//}
+
+template<class DT>
+mematrix<DT> mematrix<DT>::operator+(const mematrix<DT> &M)
+{
+ if (ncol != M.ncol || nrow != M.nrow)
+ {
+ std::cerr << "mematrix+: matrices not equal in size ("
+ << nrow << "," << ncol << ") and ("
+ << M.nrow << "," << M.ncol << ")\n";
+ exit(1);
+ }
+ mematrix<DT> temp;
+ temp.data = data + M.data;
+ temp.ncol = data.cols();
+ temp.nrow = data.rows();
+ temp.nelements = temp.nrow * temp.ncol;
+
+ return temp;
+}
+
+template<class DT>
+mematrix<DT> mematrix<DT>::operator-(const DT toadd)
+{
+ mematrix<DT> temp(nrow, ncol);
+ temp.data = data.array() - toadd;
+ return temp;
+}
+
+template<class DT>
+mematrix<DT> mematrix<DT>::operator-(const mematrix<DT> &M)
+{
+ if (ncol != M.ncol || nrow != M.nrow)
+ {
+ std::cerr << "mematrix-: matrices not equal in size ("
+ << nrow << "," << ncol << ") and ("
+ << M.nrow << "," << M.ncol << ")\n";
+ exit(1);
+ }
+ mematrix<DT> temp;
+ temp.data = data - M.data;
+ temp.ncol = temp.data.cols();
+ temp.nrow = temp.data.rows();
+ temp.nelements = temp.nrow * temp.ncol;
+ return temp;
+}
+
+template<class DT>
+mematrix<DT> mematrix<DT>::operator*(DT multiplyer)
+{
+// MatrixXd add = MatrixXd::Constant(nrow, ncol, toadd);
+ mematrix<DT> temp(nrow, ncol);
+ temp.data = data * multiplyer;
+ return temp;
+}
+
+template<class DT>
+mematrix<DT> mematrix<DT>::operator*(const mematrix<DT> &M)
+{
+ if (ncol != M.nrow)
+ {
+ std::cerr << "mematrix*: ncol != nrow (" << nrow << ","
+ << ncol << ") and (" << M.nrow << "," << M.ncol << ")\n";
+ }
+
+ mematrix<DT> temp;
+ temp.data = data * M.data;
+ temp.ncol = temp.data.cols();
+ temp.nrow = temp.data.rows();
+ temp.nelements = temp.nrow * temp.ncol;
+ // std::cerr << "mematrix*: (" << nrow << "," << ncol << ") and ("
+ // << M.nrow << "," << M.ncol << "): result"
+ // << temp.nrow * temp.ncol << "\n";
+ // std::cout.flush();
+
+ return temp;
+}
+
+template<class DT>
+mematrix<DT> mematrix<DT>::operator*(const mematrix<DT> *M)
+{
+ if (ncol != M->nrow)
+ {
+ std::cerr << "mematrix*: ncol != nrow (" << nrow << "," << ncol
+ << ") and (" << M->nrow << "," << M->ncol <<")\n";
+ }
+ mematrix<DT> temp;
+ temp.data = data * M->data;
+ temp.ncol = temp.data.cols();
+ temp.nrow = temp.data.rows();
+ temp.nelements = temp.nrow * temp.ncol;
+// std::cerr << "mematrix*: (%d,%d) and (%d,%d):result%d\n", nrow,
+// ncol, M->nrow, M->ncol,temp.nrow * temp.ncol);
+
+ return temp;
+}
+
+//
+// operations
+//
+template<class DT>
+void mematrix<DT>::reinit(int nr, int nc)
+{
+// if (nelements > 0)
+// delete[] data;
+ if (nr <= 0)
+ {
+ std::cerr << "mematrix(): number of rows smaller then 1\n";
+ exit(1);
+ }
+ if (nc <= 0)
+ {
+ std::cerr << "mematrix(): number of columns smaller then 1\n";
+ exit(1);
+ }
+ nrow = nr;
+ ncol = nc;
+ nelements = nr * nc;
+// std::cout << "[DEBUG] resizing" << std::endl;
+
+ data.resize(nr, nc);
+ data.setZero();
+}
+
+template<class DT>
+DT mematrix<DT>::get(int nr, int nc)
+{
+#ifndef NDEBUG
+ if (nc < 0 || nc > ncol -1)
+ {
+ std::cerr << "mematrix::get: column out of range: " << nc + 1
+ << " not between (1," << ncol << ")\n" << std::flush;
+ exit(1);
+ }
+ if (nr < 0 || nr > nrow -1)
+ {
+ std::cerr << "mematrix::get: row out of range: " << nr + 1
+ << " not between (1," << nrow << ")\n" << std::flush;
+ exit(1);
+ }
+#endif
+ DT temp = data(nr, nc);
+ return temp;
+}
+
+template<class DT>
+void mematrix<DT>::put(DT value, int nr, int nc)
+{
+#ifndef NDEBUG
+ if (nc < 0 || nc > ncol -1)
+ {
+ std::cerr << "mematrix::put: column out of range: " << nc + 1
+ << " not between (1," << ncol << ")\n" << std::flush;
+ exit(1);
+ }
+ if (nr < 0 || nr > nrow -1)
+ {
+ std::cerr << "mematrix::put: row out of range: " << nr + 1
+ << " not between (1," << nrow << ")\n" << std::flush;
+ exit(1);
+ }
+#endif
+ data(nr, nc) = value;
+}
+
+template<class DT>
+DT mematrix<DT>::column_mean(int nc)
+{
+ if (nc >= ncol || nc < 0)
+ {
+ std::cerr << "colmM bad column\n";
+ exit(1);
+ }
+
+ return data.col(nc).mean();;
+}
+
+template<class DT>
+mematrix<DT> column_sum(const mematrix<DT> &M)
+{
+ mematrix<DT> out;
+ out.reinit(1, M.ncol);
+ out.data = M.data.colwise().mean();
+ return out;
+}
+
+template<class DT>
+void mematrix<DT>::print(void)
+{
+ std::cout << "nrow=" << nrow << "; ncol=" << ncol
+ << "; nelements=" << nelements << "\n";
+ for (int i = 0; i < nrow; i++)
+ {
+ std:: cout << "nr=" << i << ":\t";
+ for (int j = 0; j < ncol; j++)
+ {
+ printf("%1.9e\t", data.data()[i * ncol + j]);
+ }
+ std::cout << "\n";
+ }
+}
+
+//
+// other functions
+//
+template<class DT>
+mematrix<DT> transpose(const mematrix<DT> &M)
+{
+ // cout << "[DEBUG TRANSPOSE PRE]nrow=" << M.nrow << "; ncol="
+ // << M.ncol << "; nelements=" << M.nelements;
+
+ mematrix<DT> temp;
+ temp.data = M.data.transpose();
+ temp.ncol = M.nrow;
+ temp.nrow = M.ncol;
+ temp.nelements = M.nelements;
+ // cout << "[DEBUG TRANSPOSE post]nrow=" << temp.nrow << "; ncol="
+ // << temp.ncol << "; nelements=" << temp.nelements;
+
+ return temp;
+}
+
+template<class DT>
+mematrix<DT> reorder(const mematrix<DT> &M, const mematrix<int> order)
+{
+ if (M.nrow != order.nrow)
+ {
+ std::cerr << "reorder: M & order have different # of rows\n";
+ exit(1);
+ }
+ mematrix<DT> temp(M.nrow, M.ncol);
+ int source;
+ for (int i = 0; i < temp.nrow; i++)
+ {
+ source = order.data(i, 0);
+ temp.data.row(source) = M.data.row(i);
+ }
+ return temp;
+}
+
+//template<class DT>
+//mematrix<double> todouble(mematrix<DT> &M)
+//{
+// mematrix<double> temp(M.nrow, M.ncol);
+// for (int i = 0; i < temp.nelements; i++)
+// temp.data[i] = double(M.data[i]);
+// return temp;
+//}
+
+template<class DT>
+mematrix<DT> invert(const mematrix<DT> &M)
+{
+ if (M.ncol != M.nrow)
+ {
+ std::cerr << "invert: only square matrices possible\n";
+ exit(1);
+ }
+
+ mematrix<DT> temp = M;
+
+ temp.data = temp.data.inverse();
+ return temp;
+}
+
+template<class DT>
+mematrix<DT> productMatrDiag(const mematrix<DT> &M, const mematrix<DT> &D)
+{
+ //multiply all rows of M by value of first row of D
+ if (M.ncol != D.nrow)
+ {
+ std::cerr << "productMatrDiag: wrong dimensions";
+ exit(1);
+ }
+ mematrix<DT> temp = M;
+ //make a array of the first row of D in the same way orientation as M.data.row(i).array()
+ Array<DT, Dynamic, Dynamic> row = D.data.block(0, 0, M.ncol, 1).transpose();
+
+ for (int i = 0; i < temp.nrow; i++)
+ {
+ temp.data.row(i) = M.data.row(i).array() * row;
+ }
+ return temp;
+}
+
+
+template<class DT>
+void mematrix<DT>::delete_column(const int delcol)
+{
+ if (delcol > ncol || delcol < 0)
+ {
+ fprintf(stderr, "mematrix::delete_column: column out of range\n");
+ exit(1);
+ }
+
+ MatrixXd auxdata = data;
+ data.resize(data.rows(), data.cols()-1);
+
+ int rightColsSize = auxdata.cols() - delcol - 1;
+
+ data.leftCols(delcol) = auxdata.leftCols(delcol);
+ data.rightCols(rightColsSize) = auxdata.rightCols(rightColsSize);
+
+ ncol--;
+}
+
+
+template<class DT>
+void mematrix<DT>::delete_row(const int delrow)
+{
+ if (delrow > nrow || delrow < 0)
+ {
+ fprintf(stderr, "mematrix::delete_row: row out of range\n");
+ exit(1);
+ }
+
+
+ MatrixXd auxdata = data;
+ data.resize(data.rows()-1, data.cols());
+
+ int bottomRowsSize = auxdata.rows() - delrow - 1;
+
+ data.topRows(delrow) = auxdata.topRows(delrow);
+ data.bottomRows(bottomRowsSize) = auxdata.bottomRows(bottomRowsSize);
+
+ nrow--;
+}
+
+
+
+#endif
diff --git a/src/eigen_mematrix.h b/src/eigen_mematrix.h
new file mode 100644
index 0000000..8987093
--- /dev/null
+++ b/src/eigen_mematrix.h
@@ -0,0 +1,60 @@
+#ifndef __EIGEN_MEMATRIX_H__
+#define __EIGEN_MEMATRIX_H__
+#include <Eigen/Dense>
+#include <Eigen/LU>
+#include <iostream>
+
+using namespace Eigen;
+using namespace std;
+
+template<class DT> class mematrix {
+public:
+ int nrow;
+ int ncol;
+ int nelements;
+ Matrix<DT, Dynamic, Dynamic, RowMajor> data;
+
+ mematrix()
+ {
+ nrow = ncol = nelements = 0;
+ data.resize(1, 1);
+ }
+ mematrix(int nr, int nc);
+ mematrix(const mematrix &M);
+ ~mematrix()
+ {
+// if (nelements > 0)
+// delete data;
+ }
+
+ mematrix & operator=(const mematrix &M);
+ DT & operator[](int i);
+// mematrix operator+(DT toadd);
+ mematrix operator+(const mematrix &M);
+ mematrix operator-(DT toadd);
+ mematrix operator-(const mematrix &M);
+ mematrix operator*(DT toadd);
+ mematrix operator*(const mematrix &M);
+ mematrix operator*(const mematrix *M);
+
+ void delete_column(const int delcol);
+ void delete_row(const int delrow);
+
+ void reinit(int nr, int nc);
+
+ unsigned int getnrow(void)
+ {
+ return nrow;
+ }
+ unsigned int getncol(void)
+ {
+ return ncol;
+ }
+ DT get(int nr, int nc);
+ void put(DT value, int nr, int nc);
+ DT column_mean(int nc);
+ DT column_sum(int nc);
+ void print(void);
+};
+
+#endif
diff --git a/src/extIDS.pl b/src/extIDS.pl
new file mode 100644
index 0000000..057c5fd
--- /dev/null
+++ b/src/extIDS.pl
@@ -0,0 +1,9 @@
+#!/usr/bin/perl
+
+while (<>) {
+ chomp;
+ s/^ +//;
+ @arr = split /\s+/;
+ @arr = split /->/,$arr[0];
+ print "$arr[1] ";
+}
diff --git a/src/extract-snp.cpp b/src/extract-snp.cpp
new file mode 100644
index 0000000..dab38ec
--- /dev/null
+++ b/src/extract-snp.cpp
@@ -0,0 +1,209 @@
+/*******************************************************************************
+ *
+ * This program extracts a given row (dosages for all individuals for a given
+ * SNP) from filevector files.
+ *
+ * (C) 2012 L.C. Karssen
+ *
+ * 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 3 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, see <http://www.gnu.org/licenses/>.
+ *
+ ******************************************************************************/
+
+#include <stdio.h>
+#include <getopt.h>
+#include <string>
+#include <iostream>
+#include <fstream>
+#include <map>
+
+using namespace std;
+
+#include "fvlib/Logger.h"
+#include "fvlib/FileVector.h"
+#include "fvlib/CastUtils.h"
+
+
+void info(char *program_name)
+{
+ cout << program_name
+ << " extracts the dosage for a SNP for one or more individuals from a"
+ << "file in filevector format (.fvi/.fvd)." << endl;
+ cout << endl;
+ cout << "Usage: " << program_name << " --file <fv file> --snp <snpname>"
+ << endl;
+ cout << " or: " << program_name << " -f <fv file> -s <snpname>" << endl;
+ cout << endl;
+ cout << "Additional options:" << endl;
+ cout << "\t--id (-i) <idname>: "
+ << "only print the dosage for the given SNP and ID" << endl;
+ cout << "\t--debug (-d): show debugging output" << endl;
+ cout << "\t--help (-h): show this information" << endl;
+}
+
+
+int main(int argc, char* argv[])
+{
+ if (argc < 2)
+ {
+ info(argv[0]);
+ exit(3);
+ }
+
+ int next_option;
+ const char * const short_options = "df:hi:s:";
+ const struct option long_options [] =
+ {
+ {"debug", 0, NULL, 'd'},
+ {"file", 1, NULL, 'f'},
+ {"help", 0, NULL, 'h'},
+ {"id", 1, NULL, 'i'},
+ {"snp", 1, NULL, 's'},
+ {NULL , 0, NULL, 0 }
+ };
+ char *program_name = argv[0];
+ bool debug = false;
+ string inputFileName = "";
+ string idname = "";
+ string snpname = "";
+ do
+ {
+ next_option = getopt_long(argc, argv, short_options, long_options, NULL);
+ switch (next_option)
+ {
+ case 'h':
+ info(program_name);
+ exit(0);
+ case 'd':
+ debug = true;
+ break;
+ case 'f':
+ inputFileName = string(optarg);
+ break;
+ case 'i':
+ idname = string(optarg);
+ break;
+ case 's':
+ snpname = string(optarg);
+ break;
+ case '?': break;
+ case -1 : break;
+ }
+ }
+ while (next_option != -1);
+
+ if (snpname.compare("") == 0)
+ {
+ cerr << "Error: No SNP name given" << endl << endl;
+ info(program_name);
+ exit(2);
+ }
+
+ unsigned long int snprow = 0;
+ bool snpfound = false;
+ bool idfound = false;
+
+ if (debug) cout << "Input file is '" << inputFileName << "'." << endl;
+
+ FileVector fv(inputFileName, 64, true);
+
+ if (debug)
+ {
+ for (unsigned long int col = 0; col < fv.getNumObservations(); col++)
+ {
+ cout << fv.readObservationName(col).name << " ";
+ }
+
+ cout << endl;
+ cout << "----------------------" << endl;
+ }
+
+ // Look at the SNPs (rows) first
+ for (unsigned long int row = 0; row < fv.getNumVariables(); row++)
+ {
+ string current_snpname = fv.readVariableName(row).name;
+ if (current_snpname.compare(snpname) == 0)
+ {
+ snpfound = true;
+ snprow = row;
+ if (debug)
+ {
+ cout << "*" << current_snpname << "* ";
+ }
+ } else {
+ if (debug)
+ {
+ cout << current_snpname << " ";
+ }
+ }
+ }
+ if (debug)
+ {
+ cout << endl;
+ cout << "----------------------" << endl;
+
+ cout << "N_obs = " << fv.getNumObservations() << "\telement size: "
+ << fv.getElementSize() << "\tDataType: "
+ << dataTypeToString(fv.getElementType()) << endl;
+ }
+
+ if (!snpfound)
+ {
+ cerr << "SNP name '" << snpname << "' not found in data file "
+ << inputFileName << endl;
+ exit(1);
+ }
+
+ char * data = new (nothrow) char[fv.getNumObservations() *
+ fv.getElementSize()];
+ if (!data)
+ {
+ cerr << "Cannot allocate memory for data vector. Exiting..." << endl;
+ exit(2);
+ }
+
+ fv.readVariable(snprow, data);
+ for (unsigned long int col = 0; col < fv.getNumObservations(); col++)
+ {
+ if (idname.compare("") != 0)
+ {
+ // An ID name has been set, only print the dosage for that ID
+ // and SNP combination
+ if (idname.compare(fv.readObservationName(col).name) == 0)
+ {
+ idfound = true;
+ cout << fv.readObservationName(col).name << "\t"
+ << bufToString(fv.getElementType(),
+ &data[col*fv.getElementSize()],
+ string("NA"))
+ << endl;
+ }
+ } else {
+ // Print the dosages for all IDs
+ cout << fv.readObservationName(col).name << "\t"
+ << bufToString(fv.getElementType(),
+ &data[col*fv.getElementSize()],
+ string("NA"))
+ << endl;
+ }
+ }
+
+ if (idfound == false && idname.compare("") != 0)
+ {
+ cerr << "Id '" << idname << "' not found in data file "
+ << inputFileName << endl;
+ exit(1);
+ }
+
+ delete [] data;
+}
diff --git a/src/fvlib/AbstractMatrix.cpp b/src/fvlib/AbstractMatrix.cpp
new file mode 100644
index 0000000..993a4b8
--- /dev/null
+++ b/src/fvlib/AbstractMatrix.cpp
@@ -0,0 +1,20 @@
+#include "AbstractMatrix.h"
+
+set<string> AbstractMatrix::fileNamesOpenForWriting;
+
+void AbstractMatrix::checkOpenForWriting(const string fileName){
+ deepDbg << "checkOpenForWriting("<< fileName << ")" << endl;
+ if (AbstractMatrix::fileNamesOpenForWriting.find(fileName) != fileNamesOpenForWriting.end()) {
+ errorLog << "File " << fileName << " is already opened." << endl;
+ throw 1;
+ } else {
+ AbstractMatrix::fileNamesOpenForWriting.insert(fileName);
+ }
+}
+void AbstractMatrix::closeForWriting(const string fileName){
+ fmDbg << "closeForWriting("<< fileName << ")" << endl;
+ AbstractMatrix::fileNamesOpenForWriting.erase(fileName);
+}
+
+
+
diff --git a/src/fvlib/AbstractMatrix.h b/src/fvlib/AbstractMatrix.h
new file mode 100644
index 0000000..4ff3cb8
--- /dev/null
+++ b/src/fvlib/AbstractMatrix.h
@@ -0,0 +1,130 @@
+#ifndef __AbstractMatrix__
+#define __AbstractMatrix__
+
+#include <string>
+#include <set>
+
+using namespace std;
+
+#include "frutil.h"
+#include "CastUtils.h"
+
+#define WRITE_SPEED_PROPORTION .01
+
+// See filteredMatrix.h for detailed comments
+
+class AbstractMatrix {
+public:
+ virtual ~AbstractMatrix(){};
+
+ template <class DT>
+ void writeVariableAs(unsigned long varIdx, DT * outvec)
+ {
+ char* tmp = new (nothrow) char [getNumObservations()*getElementSize()];
+ if(!tmp)
+ errorLog << "writeVariableAs allocation error" << errorExit;
+ for(unsigned long int i = 0; i< getNumObservations();i++){
+ performCast(&tmp[i*getElementSize()],outvec[i],getElementType(), warningIsShown);
+ }
+ writeVariable(varIdx, tmp);
+ delete[] tmp;
+ }
+
+ template <class DT>
+ void addVariableAs(DT * outvec, string varname)
+ {
+ char* tmp = new (nothrow) char [getNumObservations()*getElementSize()];
+ if(!tmp)
+ errorLog << "add_variable_as allocation error" << errorExit;
+ for(unsigned long int i = 0; i< getNumObservations();i++){
+ performCast(&tmp[i*getElementSize()],outvec[i],getElementType(), warningIsShown);
+ }
+ addVariable (tmp, varname);
+ delete[] tmp;
+ }
+
+ template<class DT>
+ void readVariableAs(unsigned long varIdx, DT * outvec)
+ {
+ char * tmp = new (nothrow) char[getNumObservations()*getElementSize()];
+ readVariable(varIdx, tmp);
+ for(unsigned long int i = 0; i< getNumObservations();i++) {
+ performCast(outvec[i],&tmp[i*getElementSize()],getElementType(),warningIsShown);
+ }
+ delete[] tmp;
+ }
+
+ template<class DT>
+ void readElementAs(unsigned long varNumber, unsigned long obsNumber, DT & element){
+ char *ret= new char [getElementSize()];
+ readElement(varNumber, obsNumber, ret);
+ performCast(element, ret, getElementType(), warningIsShown);
+ delete [] ret;
+ }
+
+ template <class DT>
+ void writeElementAs(unsigned long varNumber, unsigned long obsNumber, DT& element){
+ deepDbg << "AbstractMatrix.writeElementAs(" << varNumber << "," << obsNumber << "," << element <<")";
+ deepDbg << "Alloc getElementSize() = " << getElementSize() << endl;
+ char *ret = new char [getElementSize()];
+ deepDbg << "Perform cast" << endl;
+ performCast(ret, element, getElementType(), warningIsShown);
+ writeElement(varNumber, obsNumber, ret);
+ delete [] ret;
+ }
+
+ virtual string getFileName() = 0;
+
+ virtual unsigned long getNumVariables() = 0;
+ virtual unsigned long getNumObservations() = 0;
+
+ virtual void saveAs( string newFilename ) = 0;
+ virtual void saveVariablesAs( string newFilename, unsigned long nvars, unsigned long * varindexes) = 0;
+ virtual void saveObservationsAs( string newFilename, unsigned long nobss, unsigned long * obsindexes) = 0;
+
+ virtual void saveAs(string newFilename, unsigned long nvars, unsigned long nobss, unsigned long * varindexes, unsigned long * obsindexes) = 0;
+ virtual void saveAsText(string newFilename, bool saveVarNames, bool saveObsNames, string nanString) = 0;
+
+ virtual void readObservation(unsigned long obsIdx, void * outvec) = 0;
+ virtual void writeObservation(unsigned long obsIdx, void * invec) = 0;
+
+ virtual void writeVariableName(unsigned long varIdx, FixedChar newname) = 0; // todo loooong future -- control that name is unique
+ virtual void writeObservationName(unsigned long obsIdx, FixedChar newname)= 0; //todo loooong future -- control that name is unique!
+
+ virtual unsigned long getCacheSizeInMb() = 0;
+ virtual void setCacheSizeInMb( unsigned long cachesizeMb ) = 0;
+
+ virtual FixedChar readObservationName(unsigned long obsIdx) = 0;
+ virtual FixedChar readVariableName(unsigned long varIdx) = 0;
+ virtual void cacheAllNames(bool) = 0;
+
+ virtual void setUpdateNamesOnWrite(bool bUpdate) = 0;
+ virtual short unsigned getElementSize() = 0;
+ virtual short unsigned getElementType() = 0;
+ virtual void readVariable(unsigned long varIdx, void * outvec) = 0;
+ virtual void readElement(unsigned long varIdx, unsigned long obsIdx, void * elem) = 0;
+ virtual void writeVariable(unsigned long varIdx, void * datavec) = 0;
+ virtual void writeElement(unsigned long varIdx, unsigned long obsIdx, void * data) = 0;
+ virtual AbstractMatrix* castToAbstractMatrix() = 0;
+ virtual bool setReadOnly(bool readOnly) = 0;
+
+ static set<string> fileNamesOpenForWriting;
+ static void checkOpenForWriting(const string fileName);
+ static void closeForWriting(const string fileName);
+
+ bool &getWarningIsShown(){ return warningIsShown;}
+private:
+
+ // HIGH -- here I see the possibility to make these functions faster then "random" access functions
+ // adds variable at the end = writeVariable with varIdx=NVARS?
+ // todo loooong future -- control that name is unique!
+ virtual void addVariable(void * invec, string varname) = 0;
+ // virtual void add_observation(void * invec, string obsname) = 0;
+ // write single element
+ // CURRENTLY CACHE IS NOT UPDATED!
+ bool warningIsShown;
+};
+
+#endif
+
+
diff --git a/src/fvlib/CastUtils.cpp b/src/fvlib/CastUtils.cpp
new file mode 100644
index 0000000..161f254
--- /dev/null
+++ b/src/fvlib/CastUtils.cpp
@@ -0,0 +1,207 @@
+#include <map>
+#include <string>
+#include <algorithm>
+#include <cmath>
+
+using namespace std;
+
+#include "frutil.h"
+#include "CastUtils.h"
+
+unsigned short int UNSIGNED_SHORT_INT_NAN;
+short int SHORT_INT_NAN;
+unsigned int UNSIGNED_INT_NAN;
+int INT_NAN;
+char CHAR_NAN;
+unsigned char UNSIGNED_CHAR_NAN;
+char const* parseFormats[9];
+
+int initConsts(){
+ int i;
+ sscanf("32767","%hi",&SHORT_INT_NAN);
+ sscanf("65535","%hu",&UNSIGNED_SHORT_INT_NAN);
+ sscanf("2147483647","%i",&INT_NAN);
+ sscanf("4294967295","%u",&UNSIGNED_INT_NAN);
+ sscanf("127","%i",&i); CHAR_NAN = i;
+ sscanf("255","%u",&i); UNSIGNED_CHAR_NAN = i;
+
+ parseFormats[UNSIGNED_SHORT_INT] = "%hu";
+ parseFormats[SHORT_INT] = "%hd";
+ parseFormats[UNSIGNED_INT] = "%u";
+ parseFormats[INT] = "%d";
+ parseFormats[FLOAT] = "%f";
+ parseFormats[DOUBLE] = "%lf";
+ parseFormats[SIGNED_CHAR] = "%i";
+ parseFormats[UNSIGNED_CHAR] = "%i";
+ return 0;
+}
+
+int dummy = initConsts();
+
+void parseStringToArbType(string s, int destType, void *destData, string nanString) {
+ char const *format = parseFormats[destType];
+
+ int result;
+ // no proper format specifier exists for char
+ if (destType == SIGNED_CHAR || destType == UNSIGNED_CHAR) {
+ int i;
+ result = sscanf(s.c_str(), format, &i);
+ if (nanString == s || result !=1){
+ setNan(destData, destType);
+ return;
+ } else {
+ if (destType == SIGNED_CHAR) *(char*) destData = i;
+ if (destType == UNSIGNED_CHAR) *(unsigned char*) destData = i;
+ }
+
+ } else {
+ result = sscanf(s.c_str(), format, destData);
+ if (nanString == s || result !=1){
+ setNan(destData, destType);
+ return;
+ }
+ }
+}
+
+unsigned short int dataTypeFromString(string type){
+ if (type == "UNSIGNED_SHORT_INT") return 1;
+ if (type == "SHORT_INT") return 2;
+ if (type == "UNSIGNED_INT") return 3;
+ if (type == "INT") return 4;
+ if (type == "FLOAT") return 5;
+ if (type == "DOUBLE") return 6;
+ if (type == "CHAR") return 7;
+ if (type == "UNSIGNED_CHAR") return 8;
+ return 0;
+}
+
+string dataTypeToString(int type){
+ if (type == 1) return "UNSIGNED_SHORT_INT";
+ if (type == 2) return "SHORT_INT";
+ if (type == 3) return "UNSIGNED_INT";
+ if (type == 4) return "INT";
+ if (type == 5) return "FLOAT";
+ if (type == 6) return "DOUBLE";
+ if (type == 7) return "CHAR";
+ if (type == 8) return "UNSIGNED_CHAR";
+ return 0;
+}
+
+string bufToString(short int dataType, char *data, string nanString){
+ char ret[500];
+ switch(dataType){
+ case UNSIGNED_SHORT_INT:
+ sprintf(ret, "%hu", *(unsigned short int*)data);
+ break;
+ case SHORT_INT:
+ sprintf(ret, "%hd", *(short int*)data);
+ break;
+ case UNSIGNED_INT:
+ sprintf(ret, "%u", *(unsigned int*)data);
+ break;
+ case INT:
+ sprintf(ret, "%d", *(int*)data);
+ break;
+ case FLOAT:
+ sprintf(ret, "%f", *(float*)data);
+ break;
+ case DOUBLE: // changed to "%f" from %lf [not ISO C++]
+ sprintf(ret, "%f", *(double*)data);
+ break;
+ case SIGNED_CHAR: // changed to "%f" from %lf [not ISO C++]
+ sprintf(ret, "%d", (int)*(char*)data);
+ break;
+ case UNSIGNED_CHAR: // changed to "%f" from %lf [not ISO C++]
+ sprintf(ret, "%d", (int)*(unsigned char*)data);
+ break;
+ }
+ if (checkNan(data,dataType)) {
+ return nanString;
+ }
+
+ return string(ret);
+}
+
+void setNan(unsigned short int &i){setNan(&i, UNSIGNED_SHORT_INT);}
+void setNan(short int &i){setNan(&i, SHORT_INT);}
+void setNan(unsigned int &i){setNan(&i, UNSIGNED_INT);}
+void setNan(int &i){setNan(&i, INT);}
+void setNan(float &i){setNan(&i, FLOAT);}
+void setNan(double &i){setNan(&i, DOUBLE);}
+void setNan(char &i){setNan(&i, SIGNED_CHAR);}
+void setNan(unsigned char &i){setNan(&i, UNSIGNED_CHAR);}
+
+bool checkNan(unsigned short int i){return checkNan(&i, UNSIGNED_SHORT_INT);}
+bool checkNan(short int i){return checkNan(&i, SHORT_INT);}
+bool checkNan(unsigned int i){return checkNan(&i, UNSIGNED_INT);}
+bool checkNan(int i){return checkNan(&i, INT);}
+bool checkNan(float i){return checkNan(&i, FLOAT);}
+bool checkNan(double i){return checkNan(&i, DOUBLE);}
+bool checkNan(char i){return checkNan(&i, SIGNED_CHAR);}
+bool checkNan(unsigned char i){return checkNan(&i, UNSIGNED_CHAR);}
+
+void setNan(void *data, int dataType){
+ double dZero = 0.;
+ float fZero = 0.;
+ switch (dataType) {
+ case UNSIGNED_SHORT_INT:
+ (*(unsigned short int*) data) = UNSIGNED_SHORT_INT_NAN;
+ break;
+ case SHORT_INT:
+ (*(short int*) data) = SHORT_INT_NAN;
+ break;
+ case UNSIGNED_INT:
+ (*(unsigned int*) data) = UNSIGNED_INT_NAN;
+ break;
+ case INT:
+ (*(int*) data) = INT_NAN;
+ break;
+ case FLOAT:
+ (*(float*) data) = fZero/fZero;
+ break;
+ case DOUBLE:
+ (*(double*) data) = dZero/dZero;
+ break;
+ case SIGNED_CHAR:
+ (*(char*) data) = CHAR_NAN;
+ break;
+ case UNSIGNED_CHAR:
+ (*(unsigned char*) data) = UNSIGNED_CHAR_NAN;
+ break;
+ default:
+ errorLog << "file contains data of unknown type " << dataType << endl << errorExit;
+ }
+}
+
+bool checkNan(void *data, int dataType){
+ switch (dataType) {
+ case UNSIGNED_SHORT_INT:
+ return (*(unsigned short int*) data) == UNSIGNED_SHORT_INT_NAN;
+ case SHORT_INT:
+ return (*(short int*) data) == SHORT_INT_NAN;
+ case UNSIGNED_INT:
+ return (*(unsigned int*) data) == UNSIGNED_INT_NAN;
+ case INT:
+ return (*(int*) data) == INT_NAN;
+ case FLOAT:
+ return isnan(*(float*) data);
+ case DOUBLE:
+ return isnan(*(double*) data);
+ case UNSIGNED_CHAR:
+ return (*(unsigned char*) data) == UNSIGNED_CHAR_NAN;
+ case SIGNED_CHAR:
+ return (*(char*) data) == CHAR_NAN;
+ default:
+ errorLog << "file contains data of unknown type " << dataType << endl << errorExit;
+ return false;
+ }
+}
+
+int getDataType(unsigned short int){return UNSIGNED_SHORT_INT;}
+int getDataType(short int){return SHORT_INT;}
+int getDataType(unsigned int){return UNSIGNED_INT;}
+int getDataType(int){return INT;}
+int getDataType(float){return FLOAT;}
+int getDataType(double){return DOUBLE;}
+int getDataType(char){return SIGNED_CHAR;}
+int getDataType(unsigned char){return UNSIGNED_CHAR;}
diff --git a/src/fvlib/CastUtils.h b/src/fvlib/CastUtils.h
new file mode 100644
index 0000000..1826bcc
--- /dev/null
+++ b/src/fvlib/CastUtils.h
@@ -0,0 +1,124 @@
+#ifndef __CastUtils__
+#define __CastUtils__
+
+// these copy-pastes are for template support
+void setNan(unsigned short int &i);
+void setNan(short int &i);
+void setNan(unsigned int &i);
+void setNan(int &i);
+void setNan(float &i);
+void setNan(double &i);
+
+bool checkNan(unsigned short int i);
+bool checkNan(short int i);
+bool checkNan(unsigned int i);
+bool checkNan(int i);
+bool checkNan(float i);
+bool checkNan(double i);
+
+string dataTypeToString(int type);
+int getDataType(unsigned short int);
+int getDataType(short int);
+int getDataType(unsigned int);
+int getDataType(int);
+int getDataType(float);
+int getDataType(double);
+
+bool checkNan(void *data, int dataType);
+void setNan(void *data, int dataType);
+
+extern unsigned short int UNSIGNED_SHORT_INT_NAN;
+extern short int SHORT_INT_NAN;
+extern unsigned int UNSIGNED_INT_NAN;
+extern int INT_NAN;
+extern char CHAR_NAN;
+extern unsigned char UNSIGNED_CHAR_NAN;
+
+
+#define COPY_AND_COMPARE(dest,src,warningIsShown) \
+ dest=src; \
+ if(warningIsShown == false && (dest!=src || checkNan(dest) != checkNan(src))) \
+ { \
+ errorLog << "Loss of precision / loss of data during conversion from "; \
+ errorLog << dataTypeToString(getDataType(src)) << " to "; \
+ errorLog << dataTypeToString(getDataType(dest)) << "." << endl; \
+ errorLog << "Futher conversion warnings omitted." << endl; \
+ warningIsShown = true; \
+ }
+
+template <class DT> void performCast(DT &dest, void*src, int srcType, bool &warningIsShown) {
+ if (checkNan(src,srcType)){
+ setNan(dest);
+ return;
+ }
+ switch (srcType) {
+ case UNSIGNED_SHORT_INT:
+ COPY_AND_COMPARE(dest, (DT)*((unsigned short int*) src), warningIsShown);
+ break;
+ case SHORT_INT:
+ COPY_AND_COMPARE(dest, (DT)*((short int*) src), warningIsShown);
+ break;
+ case UNSIGNED_INT:
+ COPY_AND_COMPARE(dest, (DT)*((unsigned int*) src), warningIsShown);
+ break;
+ case INT:
+ COPY_AND_COMPARE(dest, (DT)*((int*) src), warningIsShown);
+ break;
+ case FLOAT:
+ COPY_AND_COMPARE(dest, (DT)*((float*) src), warningIsShown);
+ break;
+ case DOUBLE:
+ COPY_AND_COMPARE(dest, (DT)*((double*) src), warningIsShown);
+ break;
+ case SIGNED_CHAR:
+ COPY_AND_COMPARE(dest, (DT)*((char*) src), warningIsShown);
+ break;
+ case UNSIGNED_CHAR:
+ COPY_AND_COMPARE(dest, (DT)*((unsigned char*) src), warningIsShown);
+ break;
+ default:
+ errorLog << "file contains data of unknown type " << srcType << endl << errorExit;
+ }
+}
+
+
+template <class DT> void performCast(void*dest, DT&src, int destType, bool &warningIsShown) {
+ if (checkNan(src)){
+ setNan(dest,destType);
+ return;
+ }
+ switch (destType) {
+ case UNSIGNED_SHORT_INT:
+ COPY_AND_COMPARE(*((unsigned short int*)dest), src, warningIsShown);
+ break;
+ case SHORT_INT:
+ COPY_AND_COMPARE(*((short int*)dest), src, warningIsShown);
+ break;
+ case UNSIGNED_INT:
+ COPY_AND_COMPARE(*((unsigned int*)dest), src, warningIsShown);
+ break;
+ case INT:
+ COPY_AND_COMPARE(*((int*)dest), src, warningIsShown);
+ break;
+ case FLOAT:
+ COPY_AND_COMPARE(*((float*)dest), src, warningIsShown);
+ break;
+ case DOUBLE:
+ COPY_AND_COMPARE(*((double*)dest), src, warningIsShown);
+ break;
+ case SIGNED_CHAR:
+ COPY_AND_COMPARE(*((char*)dest), src, warningIsShown);
+ break;
+ case UNSIGNED_CHAR:
+ COPY_AND_COMPARE(*((unsigned char*)dest), src, warningIsShown);
+ break;
+ default:
+ errorLog << "file contains data of unknown type " << destType << endl << errorExit;
+ }
+}
+
+void parseStringToArbType(string s, int destType, void *destData, string nanString);
+unsigned short int dataTypeFromString(string type);
+string bufToString(short int dataType, char *data, string nanString);
+
+#endif
diff --git a/src/fvlib/FileVector.cpp b/src/fvlib/FileVector.cpp
new file mode 100644
index 0000000..004b8fe
--- /dev/null
+++ b/src/fvlib/FileVector.cpp
@@ -0,0 +1,721 @@
+#include <sys/stat.h>
+#include <string.h>
+#include <iostream>
+
+using namespace std;
+
+#include "FileVector.h"
+#include "frutil.h"
+
+void FileVector::saveIndexFile() {
+
+ if (readOnly)
+ return;
+
+ indexFile.fseek(0);
+ indexFile.blockWriteOrRead(sizeof(fileHeader),(char*)&fileHeader, true);
+ indexFile.fseek(sizeof(fileHeader));
+
+ if (observationNames && variableNames) {
+ indexFile.blockWriteOrRead(sizeof(FixedChar)*fileHeader.numObservations,(char*)observationNames,true);
+ indexFile.fseek(sizeof(fileHeader)+sizeof(FixedChar)*fileHeader.numObservations);
+ indexFile.blockWriteOrRead(sizeof(FixedChar)*fileHeader.numVariables,(char*)variableNames,true);
+ }
+}
+
+void FileVector::deInitialize(){
+ saveIndexFile();
+ delete [] cacheBuffer;
+ cacheBuffer = 0;
+ delete [] observationNames;
+ observationNames = 0;
+ delete [] variableNames;
+ variableNames = 0;
+ indexFile.close();
+ dataFile.close();
+ AbstractMatrix::closeForWriting(filename);
+}
+
+FileVector::~FileVector() {
+ deInitialize();
+}
+
+void FileVector::initialize(unsigned long cachesizeMb) {
+ //Rprintf("initialize, open file %s\n",filename.c_str());
+ dbg << "Opening FileVector '" << filename.c_str() <<"'."<< endl;
+
+ if (!readOnly) {
+ AbstractMatrix::checkOpenForWriting(filename);
+ }
+
+ indexFilename = extract_base_file_name(filename) + FILEVECTOR_INDEX_FILE_SUFFIX;
+ dataFilename = extract_base_file_name(filename) + FILEVECTOR_DATA_FILE_SUFFIX;
+
+ if(!file_exists(indexFilename)) {
+ errorLog <<"Index file not exists: " << indexFilename << endl << errorExit;
+ }
+
+ dataFilename = extract_base_file_name(filename) + FILEVECTOR_DATA_FILE_SUFFIX;
+ if(!file_exists(dataFilename))
+ errorLog <<"Data file not exists: " << dataFilename.c_str() << endl <<errorExit;
+
+ struct stat data_filestatus;
+ stat(dataFilename.c_str(), &data_filestatus);
+
+ struct stat index_filestatus;
+ stat(indexFilename.c_str(), &index_filestatus);
+
+ indexFile = ReusableFileHandle::getHandle(indexFilename, readOnly);
+
+ if (!indexFile) {
+ errorLog << "Opening file "<< indexFilename <<" for write & read failed\n" << errorExit;
+ }
+
+ dataFile = ReusableFileHandle::getHandle(dataFilename, readOnly);
+
+ if (!dataFile) {
+ errorLog << "Opening file "<< dataFilename << " for write & read failed\n" << errorExit;
+ }
+
+ indexFile.blockWriteOrRead(sizeof(fileHeader),(char*)&fileHeader, false);
+ if (!indexFile){
+ errorLog << "Failed to read datainfo from file:" << indexFilename << endl;
+ }
+
+ // some integrity checks
+ if (getElementSize() != fileHeader.bytesPerRecord) {
+ errorLog << "System data type size ("<<getElementSize();
+ errorLog <<") and file data type size ("<<fileHeader.bytesPerRecord<<") do not match.\n";
+ }
+
+ //!!! nelements should actually be long to ensure !!!
+ if (fileHeader.nelements != (fileHeader.numObservations*fileHeader.numVariables)) {
+ errorLog << "Number of variables ("<<fileHeader.numVariables;
+ errorLog << ") and observations ("<<fileHeader.numObservations<<") do not multiply to nelements";
+ errorLog << "("<< fileHeader.nelements<<") (file integrity issue?)\n";
+ errorLog << errorExit;
+ }
+
+ if ((fileHeader.bytesPerRecord != (fileHeader.bitsPerRecord/8)) ||
+ ((fileHeader.bitsPerRecord % 8) != 0) || (fileHeader.bitsPerRecord < 8)) {
+ errorLog << "Size in bytes/bits do not match or bit-size of char !=8 or ";
+ errorLog << "non-byte recods (file integrity issue?)" << errorExit;
+ }
+
+ unsigned long indexSize = sizeof(fileHeader) + sizeof(FixedChar)*(fileHeader.numVariables+fileHeader.numObservations);
+ if(indexSize != (unsigned long) index_filestatus.st_size) {
+ errorLog << "Index file "<<indexFilename<<" size(" << (int) index_filestatus.st_size << ") differs from the expected(";
+ errorLog << indexSize <<")" << endl << errorExit;
+ }
+
+ // temp fix because nelements is not yet long ... !!!
+ // unsigned long estimated_size = data_type.bytes_per_record*data_type.nelements + headerSize;
+ unsigned long estimated_size =
+ (unsigned long) fileHeader.bytesPerRecord *
+ (unsigned long) fileHeader.numVariables *
+ (unsigned long) fileHeader.numObservations;
+
+ if (estimated_size != (unsigned long) data_filestatus.st_size) {
+ errorLog << "Data file size (" << (int) data_filestatus.st_size;
+ errorLog << ") differs from the expected ("<<estimated_size<<")"<<endl<<" [";
+ errorLog << fileHeader.numVariables<<","<<fileHeader.numObservations<<"]" << endl;
+ errorLog << errorExit;
+ }
+
+ variableNames = 0;
+ observationNames = 0;
+
+ setCacheSizeInMb(cachesizeMb);
+ updateCache(0);
+ dbg << "Filevector " << filename << " opened." << endl;
+}
+
+// read in variable and observation names
+void FileVector::readNames() {
+ if (variableNames) delete[]variableNames;
+ if (observationNames) delete[]observationNames;
+
+ variableNames = new (nothrow) FixedChar [fileHeader.numVariables];
+ if (!variableNames) errorLog << "can not get RAM for variable names" << errorExit;
+ observationNames = new (nothrow) FixedChar [fileHeader.numObservations];
+ if (!observationNames) errorLog << "can not get RAM for observation names" << errorExit;
+
+ indexFile.fseek(sizeof(fileHeader));
+ for (unsigned long i=0;i<fileHeader.numObservations;i++)
+ indexFile.blockWriteOrRead(sizeof(FixedChar), (char*)(observationNames+i), false);
+ for (unsigned long i=0;i<fileHeader.numVariables;i++)
+ indexFile.blockWriteOrRead(sizeof(FixedChar), (char*)(variableNames+i), false);
+}
+
+unsigned long FileVector::getCacheSizeInMb() {
+ return cache_size_Mb;
+}
+
+void FileVector::setCacheSizeInMb( unsigned long cachesizeMb ) {
+ // figure out cache size
+ cache_size_Mb = cachesizeMb;
+ cache_size_nvars = (unsigned long) 1024*1024*cache_size_Mb/(fileHeader.numObservations*fileHeader.bytesPerRecord);
+ if (cache_size_nvars<1) {
+ cache_size_Mb = (unsigned long) ceil(
+ (float) fileHeader.numObservations*fileHeader.bytesPerRecord/(1024.*1024.)
+ );
+ cache_size_nvars = 1;
+ } else if (cache_size_nvars>fileHeader.numVariables) {
+ cache_size_Mb = (unsigned long) ceil(
+ (float) fileHeader.numVariables*fileHeader.numObservations*fileHeader.bytesPerRecord/(1024.*1024.)
+ );
+ cache_size_nvars = fileHeader.numVariables;
+ }
+ cache_size_bytes = cache_size_nvars*fileHeader.bytesPerRecord*fileHeader.numObservations*sizeof(char);
+
+ //free previously allocated memory
+ if(cacheBuffer !=0 )
+ delete []cacheBuffer;
+ // get memory for the cache
+ cacheBuffer = new (nothrow) char [cache_size_bytes];
+ if (!cacheBuffer)
+ errorLog << "failed to get memory for cache" << endl << errorExit;
+ max_buffer_size_bytes = INT_MAX;
+
+ //don't read cache after resizing,
+ //it will be updated on next read operation from desired position
+ cacheBegin = 1;
+ cacheEnd = 0;
+}
+
+void FileVector::calcCachePos(unsigned long newCenterPos, unsigned long &cacheBeginRef, unsigned long &cacheEndRef){
+ if (cache_size_nvars == getNumVariables()) {
+ cacheBeginRef = 0;
+ cacheEndRef = getNumVariables();
+ return;
+ }
+
+ cacheBeginRef = newCenterPos - cache_size_nvars/2;
+ cacheEndRef = cacheBeginRef + cache_size_nvars;
+
+ //cacheBeginRef < 0 ?
+ if (newCenterPos < cache_size_nvars/2) {
+ cacheBeginRef = 0;
+ cacheEndRef = cacheBeginRef + cache_size_nvars;
+ return;
+ }
+
+ if (cacheEndRef > getNumVariables()){
+ cacheEndRef = getNumVariables();
+ cacheBeginRef = cacheEndRef - cache_size_nvars;
+ }
+}
+
+void FileVector::updateCache(unsigned long varIdx) {
+ // first load ?
+ if (cacheEnd==0 && cacheBegin==1){
+ calcCachePos(varIdx, cacheBegin, cacheEnd);
+ dataFile.fseek(cacheBegin);
+ dbg << "First time cache load." << endl;
+ dataFile.blockWriteOrRead(cache_size_bytes, cacheBuffer, false);
+ if (!dataFile){
+ errorLog << "Inner error reading file."<< endl << errorExit;
+ }
+ return;
+ }
+
+ if (getNumObservations() == 0) {
+ return;
+ }
+
+ unsigned long currentCenter = (cacheEnd + cacheBegin) / 2;
+ unsigned long newCenter = varIdx;
+
+ unsigned long diffBetweenCenters;
+
+ if (currentCenter>newCenter){
+ diffBetweenCenters = currentCenter - newCenter;
+ } else {
+ diffBetweenCenters = newCenter - currentCenter;
+ }
+
+ if (diffBetweenCenters < cache_size_nvars/4 ){
+ // no need to update cache
+ return;
+ }
+
+ unsigned long newCacheBegin;
+ unsigned long newCacheEnd;
+
+ calcCachePos(newCenter, newCacheBegin, newCacheEnd);
+
+ // update cache ?
+ if (newCacheBegin == cacheBegin) {
+ return;
+ }
+
+ unsigned long oldPos;
+ unsigned long newPos;
+ unsigned long loadPos;
+ unsigned long inMemLoadPos;
+ unsigned long hddReadSize;
+ unsigned long memMoveSize;
+
+ if (newCacheBegin > cacheBegin){
+ oldPos = newCacheBegin - cacheBegin;
+ newPos = 0;
+ loadPos = max(newCacheBegin, cacheEnd);
+ inMemLoadPos = max(newCacheBegin, cacheEnd) - newCacheBegin;
+ hddReadSize = min(newCacheBegin, cacheEnd ) - cacheBegin;
+ } else {
+ oldPos = 0;
+ newPos = cacheBegin - newCacheBegin;
+ loadPos = newCacheBegin;
+ inMemLoadPos = 0;
+ hddReadSize = min(newCacheEnd, cacheBegin) - newCacheBegin;
+ }
+
+ memMoveSize = cache_size_nvars - hddReadSize;
+
+ if (memMoveSize>0){
+ memmove(cacheBuffer + newPos * getElementSize() * getNumObservations(), cacheBuffer + oldPos * getElementSize() * getNumObservations(), memMoveSize * getElementSize() * getNumObservations());
+ }
+
+ dataFile.fseek(loadPos * getElementSize() * getNumObservations());
+ dataFile.blockWriteOrRead( hddReadSize* getElementSize() * getNumObservations(), cacheBuffer+inMemLoadPos* getElementSize() * getNumObservations(), false);
+ if (!dataFile){
+ errorLog << "Inner error reading file."<< endl << errorExit;
+ }
+
+ cacheBegin = newCacheBegin;
+ cacheEnd = newCacheEnd;
+}
+
+void FileVector::setUpdateNamesOnWrite(bool bUpdate) {
+ updateNamesOnWrite = bUpdate;
+}
+
+void FileVector::cacheAllNames(bool doCache) {
+ if (doCache) {
+ if (variableNames || observationNames) {
+ dbg << "FileVector.cacheAllNames(true) called while variable names are already cached." << endl;
+ return;
+ }
+ readNames();
+ } else {
+ if (variableNames) {
+ delete[] variableNames;
+ variableNames = 0;
+ }
+ if (observationNames) {
+ delete [] observationNames;
+ observationNames = 0;
+ }
+ }
+}
+
+void FileVector::writeVariableName(unsigned long varIdx, FixedChar name) {
+ if (varIdx >= fileHeader.numVariables) {
+ errorLog << "Trying to set name of obs out of range (" << varIdx << ")\n\n" << endl << errorExit;
+ }
+ if ((updateNamesOnWrite||variableNames == 0)&&!readOnly){
+ indexFile.fseek(sizeof(fileHeader) + sizeof(FixedChar)*(varIdx + fileHeader.numObservations));
+ indexFile.blockWriteOrRead(sizeof(FixedChar),(char*)&name, true);
+ indexFile.flush();
+ }
+ if (variableNames) {
+ variableNames[varIdx] = name;
+ }
+}
+
+void FileVector::writeObservationName(unsigned long obsIdx, FixedChar name) {
+ if (obsIdx >= fileHeader.numObservations) {
+ errorLog << "Trying to set name of vars out of range (" << obsIdx << ")\n\n" << endl << errorExit;
+ }
+ if ((updateNamesOnWrite || observationNames == 0)&&!readOnly){
+ indexFile.fseek(sizeof(fileHeader) + sizeof(FixedChar)*(obsIdx));
+ indexFile.blockWriteOrRead(sizeof(FixedChar),(char*)&name, true);
+ indexFile.flush();
+ }
+ if (observationNames) {
+ observationNames[obsIdx] = name;
+ }
+}
+
+FixedChar FileVector::readVariableName(unsigned long varIdx) {
+ if (varIdx>=fileHeader.numVariables) {
+ errorLog << "trying to get name of var out of range" << errorExit;
+ }
+
+ if (!variableNames) {
+ FixedChar ret;
+ indexFile.fseek(sizeof(fileHeader) + sizeof(FixedChar)*(varIdx+fileHeader.numObservations));
+ indexFile.blockWriteOrRead(sizeof(FixedChar),(char*)&ret, false);
+ return ret;
+ }
+
+ return variableNames[varIdx];
+}
+
+FixedChar FileVector::readObservationName(unsigned long obsIdx) {
+ if (obsIdx >= fileHeader.numObservations) {
+ errorLog << "trying to get name of obs out of range" << errorExit;
+ }
+
+ if (!observationNames) {
+ FixedChar ret;
+ indexFile.fseek(sizeof(fileHeader) + sizeof(FixedChar)*(obsIdx));
+ indexFile.blockWriteOrRead( sizeof(FixedChar),(char*)&ret,false);
+ return ret;
+ }
+
+ return observationNames[obsIdx];
+}
+
+// can read single variable
+void FileVector::readVariable(unsigned long varIdx, void * outvec) {
+ if (varIdx>=fileHeader.numVariables) {
+ errorLog << "Variable number out of range (" << varIdx << " >= " << fileHeader.numVariables <<")"<<endl << errorExit;
+ }
+ updateCache(varIdx);
+ unsigned long offset = (varIdx - cacheBegin)*fileHeader.numObservations*getElementSize();
+ memcpy(outvec,cacheBuffer+offset,getElementSize()*(fileHeader.numObservations));
+}
+
+void FileVector::readObservation(unsigned long obsIdx, void *outvec) {
+ char * tmpdata = new (nothrow) char [getNumObservations()*getElementSize()];
+ if(!tmpdata)
+ errorLog << "readObservation: cannot allocate tmpdata" << errorExit;
+
+ for(unsigned long int i = 0; i< getNumVariables(); i++)
+ {
+ readVariable(i, tmpdata);
+ memcpy((char*)outvec+i*getElementSize(),tmpdata+getElementSize()*obsIdx,getElementSize());
+ }
+ delete[] tmpdata;
+}
+
+void FileVector::writeObservation(unsigned long obsIdx, void * invec) {
+ if (readOnly) {
+ errorLog << "Trying to write to the readonly file." << errorExit;
+ }
+ for(unsigned long int i = 0; i< getNumVariables(); i++) {
+ writeElement( i, obsIdx, (char*)invec+ i*getElementSize() );
+ }
+}
+
+// can write single variable
+void FileVector::writeVariable(unsigned long varIdx, void * datavec) {
+ if (readOnly) {
+ errorLog << "Trying to write to the readonly file." << errorExit;
+ }
+ unsigned long pos = nrnc_to_nelem(varIdx, 0);
+ dataFile.fseek(pos*getElementSize());
+ dataFile.blockWriteOrRead(getElementSize()*fileHeader.numObservations, (char*)datavec, true);
+ dataFile.flush();
+ if (!dataFile) {
+ errorLog <<"failed to write to data file\n"<<errorExit;
+ }
+
+ if (varIdx >= cacheBegin && varIdx < cacheEnd)
+ {
+ unsigned long offset = (varIdx - cacheBegin)*fileHeader.numObservations*getElementSize();
+ memcpy(cacheBuffer + offset,datavec,getElementSize()*fileHeader.numObservations);
+ }
+}
+
+unsigned long FileVector::nrnc_to_nelem(unsigned long varIdx, unsigned long obsIdx) {
+ if (varIdx >= fileHeader.numVariables) {
+ errorLog << "Variable number out of bounds (" << varIdx << " >= " << fileHeader.numVariables << ")" << endl << errorExit;
+ }
+ if (obsIdx >= fileHeader.numObservations) {
+ errorLog << "Observation number out of bounds (" << obsIdx << " >= " << fileHeader.numVariables << ")" << endl << errorExit;
+ }
+ return( varIdx * fileHeader.numObservations + obsIdx );
+}
+
+// should only be used for reading single random elements!
+
+void FileVector::readElement(unsigned long varIdx, unsigned long obsIdx, void* out) {
+ unsigned long pos = nrnc_to_nelem(varIdx, obsIdx);
+ deepDbg << "FileVector.readElement(" << varIdx << "," << obsIdx << "), pos = " << pos << ", ";
+ dataFile.fseek(pos*getElementSize());
+ dataFile.blockWriteOrRead(getElementSize(), (char*)out, false);
+}
+
+void FileVector::writeElement(unsigned long varIdx, unsigned long obsIdx, void* data) {
+ if (readOnly) {
+ errorLog << "Trying to write to the readonly file." << errorExit;
+ }
+ deepDbg << "FileVector.writeElement(" << varIdx << "," << obsIdx << ");" << endl;
+ unsigned long pos = nrnc_to_nelem(varIdx, obsIdx);
+ dataFile.fseek(pos*getElementSize());
+ dataFile.blockWriteOrRead(getElementSize(),(char*)data, true);
+ dataFile.flush();
+
+ if (varIdx >= cacheBegin && varIdx < cacheEnd) {
+ unsigned long offset = (varIdx - cacheBegin)*fileHeader.numObservations*getElementSize() + obsIdx *getElementSize();
+ memcpy(cacheBuffer+offset,data,getElementSize() );
+ }
+}
+
+unsigned long FileVector::getNumVariables() {
+ return fileHeader.numVariables;
+}
+
+unsigned long FileVector::getNumObservations() {
+ return fileHeader.numObservations;
+}
+
+void FileVector::saveAs( string newFilename ) {
+ initializeEmptyFile( (char *)newFilename.c_str(), getNumVariables(), getNumObservations(), fileHeader.type, true);
+ FileVector *outdata = new FileVector( newFilename, 64 );//todo which size for cache to use?
+
+ // copy observation names from the first object
+ for (unsigned long i=0;i<getNumObservations();i++)
+ outdata->writeObservationName( i, readObservationName( i ) );
+
+ char * tmpvariable = new (nothrow) char[getNumObservations()*getElementSize()];
+ if (!tmpvariable) errorLog << "can not allocate memory for tmpvariable" << endl << endl << errorExit;
+
+ for (unsigned long i=0 ; i<getNumVariables();i++)
+ {
+ //write var names
+ outdata->writeVariableName( i, readVariableName(i));
+ //write variables
+ readVariable(i,tmpvariable);
+ outdata->writeVariable(i,tmpvariable);
+ }
+ delete outdata;
+ delete [] tmpvariable;
+}
+
+void FileVector::saveVariablesAs( string newFilename, unsigned long nvars, unsigned long *varindexes) {
+ initializeEmptyFile( (char *)newFilename.c_str(), nvars, getNumObservations(), fileHeader.type, true);
+ FileVector outdata( newFilename, 64 );//todo which size for cache to use?
+
+ // copy observation names from the first object
+ for (unsigned long i=0;i<getNumObservations();i++)
+ outdata.writeObservationName( i, readObservationName( i ) );
+
+ char * tmpvariable = new (nothrow) char[getNumObservations()*getElementSize()];
+ if (!tmpvariable) errorLog << "can not allocate memory for tmpvariable" << endl << endl << errorExit;
+
+ for ( unsigned long i=0 ; i<nvars ; i++ )
+ {
+ unsigned long selected_index = varindexes[i];
+ //write var names
+ outdata.writeVariableName( i, readVariableName(selected_index ));
+ //write variables
+ readVariable(selected_index,tmpvariable);
+ outdata.writeVariable(i,tmpvariable);
+ }
+
+ delete [] tmpvariable;
+}
+
+string FileVector::getFileName() {
+ return filename;
+}
+
+
+void FileVector::saveObservationsAs( string newFilename, unsigned long nobss, unsigned long *obsindexes) {
+ if (headerOrDataExists(newFilename))
+ {
+ errorLog << "File " << newFilename <<" already exists" << endl << errorExit;
+ }
+ initializeEmptyFile( (char *)newFilename.c_str(), getNumVariables(), nobss, fileHeader.type,true);
+ FileVector outdata( newFilename, 64 );//todo which size for cache to use?
+
+ // copy observation names from the first object
+ for( unsigned long i=0 ; i < nobss ; i++ )
+ outdata.writeObservationName( i, readObservationName( obsindexes[i] ) );
+
+ char * in_variable = new (nothrow) char[getNumObservations()*getElementSize()];
+ if (!in_variable) errorLog << "can not allocate memory for tmpvariable" << endl << endl << errorExit;
+
+ char * out_variable = new (nothrow) char[nobss*getElementSize()];
+ if (!out_variable) errorLog << "can not allocate memory for tmpvariable" << endl << endl << errorExit;
+ for ( unsigned long i=0 ; i<getNumVariables() ; i++ )
+ {
+ //write var names
+ outdata.writeVariableName( i, readVariableName(i));
+ //write variables
+ readVariable(i, in_variable);
+ copyVariable(out_variable, in_variable, nobss, obsindexes);
+ outdata.writeVariable(i,out_variable);
+ }
+
+ delete [] in_variable;
+ delete [] out_variable;
+}
+
+/*
+ * copy elements from "from" array to "to" array, according to "n" and "indexes" parameters
+ */
+void FileVector::copyVariable(char* to, char* from, int n, unsigned long * indexes ) {
+ for ( int j=0 ; j<n ; j++ ) {
+ //copy only selected observations to out_variable from in_variable
+ unsigned long int read_offset = indexes[j]*getElementSize();
+ if(read_offset + getElementSize() > getNumObservations() * getElementSize()) {
+ errorLog << "When saving selected observations: index in obsindexes(" <<indexes[j];
+ errorLog << ") is out of range, source obsIdx is " << getNumObservations()<< endl;
+ errorLog << errorExit;
+ }
+ memcpy(to + j*getElementSize(),from + read_offset,getElementSize());
+ }
+}
+
+void FileVector::saveAs(string newFilename, unsigned long nvars, unsigned long nobss, unsigned long *varindexes, unsigned long *obsindexes) {
+ if (headerOrDataExists(newFilename)) {
+ errorLog << "File "<< newFilename <<" already exists." << endl << errorExit;
+ }
+ initializeEmptyFile( (char *)newFilename.c_str(), nvars, nobss, fileHeader.type, true);
+ FileVector outdata( newFilename, 64 );//todo which size for cache to use?
+
+ // copy observation names from the first object
+ for( unsigned long i=0 ; i < nobss ; i++ ) {
+ //cout << nobss << " " << i << "-" << obsindexes[i] << ";";
+ outdata.writeObservationName( i, readObservationName( obsindexes[i] ) );
+ }
+
+ char * out_variable = new (nothrow) char[nobss*getElementSize()];
+ if (!out_variable) errorLog << "can not allocate memory for out_variable" << endl << errorExit;
+
+ char * in_variable = new (nothrow) char[getNumObservations()*getElementSize()];
+ if (!in_variable) errorLog << "can not allocate memory for in_variable" << endl << errorExit;
+
+ for( unsigned long i=0 ; i<nvars ; i++ ) {
+ unsigned long selected_index = varindexes[i];
+ //write var names
+ outdata.writeVariableName( i, readVariableName(selected_index ));
+ //write variables
+ readVariable(selected_index,in_variable);
+ copyVariable(out_variable, in_variable, nobss, obsindexes);
+ outdata.writeVariable(i,out_variable );
+ }
+
+ delete[] in_variable;
+ delete[] out_variable;
+}
+
+void FileVector::saveAsText(string newFilename, bool saveVarNames, bool saveObsNames, string nanString) {
+
+ ofstream textfile(newFilename.c_str(), ios::out);
+
+ // copy observation names from the first object
+ if (saveObsNames) {
+ for( unsigned long i=0 ; i < getNumObservations() ; i++ ) {
+ FixedChar fc = readObservationName( i ) ;
+ textfile << fc.name << " ";
+ }
+
+ textfile << endl;
+ }
+
+ char * in_variable = new (nothrow) char[getNumObservations()*getElementSize()];
+ if (!in_variable)
+ errorLog << "can not allocate memory for in_variable" << endl << endl << errorExit;
+
+ for(unsigned long i=0; i<getNumVariables(); i++) {
+ dbg << "Writing var " << i << " of " << getNumVariables()<< endl;
+ //write var names
+ FixedChar fc = readVariableName(i);
+ if (saveVarNames) {
+ textfile << fc.name << " ";
+ }
+ //write variables
+ readVariable(i, in_variable);
+
+ for(unsigned long j=0; j<getNumObservations(); j++) {
+ string s = bufToString(getElementType(),&in_variable[j*getElementSize()], nanString);
+ textfile << s << " ";
+ }
+ textfile << endl;
+ }
+
+ delete[] in_variable;
+}
+
+short unsigned FileVector::getElementSize() {
+ return calcDataSize(fileHeader.type);
+}
+
+short unsigned FileVector::getElementType() {
+ return fileHeader.type;
+}
+
+void FileVector::addVariable(void *invec, string varName) {
+ deepDbg << "addVariable(" << varName << ")" << endl;
+ if (readOnly) {
+ errorLog << "Trying to write to the readonly file." << errorExit;
+ }
+
+ fileHeader.numVariables++;
+ //recalculate
+ fileHeader.nelements = fileHeader.numVariables*fileHeader.numObservations;
+
+ FixedChar _fc_varname(varName);
+
+ // are names loaded from disk ?
+ if (variableNames && observationNames) {
+
+ FixedChar * newVariablesNames = new (nothrow)FixedChar[fileHeader.numVariables];
+ if (!newVariablesNames) {
+ errorLog << "Can not allocate memory in addVariable()" << errorExit;
+ }
+
+ //reallocate greater array for var names
+ memcpy(newVariablesNames, variableNames, sizeof(FixedChar)*(fileHeader.numVariables-1));
+ newVariablesNames[fileHeader.numVariables - 1] = _fc_varname;
+ FixedChar *oldvar_names = variableNames;
+ variableNames = newVariablesNames;
+ delete[] oldvar_names;
+ if (updateNamesOnWrite) {
+ indexFile.fseek(sizeof(fileHeader) + sizeof(FixedChar)*(fileHeader.numVariables - 1 + fileHeader.numObservations));
+ indexFile.blockWriteOrRead(sizeof(FixedChar), (char*)&_fc_varname.name, true);
+ }
+ } else { // not loaded
+ indexFile.fseek(sizeof(fileHeader) + sizeof(FixedChar)*(fileHeader.numVariables - 1 + fileHeader.numObservations));
+ indexFile.blockWriteOrRead(sizeof(FixedChar), (char*)&_fc_varname.name, true);
+ }
+ writeVariable(fileHeader.numVariables - 1, invec);
+}
+
+void FileVector::getPrivateCacheData(unsigned long* cacheSizeNVars, unsigned long *pCacheBegin, unsigned long *pCacheEnd ) {
+ *cacheSizeNVars = cache_size_nvars;
+ *pCacheBegin = cacheBegin;
+ *pCacheEnd = cacheEnd;
+}
+
+bool FileVector::setReadOnly(bool iReadOnly){
+ if (iReadOnly) {
+ if (!this->readOnly) {
+ deInitialize();
+ this->readOnly = iReadOnly;
+ initialize(this->cache_size_Mb);
+ }
+ } else {
+ if (this->readOnly) {
+ bool canOpen;
+ {
+ ofstream indexFileTest(indexFilename.c_str(),ios::out|ios::in|ios::binary);
+ ofstream dataFileTest(dataFilename.c_str(),ios::out|ios::in|ios::binary);
+ canOpen = indexFileTest.good() && dataFileTest.good();
+ }
+
+ if (canOpen) {
+ deInitialize();
+ this->readOnly = iReadOnly;
+ initialize(this->cache_size_Mb);
+ } else {
+ errorLog << "Can't open " << filename << "for writing. " << endl;
+ return false;
+ }
+
+ }
+ }
+ return true;
+}
+
+AbstractMatrix* FileVector::castToAbstractMatrix(){
+ return this;
+}
+
+
+
diff --git a/src/fvlib/FileVector.h b/src/fvlib/FileVector.h
new file mode 100644
index 0000000..aa74304
--- /dev/null
+++ b/src/fvlib/FileVector.h
@@ -0,0 +1,160 @@
+#ifndef __FRVECTOR__
+#define __FRVECTOR__
+
+#include <new>
+
+#include <iostream>
+#include <fstream>
+#include <cstdlib>
+#include <climits>
+#include <cmath>
+#include <string>
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <limits.h>
+#include <unistd.h>
+
+#include "Logger.h"
+#include "frutil.h"
+
+#include "ReusableFileHandle.h"
+#include "AbstractMatrix.h"
+
+using namespace std;
+
+#define DB_CREATE 1
+#define DB_EXCL 2
+#define DB_RDONLY 4
+
+class FileVector: public AbstractMatrix {
+private:
+ const string filename;
+ string dataFilename;
+ string indexFilename;
+ ReusableFileHandle dataFile;
+ ReusableFileHandle indexFile;
+ FileHeader fileHeader;
+ // row and column names
+ FixedChar *variableNames;
+ FixedChar *observationNames;
+ // size of header (descriptives + var/obs names)
+ unsigned long headerSize;
+ // cache size (Mb) requested by user
+ unsigned long cache_size_Mb;
+ // cache size internal; these ones are exact and used internaly
+ unsigned long cache_size_nvars;
+ unsigned long cache_size_bytes;
+ unsigned long max_buffer_size_bytes;
+ // which variables are now in cache
+ unsigned long cacheBegin;
+ unsigned long cacheEnd;
+ char * cacheBuffer;
+ bool readOnly;
+ bool updateNamesOnWrite;
+
+public:
+ FileVector();
+ ~FileVector();
+
+ FileVector(string iFilename, unsigned long cachesizeMb) : filename (iFilename) {
+ readOnly = false;
+ updateNamesOnWrite = false;
+ cacheBuffer = 0;
+ initialize(cachesizeMb);
+ getWarningIsShown() = false;
+ }
+
+ FileVector(string iFilename, unsigned long cachesizeMb, bool iReadOnly) : filename(iFilename), readOnly(iReadOnly) {
+ updateNamesOnWrite = false;
+ cacheBuffer = 0;
+ initialize(cachesizeMb);
+ getWarningIsShown() = false;
+ }
+
+ FileVector(char *iFilename, unsigned long cachesizeMb) : filename(string(iFilename)){
+ updateNamesOnWrite = false;
+ readOnly = false;
+ cacheBuffer = 0;
+ initialize(cachesizeMb);
+ getWarningIsShown() = false;
+ }
+
+ FileVector(char *iFilename, unsigned long cachesizeMb, bool iReadOnly) : filename(string(iFilename)), readOnly(iReadOnly) {
+ updateNamesOnWrite = false;
+ cacheBuffer = 0;
+ initialize(cachesizeMb);
+ getWarningIsShown() = false;
+ }
+ // for testing purposes
+ void getPrivateCacheData(unsigned long* cacheSizeNVars, unsigned long *inCachFrom, unsigned long *cacheEnd );
+
+ // these ones are the actual used to initialize and free up
+ void initialize(unsigned long cachesizeMb);
+ void deInitialize();
+ // this one updates cache
+ void updateCache(unsigned long from_var);
+
+ // gives element number from varIdx & obsIdx
+ unsigned long nrnc_to_nelem(unsigned long varIdx, unsigned long obsIdx);
+
+ // getting and setting var/col names
+ void writeVariableName(unsigned long varIdx, FixedChar name);
+ void writeObservationName(unsigned long obsIdx, FixedChar name);
+
+ virtual string getFileName();
+ virtual unsigned long getNumVariables();
+ virtual unsigned long getNumObservations();
+
+ FixedChar readVariableName(unsigned long varIdx);
+ FixedChar readObservationName(unsigned long obsIdx);
+
+ // USER FUNCTIONS
+ // can read single variable
+ void readVariable(unsigned long varIdx, void * outvec);
+
+ void addVariable(void * invec, string varname);
+
+ // should only be used for reading single random elements!
+ void readElement(unsigned long varIdx, unsigned long obsIdx, void * data);
+ void writeVariable(unsigned long varIdx, void * datavec);
+ void writeElement(unsigned long varIdx, unsigned long obsIdx, void * data);
+
+ void readObservation(unsigned long obsIdx, void * outvec);
+ void writeObservation(unsigned long obsIdx, void * outvec);
+ void cacheAllNames(bool);
+ void readNames();
+
+ void saveAs( string newFilename );
+ void saveVariablesAs( string newFilename, unsigned long nvars, unsigned long * varindexes);
+ void saveObservationsAs( string newFilename, unsigned long nobss, unsigned long * obsindexes);
+ void saveAs(string newFilename, unsigned long nvars, unsigned long nobss, unsigned long * varindexes, unsigned long * obsindexes);
+ void saveAsText(string newFilename, bool saveVarNames, bool saveObsNames, string nanString);
+
+ unsigned long getCacheSizeInMb();
+ void setCacheSizeInMb( unsigned long cachesizeMb );
+
+ virtual short unsigned getElementSize();
+ virtual short unsigned getElementType();
+ void saveIndexFile();
+
+ virtual void setUpdateNamesOnWrite(bool bUpdate);
+ virtual AbstractMatrix* castToAbstractMatrix();
+ virtual bool setReadOnly(bool readOnly);
+
+ // FOR FUTURE:
+ // very slow one!
+ // DT * readObservation(unsigned long obsIdx);
+ // should only be used for reading single random elements!
+ // DT readElement(unsigned long nelment);
+private :
+ void copyVariable(char * to, char * from, int n, unsigned long * indexes );
+ void calcCachePos(unsigned long newPos, unsigned long &cacheBegin, unsigned long &cacheEnd);
+};
+
+//global variables
+const string FILEVECTOR_DATA_FILE_SUFFIX = ".fvd";
+const string FILEVECTOR_INDEX_FILE_SUFFIX = ".fvi";
+
+#endif
+
diff --git a/src/fvlib/FilteredMatrix.cpp b/src/fvlib/FilteredMatrix.cpp
new file mode 100644
index 0000000..7289c8c
--- /dev/null
+++ b/src/fvlib/FilteredMatrix.cpp
@@ -0,0 +1,189 @@
+#include <sys/stat.h>
+#include <string.h>
+#include <iostream>
+#include <vector>
+#include <memory.h>
+
+using namespace std;
+
+#include "FilteredMatrix.h"
+#include "CastUtils.h"
+#include "frutil.h"
+
+unsigned long FilteredMatrix::getCacheSizeInMb() {
+ return nestedMatrix->getCacheSizeInMb();
+}
+
+void FilteredMatrix::setCacheSizeInMb( unsigned long cachesizeMb ) {
+ nestedMatrix->setCacheSizeInMb(cachesizeMb);
+}
+
+void FilteredMatrix::setUpdateNamesOnWrite(bool bUpdate) {
+ nestedMatrix->setUpdateNamesOnWrite(bUpdate);
+}
+
+void FilteredMatrix::writeVariableName(unsigned long varIdx, FixedChar name) {
+ nestedMatrix->writeVariableName(filteredToRealRowIdx[varIdx], name);
+}
+
+void FilteredMatrix::writeObservationName(unsigned long obsIdx, FixedChar name) {
+ nestedMatrix->writeObservationName(filteredToRealColIdx[obsIdx], name);
+}
+
+FixedChar FilteredMatrix::readVariableName(unsigned long varIdx) {
+ return nestedMatrix->readVariableName(filteredToRealRowIdx[varIdx]);
+}
+
+FixedChar FilteredMatrix::readObservationName(unsigned long obsIdx) {
+ return nestedMatrix->readObservationName(filteredToRealColIdx[obsIdx]);
+}
+
+void FilteredMatrix::readVariable(unsigned long varIdx, void * outvec) {
+ unsigned long i;
+ fmDbg << "readVariable(" << varIdx << "), numObservations="<<getNumObservations()<<";" << endl;
+ char* data = new (nothrow) char[getElementSize() * nestedMatrix->getNumObservations()];
+ nestedMatrix->readVariable(this->filteredToRealRowIdx[varIdx], data);
+ for(i=0; i < this->filteredToRealColIdx.size(); i++){
+ memcpy(&((char*)outvec)[i*getElementSize()],
+ &data[this->filteredToRealColIdx[i]*getElementSize()],getElementSize());
+ }
+ delete [] data;
+}
+
+void FilteredMatrix::readObservation(unsigned long obsIdx, void * outvec) {
+ unsigned long i;
+ fmDbg << "readObservation(" << obsIdx << ");" << endl;
+ for(i=0;i<getNumVariables();i++){
+ readElement( i, obsIdx, (char*)outvec + i * getElementSize());
+ }
+}
+
+void FilteredMatrix::writeObservation(unsigned long obsIdx, void * invec) {
+ unsigned long i;
+ for(i=0;i<getNumObservations();i++){
+ writeElement( i, obsIdx, (char*)invec + i * getElementSize());
+ }
+}
+
+void FilteredMatrix::writeVariable(unsigned long varIdx, void *datavec) {
+ unsigned long i;
+ fmDbg << "FilteredMatrix.writeVariable(" << varIdx << ")" << endl;
+ double p = (double)getNumObservations()/nestedMatrix->getNumObservations();
+
+ if (p > WRITE_SPEED_PROPORTION) {
+ char *ptr = new char[getElementSize()*nestedMatrix->getNumObservations()];
+ // no filter
+ if (getNumObservations() != nestedMatrix->getNumObservations()) {
+ nestedMatrix->readVariable(this->filteredToRealRowIdx[varIdx], ptr);
+ }
+ for(i=0;i<getNumObservations();i++){
+ memcpy(&ptr[getElementSize()*this->filteredToRealColIdx[i]],&((char*)datavec)[getElementSize()*i],
+ getElementSize());
+ }
+
+ nestedMatrix->writeVariable(this->filteredToRealRowIdx[varIdx], ptr);
+ delete[] ptr;
+ }else {
+ for(i=0;i<getNumObservations();i++){
+ this->writeElement(varIdx, i, (char*)datavec + i * getElementSize());
+ }
+ }
+}
+
+void FilteredMatrix::readElement(unsigned long varIdx, unsigned long obsIdx, void * out) {
+ fmDbg << "FilteredMatrix::readElement(" << varIdx << "," << obsIdx<<") = ";
+ nestedMatrix->readElement(filteredToRealRowIdx[varIdx], filteredToRealColIdx[obsIdx], out);
+ fmDbg << bufToString(getElementType(), (char*)out, string("NAN")) << endl;
+}
+
+void FilteredMatrix::writeElement(unsigned long varIdx, unsigned long obsIdx, void* data) {
+ fmDbg << "FilteredMatrix.writeElement (" << varIdx << "," << obsIdx << ")" << endl;
+ nestedMatrix->writeElement(filteredToRealRowIdx[varIdx], filteredToRealColIdx[obsIdx], data);
+}
+
+string FilteredMatrix::getFileName(){
+ return nestedMatrix->getFileName();
+}
+
+
+unsigned long FilteredMatrix::getNumVariables() {
+ return filteredToRealRowIdx.size();
+}
+
+unsigned long FilteredMatrix::getNumObservations() {
+ return filteredToRealColIdx.size();
+}
+
+void FilteredMatrix::saveAs(string newFilename) {
+ nestedMatrix->saveAs(newFilename, this->filteredToRealRowIdx.size(),
+ this->filteredToRealColIdx.size(), &this->filteredToRealRowIdx[0], &this->filteredToRealColIdx[0]);
+}
+
+void FilteredMatrix::saveVariablesAs( string newFilename, unsigned long nvars, unsigned long *varIndexes) {
+ vector<unsigned long> recodedColIndexes;
+ vector<unsigned long> recodedRowIndexes;
+
+ unsigned long *obsIndexes = new unsigned long[this->getNumObservations()];
+
+ unsigned long i;
+ for(i=0;i<this->getNumObservations();i++){
+ obsIndexes[i]=i;
+ }
+
+ filterIdxList(obsIndexes, this->getNumObservations(), recodedColIndexes, filteredToRealColIdx);
+ filterIdxList(varIndexes, nvars, recodedRowIndexes, filteredToRealRowIdx);
+ delete obsIndexes;
+}
+
+void FilteredMatrix::saveObservationsAs( string newFilename, unsigned long nobss, unsigned long * obsIndexes) {
+ vector<unsigned long> recodedColIndexes;
+ vector<unsigned long> recodedRowIndexes;
+
+ unsigned long *varIndexes = new unsigned long[this->getNumVariables()];
+
+ unsigned long i;
+ for(i=0;i<this->getNumObservations();i++){
+ varIndexes[i]=i;
+ }
+
+ filterIdxList(obsIndexes, nobss, recodedColIndexes, filteredToRealColIdx);
+ filterIdxList(varIndexes, getNumVariables(), recodedRowIndexes, filteredToRealRowIdx);
+ delete obsIndexes;
+}
+
+void FilteredMatrix::saveAs(string newFilename, unsigned long nvars, unsigned long nobss, unsigned long *varIndexes, unsigned long *obsIndexes) {
+ vector<unsigned long> recodedColIndexes;
+ vector<unsigned long> recodedRowIndexes;
+ filterIdxList(obsIndexes, nobss, recodedColIndexes, filteredToRealColIdx);
+ filterIdxList(varIndexes, nvars, recodedRowIndexes, filteredToRealRowIdx);
+ nestedMatrix->saveAs(newFilename, nvars, nobss, &recodedRowIndexes[0], &recodedColIndexes[0]);
+}
+
+void FilteredMatrix::saveAsText(string newFilename, bool showVarNames, bool showObsNames, string nanString) {
+ nestedMatrix->saveAsText(newFilename, showVarNames, showObsNames, nanString);
+}
+
+short unsigned FilteredMatrix::getElementSize() {
+ return nestedMatrix->getElementSize();
+}
+
+short unsigned FilteredMatrix::getElementType() {
+ return nestedMatrix->getElementType();
+}
+
+void FilteredMatrix::addVariable(void * invec, string varname) {
+ errorLog << "FilteredMatrix doesn't support addVariable." << endl << errorExit;
+}
+
+void FilteredMatrix::cacheAllNames(bool doCache) {
+ nestedMatrix->cacheAllNames(doCache);
+}
+
+AbstractMatrix* FilteredMatrix::castToAbstractMatrix(){
+ return this;
+}
+
+bool FilteredMatrix::setReadOnly(bool iReadOnly){
+ return nestedMatrix->setReadOnly(iReadOnly);
+}
+
diff --git a/src/fvlib/FilteredMatrix.h b/src/fvlib/FilteredMatrix.h
new file mode 100644
index 0000000..4488707
--- /dev/null
+++ b/src/fvlib/FilteredMatrix.h
@@ -0,0 +1,198 @@
+#ifndef __FilteredMatrix__
+#define __FilteredMatrix__
+
+#include <map>
+
+ //todo add comments
+
+using namespace std;
+
+#include "AbstractMatrix.h"
+/*
+* "Cols" are observations and "Rows" are variables
+*/
+class FilteredMatrix : public AbstractMatrix {
+ AbstractMatrix *nestedMatrix;
+
+ vector<unsigned long> filteredToRealColIdx;
+ vector<unsigned long> filteredToRealRowIdx;
+
+ void filterIdxList(unsigned long *iIndexes, unsigned long numIndexes,
+ vector<unsigned long> &oIndexes, vector<unsigned long> &filter) {
+ oIndexes.reserve(numIndexes);
+
+ unsigned long i;
+ for(i=0; i<numIndexes; i++) {
+ oIndexes.push_back(filter[iIndexes[i]]);
+ }
+ }
+
+public:
+ // makes this matrix not filter any cells
+ void setNoFiltering(){
+ unsigned long i;
+ filteredToRealRowIdx.reserve(nestedMatrix->getNumVariables());
+ for(i=0;i<nestedMatrix->getNumVariables();i++) {
+ filteredToRealRowIdx.push_back(i);
+ }
+
+ filteredToRealColIdx.reserve(nestedMatrix->getNumObservations());
+ for(i=0;i<nestedMatrix->getNumObservations();i++) {
+ filteredToRealColIdx.push_back(i);
+ }
+ }
+ // set filter for Filterematrix
+ void setFilteredArea(vector<unsigned long> &rowMask, vector<unsigned long> &colMask){
+ fmDbg << "setFilteredArea()" << endl;
+ this->filteredToRealRowIdx = vector<unsigned long>(rowMask);
+ this->filteredToRealColIdx = vector<unsigned long>(colMask);
+ }
+
+ /**
+ * Constructs FilteredMatrix wrapper from AbstractMatrix object
+ **/
+ FilteredMatrix(AbstractMatrix &matrix) : nestedMatrix(&matrix) {
+ dbg << "Constructing FilteredMatrix from AbstractMatrix, ptr = " << (void *)this << endl;
+ setNoFiltering();
+ getWarningIsShown() = false;
+ }
+
+ string getFileName();
+
+ /**
+ * Returns number of variables
+ **/
+ unsigned long getNumVariables();
+
+ /**
+ * Returns number of observations
+ **/
+ unsigned long getNumObservations();
+
+ /**
+ * If argument is true, DatABEL reads all variables/observations' names from files into memory.
+ * Calling this function with false causes name cache freeing
+ **/
+ void cacheAllNames(bool);
+
+ /**
+ * Returns pointer to AbstractMatrix that is wrapped by current object
+ **/
+ AbstractMatrix* getNestedMatrix() {return nestedMatrix;}
+
+ /**
+ * Saves current DatABEL object to another file
+ **/
+ void saveAs(string newFilename);
+
+ /**
+ * Saves selected variables to another file
+ **/
+ void saveVariablesAs(string newFilename, unsigned long nvars, unsigned long * varindexes);
+
+ /**
+ * Saves selected observations to another file
+ **/
+ void saveObservationsAs(string newFilename, unsigned long nobss, unsigned long * obsindexes);
+
+ /**
+ * Saves selected observations to another file
+ **/
+ void saveAs(string newFilename, unsigned long nvars, unsigned long nobss, unsigned long * varindexes, unsigned long * obsindexes);
+
+ /**
+ * Saves current object as text
+ **/
+ void saveAsText(string newFilename, bool saveVarNames, bool saveObsNames, string nanString);
+
+ /**
+ * Get single observation
+ **/
+ void readObservation(unsigned long obsIdx, void * outvec);
+
+ /**
+ * Write single observation
+ **/
+ void writeObservation(unsigned long obsIdx, void * invec);
+
+ /**
+ * Set variable name
+ **/
+ void writeVariableName(unsigned long varIdx, FixedChar newname); // todo loooong future -- control that name is unique
+
+ /**
+ * Set observation name
+ **/
+ void writeObservationName(unsigned long obsIdx, FixedChar newname); //todo loooong future -- control that name is unique!
+
+ /**
+ * Get cache size in Mbs
+ **/
+ unsigned long getCacheSizeInMb();
+
+ /**
+ * Set cache size in Mbs
+ **/
+ void setCacheSizeInMb( unsigned long cachesizeMb );
+
+ /**
+ * Get observation name
+ **/
+ FixedChar readObservationName(unsigned long obsIdx);
+
+ /**
+ * Get variable name
+ **/
+ FixedChar readVariableName(unsigned long varIdx);
+
+ /**
+ * If bUpdate is false and var/obs names are cached, changing var/obs name doesn't cause disk write.
+ * Invoking this method with true forces update on each var/obs change.
+ **/
+ void setUpdateNamesOnWrite(bool bUpdate);
+
+ /**
+ * Returns number of bytes per element
+ **/
+ short unsigned getElementSize();
+
+ /**
+ * Returns elements type
+ **/
+ short unsigned getElementType();
+
+ /**
+ * Read a single variable
+ **/
+ void readVariable(unsigned long varIdx, void * outvec);
+
+ /**
+ * Read a single element
+ **/
+ void readElement(unsigned long varIdx, unsigned long obsIdx, void * elem);
+
+ /**
+ * Set a single variable
+ **/
+ void writeVariable(unsigned long varIdx, void * datavec);
+
+ /**
+ * Set a single element
+ **/
+ void writeElement(unsigned long varIdx, unsigned long obsIdx, void * data);
+
+ /**
+ * Returns ptr to current object as AbstractMatrix
+ **/
+ virtual AbstractMatrix* castToAbstractMatrix();
+
+ /**
+ * Enables readonly mode. Only one instance of Filtered matrix can access data in write mode.
+ **/
+ virtual bool setReadOnly(bool readOnly);
+
+private:
+ void addVariable(void * invec, string varname);
+};
+
+#endif
diff --git a/src/fvlib/Logger.cpp b/src/fvlib/Logger.cpp
new file mode 100644
index 0000000..cccb170
--- /dev/null
+++ b/src/fvlib/Logger.cpp
@@ -0,0 +1,20 @@
+#include "Logger.h"
+
+
+ErrorExit errorExit;
+
+#define all true
+
+Logger inf(MESSAGE_LEVEL,all);
+Logger dbg(DEBUG_LEVEL,false);
+Logger msg(MESSAGE_LEVEL,all);
+Logger testDbg(DEBUG_LEVEL,all);
+Logger deepDbg(DEBUG_LEVEL,false);
+Logger fmDbg(DEBUG_LEVEL,false);
+Logger wrapperLog(DEBUG_LEVEL,false);
+Logger errorLog(ERROR_LEVEL,all);
+
+
+
+
+
diff --git a/src/fvlib/Logger.h b/src/fvlib/Logger.h
new file mode 100644
index 0000000..5b474eb
--- /dev/null
+++ b/src/fvlib/Logger.h
@@ -0,0 +1,79 @@
+#ifndef __LOGGER__
+#define __LOGGER__
+
+#if COMPILE_WITH_R
+#include <R.h>
+#endif
+
+#include <ostream>
+#include <iostream>
+#include <cstdlib>
+#include <sstream>
+#include <string.h>
+
+using namespace std;
+
+#define MESSAGE_LEVEL 0
+#define DEBUG_LEVEL 1
+#define ERROR_LEVEL 2
+
+class ErrorExit {};
+class Logger {
+public:
+// enum ErrorLevel {Message, Debug, Error};
+ int errorLevel;
+ bool enabled;
+
+ Logger(int iErrorLevel) : errorLevel(iErrorLevel), enabled(true) {}
+ Logger(int iErrorLevel, bool iEnabled) : errorLevel(iErrorLevel), enabled(iEnabled) {}
+ Logger &operator << (const char* s){
+ sendString(s);
+ return *this;
+ }
+ Logger &operator << (int x){ stringstream ss; string s; ss << x; ss >> s; sendString(s); return *this; }
+ Logger &operator << (unsigned int x) { stringstream ss; string s; ss << x; ss >> s; sendString(s); return *this; }
+ Logger &operator << (long x) { stringstream ss; string s; ss << x; ss >> s; sendString(s); return *this; }
+ Logger &operator << (void*x) { stringstream ss; string s; ss << x; ss >> s; sendString(s); return *this; }
+ Logger &operator << (unsigned long x) { stringstream ss; string s; ss << x; ss >> s; sendString(s); return *this; }
+ Logger &operator << (float x) { stringstream ss; string s; ss << x; ss >> s; sendString(s); return *this; }
+ Logger &operator << (double x) { stringstream ss; string s; ss << x; ss >> s; sendString(s); return *this; }
+ Logger &operator << (string x) { stringstream ss; string s; ss << x; ss >> s; sendString(s); return *this; }
+ Logger &operator << (ostream&(*f)(ostream&)){ // endl support
+ sendString("\n");
+ return *this;
+ }
+ Logger &operator<< (ErrorExit&) {
+ #ifdef R_R_H
+ throw 1;
+ #else
+ exit(EXIT_FAILURE);
+ #endif
+ return *this;
+ }
+private:
+ void sendString(string s){
+ if (!enabled)
+ return;
+ #ifdef R_R_H
+ Rprintf("%s",s.c_str());
+ #else
+ if (errorLevel == ERROR_LEVEL) {
+ cerr << s;
+ } else {
+ cout << s;
+ }
+ #endif
+ }
+};
+
+extern ErrorExit errorExit;
+extern Logger inf;
+extern Logger dbg;
+extern Logger msg;
+extern Logger errorLog;
+extern Logger testDbg;
+extern Logger deepDbg;
+extern Logger fmDbg;
+extern Logger wrapperLog;
+
+#endif
diff --git a/src/fvlib/RealHandlerWrapper.cpp b/src/fvlib/RealHandlerWrapper.cpp
new file mode 100644
index 0000000..1eb9eb4
--- /dev/null
+++ b/src/fvlib/RealHandlerWrapper.cpp
@@ -0,0 +1,45 @@
+#include "FileVector.h"
+#include "RealHandlerWrapper.h"
+
+// returns true on success
+bool RealHandlerWrapper::open(const string &iFileName, bool iReadOnly) {
+ fileName = iFileName;
+ if (useCount > 0) {
+ useCount++;
+ return true;
+ }
+
+ if (iReadOnly) {
+ stream.open(fileName.c_str(), ios::in | ios::binary);
+ } else {
+ stream.open(fileName.c_str(), ios::out | ios::in | ios::binary);
+ }
+
+ readOnly = iReadOnly;
+
+ useCount = 1;
+
+ return !!(stream);
+}
+
+void RealHandlerWrapper::close(){
+ if (useCount > 1) {
+ useCount--;
+ } else if (useCount == 1) {
+ useCount = 0;
+ stream.close();
+ }
+}
+
+void RealHandlerWrapper::blockWriteOrRead(unsigned long iLength, char* data, bool writeAction) {
+ ::blockWriteOrRead(stream, iLength, data, writeAction);
+}
+
+void RealHandlerWrapper::fseek(unsigned long pos){
+ stream.seekg(pos, ios::beg);
+ stream.seekp(pos, ios::beg);
+}
+
+void RealHandlerWrapper::flush(){
+ stream.flush();
+}
diff --git a/src/fvlib/RealHandlerWrapper.h b/src/fvlib/RealHandlerWrapper.h
new file mode 100644
index 0000000..3fdab1d
--- /dev/null
+++ b/src/fvlib/RealHandlerWrapper.h
@@ -0,0 +1,33 @@
+#ifndef __RealHandlerWrapper__
+#define __RealHandlerWrapper__
+
+class ReusableFileHandle;
+
+#include <string>
+#include <map>
+#include <fstream>
+#include <iostream>
+
+using namespace std;
+
+class RealHandlerWrapper {
+private:
+ int useCount;
+ fstream stream;
+ string fileName;
+
+ bool readOnly;
+
+public:
+ RealHandlerWrapper(): useCount(0) {}
+
+ void blockWriteOrRead(unsigned long length, char* data, bool writeAction);
+ void fseek(unsigned long pos);
+ void flush();
+ bool open(const string &fileName, bool readOnly);
+ void close();
+
+ int getUseCount() {return useCount;}
+};
+
+#endif
diff --git a/src/fvlib/ReusableFileHandle.cpp b/src/fvlib/ReusableFileHandle.cpp
new file mode 100644
index 0000000..4b22b4f
--- /dev/null
+++ b/src/fvlib/ReusableFileHandle.cpp
@@ -0,0 +1,74 @@
+#include <stdlib.h>
+
+#include "RealHandlerWrapper.h"
+#include "ReusableFileHandle.h"
+
+
+map<string, RealHandlerWrapper*> ReusableFileHandle::openHandles;
+
+int ReusableFileHandle::testGetNumHandles(){
+ return ReusableFileHandle::openHandles.size();
+}
+
+ReusableFileHandle ReusableFileHandle::getHandle(string fileName, bool readOnly){
+
+ string key = string((readOnly ? "R" : "*")) + fileName;
+
+ if (ReusableFileHandle::openHandles.find(key) != ReusableFileHandle::openHandles.end()) {
+ RealHandlerWrapper *rhw = ReusableFileHandle::openHandles[key];
+
+ rhw->open(fileName, readOnly);
+
+ ReusableFileHandle ret(rhw, true, fileName, readOnly);
+
+ return ret;
+ } else {
+ RealHandlerWrapper *newHandleWrapper = new RealHandlerWrapper();
+ bool success = newHandleWrapper->open(fileName, readOnly);
+
+ if (success) {
+ ReusableFileHandle::openHandles[key] = newHandleWrapper;
+ } else {
+ delete newHandleWrapper;
+ newHandleWrapper = 0;
+ }
+
+ ReusableFileHandle ret(newHandleWrapper, success, fileName, readOnly);
+ return ret;
+ }
+}
+
+void ReusableFileHandle::close() {
+
+ string key = string((readOnly ? "R" : "*")) + fileName;
+
+ if (ReusableFileHandle::openHandles.find(key) == ReusableFileHandle::openHandles.end())
+ return;
+
+ RealHandlerWrapper *rhw = ReusableFileHandle::openHandles[key];
+
+ rhw->close();
+
+ if (rhw->getUseCount() == 0) {
+ delete rhw;
+ ReusableFileHandle::openHandles.erase(key);
+ }
+}
+
+void ReusableFileHandle::blockWriteOrRead(unsigned long length, char* data, bool writeAction){
+ realHandlerWrapper->fseek(curPos);
+ realHandlerWrapper->blockWriteOrRead(length, data, writeAction);
+
+ curPos += length;
+}
+
+void ReusableFileHandle::flush(){
+ realHandlerWrapper->flush();
+}
+
+void ReusableFileHandle::fseek(unsigned long pos){
+ curPos = pos;
+}
+
+
+
diff --git a/src/fvlib/ReusableFileHandle.h b/src/fvlib/ReusableFileHandle.h
new file mode 100644
index 0000000..d651728
--- /dev/null
+++ b/src/fvlib/ReusableFileHandle.h
@@ -0,0 +1,60 @@
+#ifndef __ReusableFileHandle__
+#define __ReusableFileHandle__
+
+#include "RealHandlerWrapper.h"
+
+#include <string>
+#include <map>
+
+using namespace std;
+
+class ReusableFileHandle {
+private:
+ bool isOk;
+ unsigned long curPos;
+ string fileName;
+ bool readOnly;
+
+ RealHandlerWrapper *realHandlerWrapper;
+
+ static map<string, RealHandlerWrapper*> openHandles;
+
+public:
+ ReusableFileHandle(RealHandlerWrapper *iRealHandlerWrapper, bool iIsOk,
+ const string& iFileName, bool iReadOnly ):
+ isOk(iIsOk), curPos(0),
+ fileName(iFileName), readOnly(iReadOnly),
+ realHandlerWrapper(iRealHandlerWrapper){
+ }
+
+ ReusableFileHandle(const ReusableFileHandle &rfh) :
+ isOk(rfh.isOk), curPos(rfh.curPos),fileName(rfh.fileName),
+ readOnly(rfh.readOnly), realHandlerWrapper(rfh.realHandlerWrapper) {
+ }
+
+ void operator=(const ReusableFileHandle &rfh){
+ isOk = rfh.isOk;
+ curPos = rfh.curPos;
+ fileName = rfh.fileName;
+ readOnly = rfh.readOnly;
+ realHandlerWrapper = rfh.realHandlerWrapper;
+ }
+
+ ReusableFileHandle() : isOk(false),curPos(0),
+ fileName(), readOnly(false) {
+ }
+
+ operator bool(){
+ return isOk;
+ }
+
+ void blockWriteOrRead(unsigned long length, char* data, bool writeAction);
+ void fseek(unsigned long pos);
+ void flush();
+
+ static ReusableFileHandle getHandle(string fileName, bool readOnly);
+ static int testGetNumHandles();
+ void close();
+};
+
+#endif
diff --git a/src/fvlib/Transposer.cpp b/src/fvlib/Transposer.cpp
new file mode 100644
index 0000000..f667298
--- /dev/null
+++ b/src/fvlib/Transposer.cpp
@@ -0,0 +1,163 @@
+/*
+* This is utility class to transpose FileVector files in binary format, so there will not be need in
+advanced text tools behaviour.
+*/
+
+#include <iostream>
+#include <cstdlib>
+#include <cstring>
+
+#include "frutil.h"
+#include "FileVector.h"
+#include "Transposer.h"
+
+using namespace std;
+
+void Transposer::process(string filename) {
+ process(filename, string(""), false );
+}
+
+void Transposer::process(string filename, string destFileName, bool forceOverwrite) {
+ FileVector* src_fv = new FileVector(filename,1);
+ unsigned long src_nvars = src_fv->getNumVariables();
+ unsigned long src_nobss = src_fv->getNumObservations();
+ unsigned int data_size = src_fv->getElementSize();
+
+ string dest_file_name;
+ string src_data_file_name;
+ string dest_data_file_name;
+
+ if (destFileName=="") {
+ // legacy
+ dest_file_name = extract_base_file_name(filename) + "_transposed";
+ src_data_file_name = extract_base_file_name(filename) + FILEVECTOR_DATA_FILE_SUFFIX;
+ dest_data_file_name = extract_base_file_name(filename) + "_transposed" + FILEVECTOR_DATA_FILE_SUFFIX;
+ } else {
+ dest_file_name = destFileName;
+ src_data_file_name = filename + FILEVECTOR_DATA_FILE_SUFFIX;
+ dest_data_file_name = destFileName + FILEVECTOR_DATA_FILE_SUFFIX;
+ }
+
+
+ if (!forceOverwrite && headerOrDataExists(dest_file_name)) {
+ errorLog << "File already exists: " << dest_file_name << endl << errorExit;
+ }
+
+ initializeEmptyFile(dest_file_name, src_fv->getNumObservations(), src_fv->getNumVariables(), src_fv->getElementType(),true);
+
+ FileVector* dest_fv = new FileVector(dest_file_name,1);
+ dbg << "Copying var/obs names...";
+ write_var_obs_names(src_fv, dest_fv);
+
+ delete src_fv;
+ delete dest_fv;
+ dbg << "done"<< endl;
+
+ copy_data(src_data_file_name,dest_data_file_name,src_nvars,src_nobss,data_size);
+ dbg << "done"<< endl;
+}
+
+void Transposer::write_var_obs_names(FileVector *src_fv, FileVector *dest_fv) {
+ // copy observations and variables names
+ for( unsigned long i=0 ; i < src_fv->getNumVariables(); i++ )
+ dest_fv->writeObservationName( i, src_fv->readVariableName(i) );
+
+ for( unsigned long i=0 ; i < src_fv->getNumObservations(); i++ )
+ dest_fv->writeVariableName( i, src_fv->readObservationName(i) );
+}
+
+
+void Transposer::copy_data(string src_data_file_name,string dest_data_file_name, unsigned long src_nvars,
+unsigned long src_nobss, unsigned int data_size) {
+ dbg<< "Copying data..."<< src_nobss << "x"<< src_nvars << endl;
+
+ unsigned long obs_pages = src_nobss / square_size;
+ if(src_nobss % square_size > 0) obs_pages++;
+
+ unsigned long var_pages = src_nvars / square_size;
+ if(src_nvars % square_size > 0) var_pages++;
+
+ ifstream * src_stream = new ifstream();
+ src_stream->open(src_data_file_name.c_str(),ios::in | ios::binary);
+
+ ofstream * dest_stream = new ofstream;
+ dest_stream->open(dest_data_file_name.c_str(),ios::out | ios::binary);
+
+ for( unsigned long i =0; i< var_pages;i++) {
+ for( unsigned long j =0; j< obs_pages;j++) {
+ unsigned long obs_length = square_size;
+ if((j + 1 )* square_size > src_nobss)
+ obs_length = src_nobss % square_size;
+
+ unsigned long var_length = square_size;
+ if((i + 1 )* square_size > src_nvars)
+ var_length = src_nvars % square_size;
+
+ char * data_part = new (nothrow) char[var_length*obs_length*data_size];
+ if(!data_part) errorLog << "can not allocate memory for data_part" << errorExit;
+ char * data_part_transposed = new (nothrow) char[var_length*obs_length*data_size];
+ if(!data_part_transposed) errorLog << "can not allocate memory for data_part_transposed" << errorExit;
+
+ read_part(src_stream, data_part, j * square_size , obs_length, i * square_size , var_length, data_size, src_nobss );
+ transpose_part(data_part,data_part_transposed,obs_length,var_length, data_size);
+ write_part(dest_stream, data_part_transposed, i * square_size, var_length, j* square_size , obs_length, data_size, src_nvars );
+
+ delete[] data_part;
+ delete[] data_part_transposed;
+ }
+ dbg << endl;
+ }
+
+ src_stream->close();
+ delete src_stream;
+ dest_stream->close();
+ delete dest_stream;
+
+ dbg<< "data written" << endl;
+}
+
+
+/*
+* read next piece of data with size = obs_length x var_length, starting from var_start, obs_start coordinates
+*/
+void Transposer::read_part(ifstream * src_stream, char * data_part, unsigned long obs_start , unsigned long obs_length,
+unsigned long var_start, unsigned long var_length , unsigned int data_size, unsigned long src_obs_length ) {
+ for(unsigned long i=0; i<var_length ;i++) {
+ //seek to the beginning of the next var
+ unsigned long read_pos = (var_start + i )* src_obs_length + obs_start ;
+ src_stream->seekg( read_pos * data_size , ios::beg );
+ //read next var to input buffer
+ src_stream->read( data_part + ( i * obs_length * data_size ), obs_length * data_size );
+ }
+}
+
+/*
+* write next piece of transposed data with size = obs_length' x var_length'
+*/
+void Transposer::write_part(ofstream * dest_stream, char * data_part_transposed, unsigned long obs_start , unsigned long obs_length,
+unsigned long var_start, unsigned long var_length , unsigned int data_size, unsigned long dest_obs_length ) {
+ for(unsigned long i=0; i<var_length ;i++) {
+ //seek to the beginning of the next var
+ unsigned long write_pos = (var_start + i )* dest_obs_length + obs_start ;
+ dest_stream->seekp( write_pos * data_size , ios::beg );
+ //write next piece of var to file
+ dest_stream->write( data_part_transposed + ( i * obs_length * data_size ), obs_length * data_size );
+ }
+}
+
+/*
+* transpose piece of data to write to the new file.
+* original axb matrix flipped to bxa matrix.
+*/
+void Transposer::transpose_part(void * data_part, void * data_part_transposed,
+unsigned long obs_length,unsigned long var_length, unsigned int data_size ) {
+ for(unsigned long i=0; i<var_length ;i++) {
+ for(unsigned long j=0; j<obs_length ;j++) {
+ int from_pos = (i * obs_length + j )* data_size;
+ int to_pos = ( j * var_length + i ) * data_size;
+ memcpy((char*)data_part_transposed + to_pos,
+ (char*)data_part + from_pos,
+ data_size);
+ }
+ }
+}
diff --git a/src/fvlib/Transposer.h b/src/fvlib/Transposer.h
new file mode 100644
index 0000000..f9bc44c
--- /dev/null
+++ b/src/fvlib/Transposer.h
@@ -0,0 +1,45 @@
+#ifndef ___TRANSPOSE___
+#define ___TRANSPOSE___
+
+#include "FileVector.h"
+
+/*
+this class transposes FileVector files without reading them fully into memory.
+data copying is working as explained below:
+ some square_size value is used for partial copy.
+ the square window traverses source data, ( cycle with i/j )
+ the piece of data is read into memory,
+ then it's being transposed
+ and written to the destination file ( j/i )
+*/
+
+class Transposer
+{
+public :
+Transposer(){ square_size =10000;};
+Transposer(int opt_square_size){ square_size=opt_square_size;};
+
+void process(string filename, string destFileName, bool forceOverwrite);
+void process(string filename);
+
+void write_var_obs_names(FileVector * src_fv, FileVector * dest_fv);
+
+void copy_data(string src_data_file_name,string dest_data_file_name, unsigned long src_nvars,
+unsigned long src_nobss, unsigned int data_size);
+
+void read_part(ifstream * src_stream, char * data_part, unsigned long obs_start , unsigned long obs_length,
+unsigned long var_start, unsigned long var_length , unsigned int data_size,unsigned long src_obs_length );
+
+void write_part(ofstream * src_stream, char * data_part_transposed, unsigned long obs_start , unsigned long obs_length,
+unsigned long var_start, unsigned long var_length , unsigned int data_size, unsigned long dest_obs_length );
+
+void transpose_part(void * data_part, void * data_part_transposed,
+unsigned long obs_length,unsigned long var_length, unsigned int data_size );
+
+private:
+//number of elements in square side. square_size^2 elements will be processed at one time:read and write
+unsigned int square_size;
+
+};
+
+#endif
diff --git a/src/fvlib/const.h b/src/fvlib/const.h
new file mode 100644
index 0000000..c71e25f
--- /dev/null
+++ b/src/fvlib/const.h
@@ -0,0 +1,21 @@
+#ifndef __CONST_H__
+#define __CONST_H__
+
+// nuber of reserved longs in FileHeader
+#define RESERVEDSPACE 5
+
+// internal format data types
+#define UNSIGNED_SHORT_INT 1
+#define SHORT_INT 2
+#define UNSIGNED_INT 3
+#define INT 4
+#define FLOAT 5
+#define DOUBLE 6
+#define SIGNED_CHAR 7
+#define UNSIGNED_CHAR 8
+
+// number of chars used to keep var/obs names
+#define NAMELENGTH 32
+
+
+#endif
diff --git a/src/fvlib/convert_util.cpp b/src/fvlib/convert_util.cpp
new file mode 100644
index 0000000..79e2015
--- /dev/null
+++ b/src/fvlib/convert_util.cpp
@@ -0,0 +1,306 @@
+#include <map>
+#include <string>
+#include <vector>
+#include <fstream>
+#include <iostream>
+#include <unistd.h>
+
+using namespace std;
+
+#include "FileVector.h"
+#include "Transposer.h"
+
+#include "convert_util.h"
+
+#define REPORT_EVERY 10000
+#include <iostream>
+#include <fstream>
+#include <string>
+#include <cstring>
+#include <sstream>
+
+unsigned long calcNumLines(string fileName){
+ ifstream file(fileName.c_str());
+ string line;
+ unsigned long numlines = 0;
+ while(getline(file, line)){
+ numlines++;
+ }
+ return numlines;
+}
+
+void messageOnOff(int bit)
+{
+ msg << (bit?"ON":"OFF");
+}
+
+unsigned long calcNumWordsInFirstLine(string fileName){
+ ifstream file(fileName.c_str());
+ vector<string> words;
+ string line;
+ getline(file, line);
+ tokenize(line, words);
+ return words.size();
+}
+
+void text2fvf(string program_name, string infilename, string outfilename,
+ string rownamesfilename, string colnamesfilename, int rncol, int cnrow,
+ unsigned long skiprows, unsigned long skipcols, int bTranspose, int Rmatrix,
+ unsigned short type, bool quiet, string nanString) {
+
+ if (Rmatrix) {
+ skipcols = skiprows = 1;
+ rncol = cnrow = 1;
+ }
+
+ if (!quiet) {
+ msg << "Options in effect: \n";
+
+ msg << "\t --infile = " << infilename.c_str() << endl;
+ msg << "\t --outfile = " << outfilename.c_str()<< endl;
+
+ msg << "\t --skiprows = ";
+ if (skiprows) msg << skiprows << endl; else msg << "OFF\n";
+
+ msg << "\t --skipcols = ";
+ if (skipcols) msg << skipcols << endl; else msg <<"OFF\n";
+
+ msg << "\t --cnrow = ";
+ if (cnrow || colnamesfilename != "") {
+ if (colnamesfilename == "")
+ msg<<"ON, using line "<<cnrow<<" of '" <<infilename << "'\n";
+ else
+ msg<<"ON, using data from file '" <<colnamesfilename<< "'\n";
+ } else {
+ msg << "OFF\n";
+ }
+
+ msg << "\t --rncol = ";
+
+ if (rncol || rownamesfilename != "") {
+ if (rownamesfilename == "")
+ msg << "ON, using column " << rncol << " of '" << infilename << "'\n";
+ else
+ msg << "ON, using data from file '" << rownamesfilename << "'\n";
+ } else {
+ msg << "OFF\n";
+ }
+
+ msg << "\t --transpose = ";
+ messageOnOff(bTranspose);
+ msg << "\n";
+ msg << "\t --Rmatrix = ";
+ messageOnOff(Rmatrix);
+ msg << endl;
+ msg << "\t --nanString = " << nanString;
+ msg << endl;
+ }
+
+ const string TMP_SUFFIX = "_fvtmp";
+ string realOutFilename = outfilename;
+
+ // if transpose if OFF, do transpose (sic) and write to temp file
+ if (!bTranspose){
+ outfilename = outfilename + TMP_SUFFIX;
+ }
+
+ // check that it is mentioned how many columns to skip when reading row names
+ if (rownamesfilename=="" && (rncol>0) && !skipcols) {
+ errorLog << "\n\nPlease tell how many columns to skip when you provide the column containing row names!" << endl << endl << errorExit;
+ }
+ if (skipcols && (rncol > ((int) skipcols) ) ) {
+ errorLog << "rncol > skipcols" << errorExit;
+ }
+ if (colnamesfilename=="" && (cnrow>0) && !skiprows) {
+ errorLog << "\n\nPlease tell how many rows to skip when you provide the row containing column names!" << endl << endl << errorExit;
+ }
+ if (skiprows && (cnrow > ((int) skiprows) ) ) {
+ errorLog << "cnrow > skiprows" << errorExit;
+ }
+
+ ifstream infile(infilename.c_str());
+ if (!infile) {
+ errorLog << "Can not open file '" << infilename << "' for reading\n\n" << errorExit;
+ }
+
+ vector<string> extColNames;
+
+ // column names specified in a separate file; check the number of columns
+ unsigned long words_in_colnamesfile = 0;
+
+ // reading column names from file
+ if (colnamesfilename != "")
+ {
+ msg << "Reading columns from " << colnamesfilename << ": ";
+ ifstream colnamesfile(colnamesfilename.c_str());
+ string tmpstr;
+ if (!colnamesfile) {
+ errorLog << "Can not open column names file '" << colnamesfilename << "'\n\n" << errorExit;
+ }
+ while (colnamesfile >> tmpstr) {
+ words_in_colnamesfile++;
+ extColNames.push_back(tmpstr);
+ }
+ colnamesfile.close();
+ if (!quiet) {
+ msg << "Number of names in column-names file '" << colnamesfilename << "' is ";
+ msg <<words_in_colnamesfile<< "\n\n";
+ }
+ }
+
+ vector<string> extRowNames;
+
+ // row names specified in a separate file; check the number of columns
+ unsigned long words_in_rownamesfile = 0;
+
+ // reading row names from file
+ if (rownamesfilename != "") {
+ ifstream rownamesfile(rownamesfilename.c_str());
+ string tmpstr;
+ if (!rownamesfile) {
+ errorLog<< "Can not open row names file '"<<rownamesfilename<<"'\n\n";
+ }
+ while (rownamesfile >> tmpstr) {
+ words_in_rownamesfile++;
+ extRowNames.push_back(tmpstr);
+ }
+
+ rownamesfile.close();
+
+ if (!quiet){
+ msg << "number of names in row-names file '" << rownamesfilename;
+ msg << "' is "<<words_in_rownamesfile<<"\n\n"<< endl;
+ }
+
+ }
+
+ ifstream srcFile(infilename.c_str());
+
+ string firstLine;
+
+ vector<string> firstLineWords;
+ tokenize(firstLine, firstLineWords);
+
+ unsigned long numLines = calcNumLines(infilename);
+ unsigned long numWords = calcNumWordsInFirstLine(infilename);
+
+ msg << "Number of lines in source file is " << numLines << endl;
+ msg << "Number of words in source file is " << numWords << endl;
+
+ msg << "skiprows = " << skiprows << endl;
+ msg << "cnrow = " << cnrow << endl;
+ msg << "skipcols = " << skipcols << endl;
+ msg << "rncol = " << rncol << endl;
+ msg << "Rmatrix = " << Rmatrix << endl;
+ msg << "numWords = " << numWords << endl;
+
+ long int numRows = numLines - skiprows;
+ long int numColumns=123;
+
+ bool colNamesFilePresents = (colnamesfilename!="");
+ bool rowNamesFilePresents = (rownamesfilename!="");
+
+ numColumns = numWords - skipcols;
+ if (Rmatrix && !colNamesFilePresents)
+ numColumns = numWords - skipcols + 1;
+
+ msg << "Creating file with numRows = " << numRows << endl;
+ msg << "Creating file with numColumns = " << numColumns << endl;
+
+ initializeEmptyFile(outfilename, numRows, numColumns, type, true );
+ FileVector *out = new FileVector(outfilename, 1);
+
+ string line;
+ unsigned long rowCnt = 1;
+ unsigned long lineCnt = 1;
+
+ short element_size = out->getElementSize();
+ char* ArbTypeData = new (nothrow) char [(out->getNumObservations())*element_size];
+
+ while(getline(srcFile, line)) {
+
+ // is this a column name line?
+ if (lineCnt == ((unsigned long) cnrow) && !colNamesFilePresents)
+ {
+ unsigned long i;
+ vector<string> lineWords;
+ tokenize(line, lineWords);
+ // ignoring R-matrix flag for some reason
+ for(i=skipcols-Rmatrix; i<lineWords.size(); i++) {
+ extColNames.push_back(lineWords[i]);
+ }
+ lineCnt++;
+ continue;
+ }
+
+ if (lineCnt <= skiprows)
+ {
+ lineCnt++;
+ continue;
+ }
+
+ unsigned long colCnt = 0;
+ unsigned long i = 0;
+ char const *SEPARATORS = " \t";
+ char *lineBuf = strdup(line.c_str());
+ char *word = strtok(lineBuf, SEPARATORS);
+ while(word!=0) {
+
+ if (i == ( (unsigned long) (rncol - 1) ) && !rowNamesFilePresents) {
+ extRowNames.push_back(word);
+ word = strtok(0, SEPARATORS);
+ i++;
+ continue;
+ }
+
+ if (i < skipcols) {
+ word = strtok(0, SEPARATORS);
+ i++;
+ continue;
+ }
+
+ parseStringToArbType(word, type, &ArbTypeData[colCnt*element_size], nanString);
+ colCnt++;
+ word = strtok(0, SEPARATORS);
+ i++;
+ }
+ free(lineBuf);
+
+ out->writeVariable(rowCnt-1, (char*)ArbTypeData);
+ rowCnt++;
+ lineCnt++;
+ }
+
+ delete [] ArbTypeData;
+
+ if (!colNamesFilePresents && cnrow < 0) for (long int i=1;i<=numColumns;i++) {
+ char * tmpstr = NULL;
+ sprintf(tmpstr,"%lu",i);
+ extColNames.push_back(tmpstr);
+ }
+ if (!rowNamesFilePresents && cnrow < 0) for (long int i=1;i<=numRows;i++) {
+ char * tmpstr = NULL;
+ sprintf(tmpstr,"%lu",i);
+ extRowNames.push_back(tmpstr);
+ }
+ unsigned long i;
+ for (i=0;i<extColNames.size();i++){
+ out->writeObservationName(i,extColNames[i]);
+ }
+
+ for (i=0;i<extRowNames.size();i++){
+ out->writeVariableName(i,extRowNames[i]);
+ }
+
+ delete out;
+
+ if(!bTranspose)
+ {
+ msg << "Transposing " << outfilename << " => " << realOutFilename << "." << endl;
+ Transposer tr;
+
+ tr.process(outfilename, realOutFilename, true);
+ }
+ msg << "text2fvf finished." << endl;
+}
+
diff --git a/src/fvlib/convert_util.h b/src/fvlib/convert_util.h
new file mode 100644
index 0000000..a89f9d9
--- /dev/null
+++ b/src/fvlib/convert_util.h
@@ -0,0 +1,13 @@
+#ifndef __CONVERT_UTIL__
+#define __CONVERT_UTIL__
+
+using namespace std;
+
+unsigned long calcNumLines(string fileName);
+void parseStringToArbType(string s, int destType, void *destData);
+void text2fvf(string program_name, string infilename, string outfilename,
+ string rownamesfilename, string colnamesfilename, int rncol, int cnrow,
+ unsigned long skiprows, unsigned long skipcols, int bTranspose, int Rmatrix,
+ unsigned short type, bool quiet, string nanString);
+
+#endif
diff --git a/src/fvlib/frutil.cpp b/src/fvlib/frutil.cpp
new file mode 100644
index 0000000..6233214
--- /dev/null
+++ b/src/fvlib/frutil.cpp
@@ -0,0 +1,177 @@
+#include <sys/stat.h>
+#include <string>
+#include <vector>
+
+#include "frutil.h"
+#include "const.h"
+#include "FileVector.h"
+
+FileHeader get_file_type(char * filename) {
+ FileHeader out;
+ ifstream myfile(filename, ios::binary | ios::in);
+ if (!myfile) {
+ errorLog << "can not open file for reading" << endl << errorExit;
+ }
+ myfile.read((char*)&out,sizeof(out));
+ return(out);
+}
+
+string extract_base_file_name(string filename)
+{
+ unsigned int idxExtPos = filename.find(FILEVECTOR_INDEX_FILE_SUFFIX);
+ unsigned int dataExtPos = filename.find(FILEVECTOR_DATA_FILE_SUFFIX);
+ if (idxExtPos == filename.size() - FILEVECTOR_INDEX_FILE_SUFFIX.size() )
+ {
+ return filename.substr(0, idxExtPos);
+ }
+ else if (dataExtPos == filename.size() - FILEVECTOR_DATA_FILE_SUFFIX.size() )
+ {
+ return filename.substr(0, dataExtPos );
+ }
+ else
+ {
+ return filename;
+ }
+}
+
+unsigned short calcDataSize(unsigned short int type){
+ unsigned short desize;
+ switch (type) {
+ case UNSIGNED_SHORT_INT:
+ desize = sizeof(unsigned short int);
+ break;
+ case SHORT_INT:
+ desize = sizeof(short int);
+ break;
+ case UNSIGNED_INT:
+ desize = sizeof(unsigned int);
+ break;
+ case INT:
+ desize = sizeof(int);
+ break;
+ case FLOAT:
+ desize = sizeof(float);
+ break;
+ case DOUBLE:
+ desize = sizeof(double);
+ break;
+ case SIGNED_CHAR:
+ desize = sizeof(char);
+ break;
+ case UNSIGNED_CHAR:
+ desize = sizeof(unsigned char);
+ break;
+ default:
+ desize = 0;
+ errorLog << "file contains data of unknown type " << type << endl << errorExit;
+ }
+ return desize;
+}
+
+void initializeEmptyFile(string filename, unsigned long numVariables, unsigned long nobservations, unsigned short type, bool override)
+{
+ dbg << "Initializing empty file '" << filename << "', type " << type << "." << endl;
+ string indexFilename = filename + FILEVECTOR_INDEX_FILE_SUFFIX;
+ string dataFilename = filename + FILEVECTOR_DATA_FILE_SUFFIX;
+
+ FileHeader fileHeader;
+ unsigned long desize = calcDataSize(type);
+ fileHeader.type = type;
+ fileHeader.numVariables = numVariables;
+ fileHeader.numObservations = nobservations;
+ fileHeader.nelements = numVariables*nobservations;
+ fileHeader.bytesPerRecord = desize;
+ fileHeader.bitsPerRecord = desize*8;
+
+ bool bHeaderOrDataExists = headerOrDataExists( filename );
+
+ if (override && bHeaderOrDataExists) {
+ dbg << "Deleting existing file" << indexFilename << endl;
+ unlink(indexFilename.c_str());
+ unlink(dataFilename.c_str());
+ }
+
+ if (!override && bHeaderOrDataExists) {
+ errorLog << "File '" << filename << "' already exists." << endl << errorExit;
+ }
+
+ ofstream indexFile(indexFilename.c_str(), ios::binary | ios::out);
+ ofstream dataFile(dataFilename.c_str(), ios::binary | ios::out);
+
+ deepDbg << "Writing FileVector header." << endl;
+ fileHeader.print();
+
+ indexFile.seekp(0,ios::beg);
+ indexFile.write((char*)&fileHeader, sizeof(fileHeader));
+
+ deepDbg << "Writing "<<nobservations<<" observations." << endl;
+ FixedChar name;
+ for (unsigned long i=0;i<nobservations;i++) {
+ sprintf(name.name, "%lu", i+1);
+ indexFile.seekp(sizeof(FileHeader) + i * sizeof(FixedChar), ios::beg);
+ indexFile.write((char*)&name.name,sizeof(name.name));
+ }
+
+ deepDbg << "Writing "<< numVariables <<" variables." << endl;
+
+ for (unsigned long j=0;j<numVariables;j++) {
+ sprintf(name.name, "%lu", j+1);
+ indexFile.seekp(sizeof(FileHeader) + (j + fileHeader.numObservations) * sizeof(FixedChar), ios::beg);
+ indexFile.write((char*)&name.name,sizeof(name.name));
+ }
+ indexFile.close();
+
+ deepDbg << "Writing data file." << endl;
+
+ unsigned long estimated_data_size = (unsigned long) fileHeader.bytesPerRecord *
+ (unsigned long) fileHeader.numVariables *
+ (unsigned long) fileHeader.numObservations;
+ //unsigned long i;
+ dataFile.seekp(estimated_data_size-1,ios::beg);
+ char c = 0;
+ dataFile.write(&c,1);
+ deepDbg <<"Closing data file"<<endl;
+ dataFile.close();
+ dbg << "File '" << filename << "' initialized."<< endl;
+}
+
+bool headerOrDataExists(string fileName) {
+ return file_exists(fileName + FILEVECTOR_INDEX_FILE_SUFFIX) || file_exists(fileName + FILEVECTOR_INDEX_FILE_SUFFIX);
+}
+
+bool file_exists(string fileName) {
+ struct stat buf;
+ int i = stat ( fileName.c_str(), &buf );
+ /* File found */
+ if ( i == 0 )
+ {
+ return true;
+ }
+ return false;
+}
+
+void tokenize(const string& str, vector<string>& tokens, const string& delimiters) {
+ string::size_type lastPos = str.find_first_not_of(delimiters, 0);
+ string::size_type pos = str.find_first_of(delimiters, lastPos);
+ while (string::npos != pos || string::npos != lastPos) {
+ tokens.push_back(str.substr(lastPos, pos - lastPos));
+ lastPos = str.find_first_not_of(delimiters, pos);
+ pos = str.find_first_of(delimiters, lastPos);
+ }
+}
+
+#define PART_SIZE INT_MAX
+void blockWriteOrRead(fstream& file, unsigned long length, char* data, bool writeAction){
+ unsigned long i;
+ unsigned long numParts = length/PART_SIZE;
+ for(i = 0; i <= numParts; i++){
+ unsigned long subLength =
+ (numParts>0 && i < numParts )?PART_SIZE:(length%PART_SIZE);
+ if (writeAction){
+ file.write(data+i*PART_SIZE, subLength);
+ } else {
+ file.read(data+i*PART_SIZE, subLength);
+ }
+ }
+}
+
diff --git a/src/fvlib/frutil.h b/src/fvlib/frutil.h
new file mode 100644
index 0000000..66e893f
--- /dev/null
+++ b/src/fvlib/frutil.h
@@ -0,0 +1,80 @@
+#ifndef __FRUTIL__
+#define __FRUTIL__
+
+#include <iostream>
+#include <cstring>
+#include <cstdlib>
+#include <fstream>
+#include <vector>
+
+#include "const.h"
+#include "Logger.h"
+#include "CastUtils.h"
+
+using namespace std;
+
+class FixedChar
+{
+public:
+ FixedChar(){
+ memset(name,0xab,NAMELENGTH);
+ };
+ FixedChar(string s){
+ if (s.length()>=NAMELENGTH){
+ errorLog << "Overflow of FixedChar (length of name > NAMELENGTH (" << NAMELENGTH << "): "<<s.c_str()<<"." << endl;
+
+ }
+
+ strncpy(name,s.c_str(),NAMELENGTH-1);
+ name[NAMELENGTH-1] = '\0';
+ };
+ char name[NAMELENGTH];
+};
+
+class FileHeader
+{
+public:
+ unsigned short int type;
+ // should change that to long!!!
+ unsigned int nelements;
+ unsigned int numObservations;
+ unsigned int numVariables;
+ unsigned int bytesPerRecord;
+ unsigned int bitsPerRecord;
+ unsigned int namelength;
+ unsigned int reserved[RESERVEDSPACE];
+
+ FileHeader () {
+ type=0;
+ nelements=0;
+ numObservations=0;
+ bitsPerRecord=0;
+ bytesPerRecord=0;
+ numVariables=0;
+ namelength = NAMELENGTH;
+ for (int i=0;i<RESERVEDSPACE;i++) reserved[i]=0;
+ }
+ ~FileHeader() {}
+
+ void print() {
+ dbg << "type = " << type << "("<< dataTypeToString(type) << ")"<< endl;
+ dbg << "nelements = " << nelements << endl;
+ dbg << "numObservations = " << numObservations << endl;
+ dbg << "numVariables = " << numVariables << ";" << endl;
+ dbg << "bytesPerRecord = " << bytesPerRecord << ";" << endl;
+ dbg << "bitsPerRecord = " << bitsPerRecord << ";" << endl;
+ }
+};
+
+
+FileHeader get_file_type(char * filename);
+
+void initializeEmptyFile(string filename, unsigned long numVariables, unsigned long nobservations, unsigned short int type, bool override);
+
+string extract_base_file_name(string filename);
+bool file_exists(string fileName);
+bool headerOrDataExists(string fileName);
+unsigned short calcDataSize(unsigned short int type);
+void tokenize(const string& str, vector<string>& tokens, const string& delimiters = " \t");
+void blockWriteOrRead(fstream& file, unsigned long length, char* data, bool writeAction);
+#endif
diff --git a/src/fvlib/frversion.h b/src/fvlib/frversion.h
new file mode 100644
index 0000000..f7c59ea
--- /dev/null
+++ b/src/fvlib/frversion.h
@@ -0,0 +1,8 @@
+#ifndef __FRVERSION__
+#define __FRVERSION__
+
+#define FV_VERSION "0.0-7"
+#define FV_RELEASEDATE "July 26, 2009"
+#define FV_AUTHORS "Yurii Aulchenko"
+
+#endif
diff --git a/src/gendata.cpp b/src/gendata.cpp
new file mode 100644
index 0000000..eef0f81
--- /dev/null
+++ b/src/gendata.cpp
@@ -0,0 +1,251 @@
+/*
+ * gendata.cpp
+ *
+ * Created on: Mar 8, 2012
+ * Author: mkooyman
+ */
+#include <string>
+#include <errno.h>
+#include "gendata.h"
+#include "fvlib/FileVector.h"
+#if EIGEN
+#include "eigen_mematrix.h"
+#include "eigen_mematrix.cpp"
+#else
+#include "mematrix.h"
+#include "mematri1.h"
+#endif
+#include "utilities.h"
+
+void gendata::get_var(int var, double * data)
+{
+ // Read the genetic data for SNP 'var' and store in the array 'data'
+
+ if (DAG == NULL) // Read from text file
+ {
+ for (int i = 0; i < G.nrow; i++)
+ {
+ data[i] = G.get(i, var);
+ }
+ }
+ else if (DAG != NULL) // Read from fv file
+ {
+ double tmpdata[DAG->getNumObservations()];
+ DAG->readVariableAs((unsigned long int) var, tmpdata);
+
+ unsigned int j = 0;
+ for (unsigned int i = 0; i < DAG->getNumObservations(); i++)
+ {
+ if (!DAGmask[i])
+ {
+ // A dirty trick to get rid of conversion
+ // errors. Instead of casting float data to double we
+ // convert the data to string and then do strtod()
+ std::ostringstream strs;
+ strs << tmpdata[i];
+ std::string str = strs.str();
+ double val;
+ char *endptr;
+ errno = 0; // To distinguish success/failure
+ // after strtod()
+ val = strtod(str.c_str(), &endptr);
+
+ if ((errno == ERANGE && (val == HUGE_VALF || val == HUGE_VALL))
+ || (errno != 0 && val == 0)) {
+ perror("Error while reading genetic data (strtod)");
+ exit(EXIT_FAILURE);
+ }
+
+ if (endptr == str.c_str()) {
+ cerr << "No digits were found while reading genetic data"
+ << " (individual " << i + 1
+ << ", position " << var + 1 << ")"
+ << endl;
+ exit(EXIT_FAILURE);
+ }
+ /* If we got here, strtod() successfully parsed a number */
+ data[j++] = val;
+ }
+ }
+ }
+ else
+ {
+ report_error("cannot get gendata");
+ }
+}
+
+gendata::gendata() : nsnps(0), nids(0), ngpreds(0), DAG(NULL), DAGmask(NULL)
+{
+}
+
+void gendata::re_gendata(string filename, unsigned int insnps,
+ unsigned int ingpreds, unsigned int npeople,
+ unsigned int nmeasured,
+ unsigned short int * allmeasured,
+ std::string * idnames)
+{
+ nsnps = insnps;
+ ngpreds = ingpreds;
+ DAG = new FileVector(filename, 128, true);
+ DAGmask = new unsigned short int[DAG->getNumObservations()];
+ if (DAG->getNumObservations() != npeople)
+ report_error("dimension of fvf-data and phenotype data do not match\n");
+
+ if (DAG->getNumVariables() != insnps * ingpreds)
+ report_error("dimension of fvf-data and mlinfo data do not match\n");
+
+ long int j = -1;
+
+ for (unsigned int i = 0; i < npeople; i++)
+ {
+ if (allmeasured[i] == 0)
+ DAGmask[i] = 1;
+ else
+ {
+ DAGmask[i] = 0;
+ j++;
+ }
+ string DAGobsname = DAG->readObservationName(i).name;
+
+ if (DAGobsname.find("->") != string::npos)
+ DAGobsname = DAGobsname.substr(DAGobsname.find("->") + 2);
+
+ // if (allmeasured[i] && idnames[j] != DAGobsname)
+ // std::cerr << "names do not match for observation at phenofile "
+ // << "line (phe/geno) " << i+1 << "/+1 ("
+ // << idnames[i].c_str() << "/"
+ // << DAGobsname.c_str() << ")\n";
+ // fix thanks to Vadym Pinchuk
+ if (allmeasured[i] && idnames[j] != DAGobsname)
+ report_error(
+ "names do not match for observation at phenofile line(phe/geno) %i/+1 (%s/%s)\n",
+ i + 1, idnames[j].c_str(), DAGobsname.c_str());
+
+ }
+ nids = j + 1;
+ // std::cout << "in INI: " << nids << " " << npeople << "\n";
+ if (nids != nmeasured)
+ report_error("nids != mneasured (%i != %i)\n", nids, nmeasured);
+}
+
+void gendata::re_gendata(char * fname, unsigned int insnps,
+ unsigned int ingpreds, unsigned int npeople,
+ unsigned int nmeasured,
+ unsigned short int * allmeasured, int skipd,
+ std::string * idnames)
+{
+ nids = nmeasured;
+ nsnps = insnps;
+ ngpreds = ingpreds;
+ DAG = NULL;
+ // int nids_all = npeople;
+
+ G.reinit(nids, (nsnps * ngpreds));
+
+ std::ifstream infile;
+
+ infile.open(fname);
+ if (!infile)
+ {
+ std::cerr << "gendata: cannot open file " << fname << endl;
+ }
+
+ std::string tmpid, tmpstr;
+
+ int k = 0;
+ for (unsigned int i = 0; i < npeople; i++)
+ {
+ if (allmeasured[i] == 1)
+ {
+ if (skipd > 0)
+ {
+ // Read the genotype data and look for the signature
+ // arrow of MaCH/minimac. If found only use the part
+ // after the arrow as ID.
+ infile >> tmpstr;
+ size_t strpos = tmpstr.find("->");
+ if (strpos != string::npos)
+ {
+ tmpid = tmpstr.substr(strpos+2, string::npos);
+ }
+ else
+ {
+ tmpid = tmpstr;
+ }
+ if (tmpid != idnames[k])
+ {
+ cerr << "phenotype file and dose or probability file "
+ << "did not match at line " << i + 2 << " (" << tmpid
+ << " != " << idnames[k] << ")" << endl;
+ infile.close();
+ exit(1);
+ }
+ }
+
+ for (int j = 1; j < skipd; j++)
+ {
+ infile >> tmpstr;
+ }
+
+ for (unsigned int j = 0; j < (nsnps * ngpreds); j++)
+ {
+ if (infile.good())
+ {
+ infile >> tmpstr;
+ // tmpstr contains the dosage in string form. Convert
+ // it to double (if tmpstr is NaN it will be set to nan).
+ double dosage;
+ char *endptr;
+ errno = 0; // To distinguish success/failure
+ // after strtod()
+ dosage = strtod(tmpstr.c_str(), &endptr);
+
+ if ((errno == ERANGE &&
+ (dosage == HUGE_VALF || dosage == HUGE_VALL))
+ || (errno != 0 && dosage == 0)) {
+ perror("Error while reading genetic data (strtod)");
+ exit(EXIT_FAILURE);
+ }
+
+ if (endptr == tmpstr.c_str()) {
+ cerr << "No digits were found while reading genetic data"
+ << " (individual " << i + 1
+ << ", position " << j + 1 << ")"
+ << endl;
+ exit(EXIT_FAILURE);
+ }
+
+ /* If we got here, strtod() successfully parsed a number */
+ G.put(dosage, k, j);
+ }
+ else
+ {
+ std::cerr << "cannot read dose-file: " << fname
+ << "check skipd and ngpreds parameters\n";
+ infile.close();
+ exit(1);
+ }
+ }
+ k++;
+ }
+ else
+ {
+ for (int j = 0; j < skipd; j++)
+ infile >> tmpstr;
+ for (unsigned int j = 0; j < (nsnps * ngpreds); j++)
+ infile >> tmpstr;
+ }
+ }
+ infile.close();
+}
+// HERE NEED A NEW CONSTRUCTOR BASED ON DATABELBASECPP OBJECT
+gendata::~gendata()
+{
+ if (DAG != NULL)
+ {
+ delete DAG;
+ delete[] DAGmask;
+ }
+
+ // delete G;
+}
diff --git a/src/gendata.h b/src/gendata.h
new file mode 100644
index 0000000..dcf8de6
--- /dev/null
+++ b/src/gendata.h
@@ -0,0 +1,48 @@
+/*
+ * gendata.h
+ *
+ * Created on: Mar 8, 2012
+ * Author: mkooyman
+ */
+
+#ifndef GENDATA_H_
+#define GENDATA_H_
+#include <string>
+#include "fvlib/FileVector.h"
+
+#if EIGEN
+#include "eigen_mematrix.h"
+#include "eigen_mematrix.cpp"
+#else
+#include "mematrix.h"
+#endif
+
+class gendata {
+public:
+ unsigned int nsnps;
+ unsigned int nids;
+ unsigned int ngpreds;
+ gendata();
+
+ void re_gendata(char * fname, unsigned int insnps, unsigned int ingpreds,
+ unsigned int npeople, unsigned int nmeasured,
+ unsigned short int * allmeasured, int skipd, std::string * idnames);
+
+ void re_gendata(string filename, unsigned int insnps, unsigned int ingpreds,
+ unsigned int npeople, unsigned int nmeasured,
+ unsigned short int * allmeasured, std::string * idnames);
+
+ void get_var(int var, double * data);
+
+ ~gendata();
+
+ // MAKE THAT PRIVATE, ACCESS THROUGH GET_SNP
+ // ANOTHER PRIVATE OBJECT IS A POINTER TO DATABELBASECPP
+ // UPDATE SNP, ALL REGRESSION METHODS: ACCOUNT FOR MISSING
+private:
+ mematrix<double> G;
+ AbstractMatrix * DAG;
+ unsigned short int * DAGmask;
+};
+
+#endif /* GENDATA_H_ */
diff --git a/src/include/R.h b/src/include/R.h
new file mode 100644
index 0000000..bc8771d
--- /dev/null
+++ b/src/include/R.h
@@ -0,0 +1,71 @@
+/*
+ * R : A Computer Language for Statistical Data Analysis
+ * Copyright (C) 2000-2007 The R Development Core Team.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 2.1 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 Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, a copy is available at
+ * http://www.r-project.org/Licenses/
+ */
+
+#ifndef R_R_H
+#define R_R_H
+
+#ifndef USING_R
+#define USING_R
+#endif
+
+#ifndef NO_C_HEADERS
+#include <stdlib.h>
+#include <stdio.h>
+#include <limits.h>
+#include <float.h>
+#include <math.h>
+#include <errno.h>
+#endif
+
+/*
+#include <stddef.h>
+*/
+
+#include <Rconfig.h>
+#include <R_ext/Arith.h> /* R_FINITE, ISNAN, ... */
+#include <R_ext/Boolean.h> /* Rboolean type */
+#include <R_ext/Complex.h> /* Rcomplex type */
+#include <R_ext/Constants.h> /* PI, DOUBLE_EPS, etc */
+#include <R_ext/Error.h> /* error and warning */
+#include <R_ext/Memory.h> /* R_alloc and S_alloc */
+#include <R_ext/Print.h> /* Rprintf etc */
+#include <R_ext/Random.h> /* RNG interface */
+#include <R_ext/Utils.h> /* sort routines et al */
+#include <R_ext/RS.h>
+/* for PROBLEM ... Calloc, Realloc, Free, Memcpy, F77_xxxx */
+
+
+typedef double Sfloat;
+typedef int Sint;
+#define SINT_MAX INT_MAX
+#define SINT_MIN INT_MIN
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void R_FlushConsole(void);
+/* always declared, but only usable under Win32 and Aqua */
+void R_ProcessEvents(void);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* !R_R_H */
diff --git a/src/include/R_ext/Arith.h b/src/include/R_ext/Arith.h
new file mode 100644
index 0000000..2ebb9a5
--- /dev/null
+++ b/src/include/R_ext/Arith.h
@@ -0,0 +1,85 @@
+/*
+ * R : A Computer Language for Statistical Data Analysis
+ * Copyright (C) 1995, 1996 Robert Gentleman and Ross Ihaka
+ * Copyright (C) 1998--2007 The R Development Core Team.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 2.1 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 Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, a copy is available at
+ * http://www.r-project.org/Licenses/
+ */
+
+#ifndef R_ARITH_H_
+#define R_ARITH_H_
+
+/* Only for use where config.h has not already been included */
+#if defined(HAVE_GLIBC2) && !defined(_BSD_SOURCE)
+/* ensure that finite and isnan are declared */
+# define _BSD_SOURCE 1
+#endif
+
+#include <R_ext/libextern.h>
+#ifdef __cplusplus
+extern "C" {
+#elif !defined(NO_C_HEADERS)
+/* needed for isnan and isfinite, neither of which are used under C++ */
+# include <math.h>
+#endif
+
+/* implementation of these : ../../main/arithmetic.c */
+LibExtern double R_NaN; /* IEEE NaN */
+LibExtern double R_PosInf; /* IEEE Inf */
+LibExtern double R_NegInf; /* IEEE -Inf */
+LibExtern double R_NaReal; /* NA_REAL: IEEE */
+LibExtern int R_NaInt; /* NA_INTEGER:= INT_MIN currently */
+#ifdef __MAIN__
+#undef extern
+#undef LibExtern
+#endif
+
+#define NA_LOGICAL R_NaInt
+#define NA_INTEGER R_NaInt
+/* #define NA_FACTOR R_NaInt unused */
+#define NA_REAL R_NaReal
+/* NA_STRING is a SEXP, so defined in Rinternals.h */
+
+int R_IsNA(double); /* True for R's NA only */
+int R_IsNaN(double); /* True for special NaN, *not* for NA */
+int R_finite(double); /* True if none of NA, NaN, +/-Inf */
+
+#define ISNA(x) R_IsNA(x)
+/* True for *both* NA and NaN.
+ NOTE: some systems do not return 1 for TRUE.
+ Also note that C++ math headers specifically undefine
+ isnan if it is a macro (it is on OS X and in C99),
+ hence the workaround. This code also appears in Rmath.h
+*/
+#ifdef __cplusplus
+ int R_isnancpp(double); /* in arithmetic.c */
+# define ISNAN(x) R_isnancpp(x)
+#else
+# define ISNAN(x) (isnan(x)!=0)
+#endif
+
+/* The following is only defined inside R */
+#ifdef HAVE_WORKING_ISFINITE
+/* isfinite is defined in <math.h> according to C99 */
+# define R_FINITE(x) isfinite(x)
+#else
+# define R_FINITE(x) R_finite(x)
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* R_ARITH_H_ */
diff --git a/src/include/R_ext/Boolean.h b/src/include/R_ext/Boolean.h
new file mode 100644
index 0000000..007f5ca
--- /dev/null
+++ b/src/include/R_ext/Boolean.h
@@ -0,0 +1,35 @@
+/*
+ * R : A Computer Language for Statistical Data Analysis
+ * Copyright (C) 2000, 2001 The R Development Core Team.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 2.1 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 Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, a copy is available at
+ * http://www.r-project.org/Licenses/
+ */
+
+#ifndef R_EXT_BOOLEAN_H_
+#define R_EXT_BOOLEAN_H_
+
+#undef FALSE
+#undef TRUE
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+typedef enum { FALSE = 0, TRUE /*, MAYBE */ } Rboolean;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* R_EXT_BOOLEAN_H_ */
diff --git a/src/include/R_ext/Complex.h b/src/include/R_ext/Complex.h
new file mode 100644
index 0000000..0087120
--- /dev/null
+++ b/src/include/R_ext/Complex.h
@@ -0,0 +1,37 @@
+/*
+ * R : A Computer Language for Statistical Data Analysis
+ * Copyright (C) 1998-2001 Robert Gentleman, Ross Ihaka
+ * and the R Development Core Team
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 2.1 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 Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, a copy is available at
+ * http://www.r-project.org/Licenses/
+ */
+
+#ifndef R_COMPLEX_H
+#define R_COMPLEX_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef struct {
+ double r;
+ double i;
+} Rcomplex;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* R_COMPLEX_H */
diff --git a/src/include/R_ext/Constants.h b/src/include/R_ext/Constants.h
new file mode 100644
index 0000000..70b2e40
--- /dev/null
+++ b/src/include/R_ext/Constants.h
@@ -0,0 +1,42 @@
+/*
+ * R : A Computer Language for Statistical Data Analysis
+ * Copyright (C) 1995, 1996 Robert Gentleman and Ross Ihaka
+ * Copyright (C) 1998-2007 The R Development Core Team.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 2.1 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 Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, a copy is available at
+ * http://www.r-project.org/Licenses/
+ */
+
+#ifndef R_EXT_CONSTANTS_H_
+#define R_EXT_CONSTANTS_H_
+
+/* usually in math.h, but in case not ... */
+#ifndef M_PI
+#define M_PI 3.141592653589793238462643383279502884197169399375
+#endif
+
+#ifndef STRICT_R_HEADERS
+#define PI M_PI
+#include <float.h> /* Defines the rest, at least in C99 */
+#define SINGLE_EPS FLT_EPSILON
+#define SINGLE_BASE FLT_RADIX
+#define SINGLE_XMIN FLT_MIN
+#define SINGLE_XMAX FLT_MAX
+#define DOUBLE_DIGITS DBL_MANT_DIG
+#define DOUBLE_EPS DBL_EPSILON
+#define DOUBLE_XMAX DBL_MAX
+#define DOUBLE_XMIN DBL_MIN
+#endif
+
+#endif /* R_EXT_CONSTANTS_H_ */
diff --git a/src/include/R_ext/Error.h b/src/include/R_ext/Error.h
new file mode 100644
index 0000000..e76643c
--- /dev/null
+++ b/src/include/R_ext/Error.h
@@ -0,0 +1,45 @@
+/*
+ * R : A Computer Language for Statistical Data Analysis
+ * Copyright (C) 1998-2005 Robert Gentleman, Ross Ihaka
+ * and the R Development Core Team
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 2.1 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 Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, a copy is available at
+ * http://www.r-project.org/Licenses/
+ */
+
+#ifndef R_ERROR_H_
+#define R_ERROR_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void Rf_error(const char *, ...);
+void Rf_warning(const char *, ...);
+void WrongArgCount(const char *);
+void UNIMPLEMENTED(const char *);
+void R_ShowMessage(const char *s);
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#ifndef R_NO_REMAP
+#define error Rf_error
+#define warning Rf_warning
+#endif
+
+
+#endif /* R_ERROR_H_ */
diff --git a/src/include/R_ext/Memory.h b/src/include/R_ext/Memory.h
new file mode 100644
index 0000000..b70d44e
--- /dev/null
+++ b/src/include/R_ext/Memory.h
@@ -0,0 +1,48 @@
+/*
+ * R : A Computer Language for Statistical Data Analysis
+ * Copyright (C) 1998-2007 Robert Gentleman, Ross Ihaka
+ * and the R Development Core Team
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 2.1 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 Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, a copy is available at
+ * http://www.r-project.org/Licenses/
+ *
+ *
+ * Memory Allocation (garbage collected) --- INCLUDING S compatibility ---
+ */
+
+#ifndef R_EXT_MEMORY_H_
+#define R_EXT_MEMORY_H_
+
+#ifndef NO_C_HEADERS
+# include <stddef.h> /* for size_t */
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void* vmaxget(void);
+void vmaxset(const void *);
+
+void R_gc(void);
+
+char* R_alloc(size_t, int);
+char* S_alloc(long, int);
+char* S_realloc(char *, long, long, int);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* R_EXT_MEMORY_H_ */
diff --git a/src/include/R_ext/Print.h b/src/include/R_ext/Print.h
new file mode 100644
index 0000000..03dc203
--- /dev/null
+++ b/src/include/R_ext/Print.h
@@ -0,0 +1,40 @@
+/*
+ * R : A Computer Language for Statistical Data Analysis
+ * Copyright (C) 1998-2008 Robert Gentleman, Ross Ihaka
+ * and the R Development Core Team
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 2.1 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 Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, a copy is available at
+ * http://www.r-project.org/Licenses/
+ */
+#ifndef R_EXT_PRINT_H_
+#define R_EXT_PRINT_H_
+
+#ifndef NO_C_HEADERS
+# include <stdarg.h>
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void Rprintf(const char *, ...);
+void REprintf(const char *, ...);
+void Rvprintf(const char *, va_list);
+void REvprintf(const char *, va_list);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* R_EXT_PRINT_H_ */
diff --git a/src/include/R_ext/RS.h b/src/include/R_ext/RS.h
new file mode 100644
index 0000000..609f86d
--- /dev/null
+++ b/src/include/R_ext/RS.h
@@ -0,0 +1,92 @@
+/*
+ * R : A Computer Language for Statistical Data Analysis
+ * Copyright (C) 1999-2007 The R Development Core Team.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 2.1 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 Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, a copy is available at
+ * http://www.r-project.org/Licenses/
+ */
+
+#ifndef R_RS_H
+#define R_RS_H
+
+#ifndef NO_C_HEADERS
+# include <string.h> /* for memcpy */
+#endif
+
+#include <Rconfig.h> /* for F77_APPEND_UNDERSCORE */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* S Like Error Handling */
+
+#include <R_ext/Error.h> /* for error and warning */
+
+#ifndef STRICT_R_HEADERS
+
+#define R_PROBLEM_BUFSIZE 4096
+/* Parentheses added for FC4 with gcc4 and -D_FORTIFY_SOURCE=2 */
+#define PROBLEM {char R_problem_buf[R_PROBLEM_BUFSIZE];(sprintf)(R_problem_buf,
+#define MESSAGE {char R_problem_buf[R_PROBLEM_BUFSIZE];(sprintf)(R_problem_buf,
+#define ERROR ),error(R_problem_buf);}
+#define RECOVER(x) ),error(R_problem_buf);}
+#define WARNING(x) ),warning(R_problem_buf);}
+#define LOCAL_EVALUATOR /**/
+#define NULL_ENTRY /**/
+#define WARN WARNING(NULL)
+
+#endif
+
+/* S Like Memory Management */
+
+extern void *R_chk_calloc(size_t, size_t);
+extern void *R_chk_realloc(void *, size_t);
+extern void R_chk_free(void *);
+
+#ifndef STRICT_R_HEADERS
+/* S-PLUS 3.x but not 5.x NULLs the pointer in the following */
+#define Calloc(n, t) (t *) R_chk_calloc( (size_t) (n), sizeof(t) )
+#define Realloc(p,n,t) (t *) R_chk_realloc( (void *)(p), (size_t)((n) * sizeof(t)) )
+#define Free(p) (R_chk_free( (void *)(p) ), (p) = NULL)
+#endif
+#define R_Calloc(n, t) (t *) R_chk_calloc( (size_t) (n), sizeof(t) )
+#define R_Realloc(p,n,t) (t *) R_chk_realloc( (void *)(p), (size_t)((n) * sizeof(t)) )
+#define R_Free(p) (R_chk_free( (void *)(p) ), (p) = NULL)
+
+#define Memcpy(p,q,n) memcpy( p, q, (size_t)( (n) * sizeof(*p) ) )
+
+#define CallocCharBuf(n) (char *) R_chk_calloc((size_t) ((n)+1), sizeof(char))
+
+/* S Like Fortran Interface */
+/* These may not be adequate everywhere. Convex had _ prepending common
+ blocks, and some compilers may need to specify Fortran linkage */
+
+#ifdef HAVE_F77_UNDERSCORE
+# define F77_CALL(x) x ## _
+#else
+# define F77_CALL(x) x
+#endif
+#define F77_NAME(x) F77_CALL(x)
+#define F77_SUB(x) F77_CALL(x)
+#define F77_COM(x) F77_CALL(x)
+#define F77_COMDECL(x) F77_CALL(x)
+
+void call_R(char*, long, void**, char**, long*, char**, long, char**);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* R_RS_H */
diff --git a/src/include/R_ext/Random.h b/src/include/R_ext/Random.h
new file mode 100644
index 0000000..59dd78b
--- /dev/null
+++ b/src/include/R_ext/Random.h
@@ -0,0 +1,69 @@
+/*
+ * R : A Computer Language for Statistical Data Analysis
+ * Copyright (C) 1998-2002 Robert Gentleman, Ross Ihaka
+ * and the R Development Core Team
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 2.1 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 Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, a copy is available at
+ * http://www.r-project.org/Licenses/
+ */
+
+#ifndef R_RANDOM_H
+#define R_RANDOM_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef enum {
+ WICHMANN_HILL,
+ MARSAGLIA_MULTICARRY,
+ SUPER_DUPER,
+ MERSENNE_TWISTER,
+ KNUTH_TAOCP,
+ USER_UNIF,
+ KNUTH_TAOCP2
+} RNGtype;
+
+/* Different kinds of "N(0,1)" generators :*/
+typedef enum {
+ BUGGY_KINDERMAN_RAMAGE,
+ AHRENS_DIETER,
+ BOX_MULLER,
+ USER_NORM,
+ INVERSION,
+ KINDERMAN_RAMAGE
+} N01type;
+
+
+void GetRNGstate(void);
+void PutRNGstate(void);
+
+double unif_rand(void);
+/* These are also defined in Rmath.h */
+double norm_rand(void);
+double exp_rand(void);
+
+typedef unsigned int Int32;
+double * user_unif_rand(void);
+void user_unif_init(Int32);
+int * user_unif_nseed(void);
+int * user_unif_seedloc(void);
+
+double * user_norm_rand(void);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* R_RANDOM_H */
diff --git a/src/include/R_ext/Utils.h b/src/include/R_ext/Utils.h
new file mode 100644
index 0000000..0490849
--- /dev/null
+++ b/src/include/R_ext/Utils.h
@@ -0,0 +1,113 @@
+/*
+ * R : A Computer Language for Statistical Data Analysis
+ * Copyright (C) 1998-2005 Robert Gentleman, Ross Ihaka
+ * and the R Development Core Team
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 2.1 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 Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, a copy is available at
+ * http://www.r-project.org/Licenses/
+ *
+ *
+ * Generally useful UTILITIES *NOT* relying on R internals (from Defn.h)
+ */
+
+#ifndef R_EXT_UTILS_H_
+#define R_EXT_UTILS_H_
+
+#include <R_ext/Boolean.h>
+#include <R_ext/Complex.h>
+
+#define revsort Rf_revsort
+#define iPsort Rf_iPsort
+#define rPsort Rf_rPsort
+#define cPsort Rf_cPsort
+#define IndexWidth Rf_IndexWidth
+#define setIVector Rf_setIVector
+#define setRVector Rf_setRVector
+#define StringFalse Rf_StringFalse
+#define StringTrue Rf_StringTrue
+#define isBlankString Rf_isBlankString
+#define hsv2rgb Rf_hsv2rgb
+#define rgb2hsv Rf_rgb2hsv
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ../../main/sort.c : */
+void R_isort(int*, int);
+void R_rsort(double*, int);
+void R_csort(Rcomplex*, int);
+void rsort_with_index(double *, int *, int);
+void revsort(double*, int*, int);/* reverse; sort i[] alongside */
+void iPsort(int*, int, int);
+void rPsort(double*, int, int);
+void cPsort(Rcomplex*, int, int);
+
+/* ../../main/qsort.c : */
+void R_qsort (double *v, int i, int j);
+void R_qsort_I (double *v, int *I, int i, int j);
+void R_qsort_int (int *iv, int i, int j);
+void R_qsort_int_I(int *iv, int *I, int i, int j);
+#ifdef R_RS_H
+void F77_NAME(qsort4)(double *v, int *indx, int *ii, int *jj);
+void F77_NAME(qsort3)(double *v, int *ii, int *jj);
+#endif
+
+/* ../../main/printutils.c : */
+int IndexWidth(int);
+/* ../../main/util.c and others : */
+const char *R_ExpandFileName(const char *);
+void setIVector(int*, int, int);
+void setRVector(double*, int, double);
+Rboolean StringFalse(const char *);
+Rboolean StringTrue(const char *);
+Rboolean isBlankString(const char *);
+
+/* These two are guaranteed to use '.' as the decimal point,
+ and to accept "NA".
+ */
+double R_atof(const char *str);
+double R_strtod(const char *c, char **end);
+
+char *R_tmpnam(const char *prefix, const char *tempdir);
+
+void hsv2rgb(double h, double s, double v,
+ double *r, double *g, double *b);
+void rgb2hsv(double r, double g, double b,
+ double *h, double *s, double *v);
+
+void R_CheckUserInterrupt(void);
+void R_CheckStack(void);
+
+
+/* ../../appl/interv.c: also in Applic.h */
+int findInterval(double *xt, int n, double x,
+ Rboolean rightmost_closed, Rboolean all_inside, int ilo,
+ int *mflag);
+#ifdef R_RS_H
+int F77_SUB(interv)(double *xt, int *n, double *x,
+ Rboolean *rightmost_closed, Rboolean *all_inside,
+ int *ilo, int *mflag);
+#endif
+void find_interv_vec(double *xt, int *n, double *x, int *nx,
+ int *rightmost_closed, int *all_inside, int *indx);
+
+/* ../../appl/maxcol.c: also in Applic.h */
+void R_max_col(double *matrix, int *nr, int *nc, int *maxes, int *ties_meth);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* R_EXT_UTILS_H_ */
diff --git a/src/include/R_ext/libextern.h b/src/include/R_ext/libextern.h
new file mode 100644
index 0000000..5f3b6ce
--- /dev/null
+++ b/src/include/R_ext/libextern.h
@@ -0,0 +1,46 @@
+/*
+ * R : A Computer Language for Statistical Data Analysis
+ * Copyright (C) 2001, 2004 The R Development Core Team.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 2.1 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 Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, a copy is available at
+ * http://www.r-project.org/Licenses/
+ */
+
+/* don't disallow including this one more than once */
+
+/* This is intended to be called from other header files, so not callable
+ from C++ */
+
+#undef LibExtern
+#undef LibImport
+#undef LibExport
+
+/* Don't try to include CYGWIN here: decorating some symbols breaks
+ the auto-export that it relies on, even if R_DLL_BUILD were set. */
+#ifdef WIN32 /* WIN32 as does not depend on config.h */
+#define LibImport __declspec(dllimport)
+#define LibExport __declspec(dllexport)
+#else
+#define LibImport
+#define LibExport
+#endif
+
+#ifdef __MAIN__
+#define LibExtern LibExport
+#define extern
+#elif defined(R_DLL_BUILD)
+#define LibExtern extern
+#else
+#define LibExtern extern LibImport
+#endif
diff --git a/src/include/Rconfig.h b/src/include/Rconfig.h
new file mode 100644
index 0000000..1ec1ae5
--- /dev/null
+++ b/src/include/Rconfig.h
@@ -0,0 +1,1046 @@
+/* src/include/config.h.in. Generated from configure.ac by autoheader. */
+
+#ifndef R_CONFIG_H
+#define R_CONFIG_H
+
+/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
+ systems. This function is required for `alloca.c' support on those systems.
+ */
+#undef CRAY_STACKSEG_END
+
+/* Define to 1 if using `alloca.c'. */
+#undef C_ALLOCA
+
+/* Define to 1 if translation of program messages to the user's native
+ language is requested. */
+#undef ENABLE_NLS
+
+/* Define to dummy `main' function (if any) required to link to the Fortran
+ libraries. */
+#undef F77_DUMMY_MAIN
+
+/* Define to a macro mangling the given C identifier (in lower and upper
+ case), which must not contain underscores, for linking with Fortran. */
+#undef F77_FUNC
+
+/* As F77_FUNC, but for C identifiers containing underscores. */
+#undef F77_FUNC_
+
+/* Define if F77 and FC dummy `main' functions are identical. */
+#undef FC_DUMMY_MAIN_EQ_F77
+
+/* Define to 1 if you have the `access' function. */
+#undef HAVE_ACCESS
+
+/* Define to 1 if you have the `acosh' function. */
+#undef HAVE_ACOSH
+
+/* Define to 1 if you have `alloca', as a function or macro. */
+#undef HAVE_ALLOCA
+
+/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
+ */
+#undef HAVE_ALLOCA_H
+
+/* Define if you have the Aqua headers and libraries, and want the Aqua GUI to
+ be built. */
+#undef HAVE_AQUA
+
+/* Define to 1 if you have the `argz_count' function. */
+#undef HAVE_ARGZ_COUNT
+
+/* Define to 1 if you have the <argz.h> header file. */
+#undef HAVE_ARGZ_H
+
+/* Define to 1 if you have the `argz_next' function. */
+#undef HAVE_ARGZ_NEXT
+
+/* Define to 1 if you have the `argz_stringify' function. */
+#undef HAVE_ARGZ_STRINGIFY
+
+/* Define to 1 if you have the <arpa/inet.h> header file. */
+#undef HAVE_ARPA_INET_H
+
+/* Define to 1 if you have the `asinh' function. */
+#undef HAVE_ASINH
+
+/* Define to 1 if you have the `asprintf' function. */
+#undef HAVE_ASPRINTF
+
+/* Define to 1 if you have the `atanh' function. */
+#undef HAVE_ATANH
+
+/* Define if you have BSD networking headers and libraries. */
+#undef HAVE_BSD_NETWORKING
+
+/* Define to 1 if the compiler understands __builtin_expect. */
+#undef HAVE_BUILTIN_EXPECT
+
+/* Define this if you have support for C99 complex types. */
+#undef HAVE_C99_COMPLEX
+
+/* Define to 1 if you have cairo-ps. */
+#undef HAVE_CAIRO_PDF
+
+/* Define to 1 if you have cairo-pdf. */
+#undef HAVE_CAIRO_PS
+
+/* Define to 1 if you have cairo-svg. */
+#undef HAVE_CAIRO_SVG
+
+/* Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the
+ CoreFoundation framework. */
+#undef HAVE_CFLOCALECOPYCURRENT
+
+/* Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in
+ the CoreFoundation framework. */
+#undef HAVE_CFPREFERENCESCOPYAPPVALUE
+
+/* Define to 1 if you have the `chdir' function. */
+#undef HAVE_CHDIR
+
+/* Define to 1 if you have the `chmod' function. */
+#undef HAVE_CHMOD
+
+/* Defined if framework CoreFoundation is present */
+#undef HAVE_COREFOUNDATION_FW
+
+/* Define if the GNU dcgettext() function is already present or preinstalled.
+ */
+#undef HAVE_DCGETTEXT
+
+/* Define to 1 if you have the declaration of `acosh', and to 0 if you don't.
+ */
+#undef HAVE_DECL_ACOSH
+
+/* Define to 1 if you have the declaration of `alloca', and to 0 if you don't.
+ */
+#undef HAVE_DECL_ALLOCA
+
+/* Define to 1 if you have the declaration of `asinh', and to 0 if you don't.
+ */
+#undef HAVE_DECL_ASINH
+
+/* Define to 1 if you have the declaration of `atanh', and to 0 if you don't.
+ */
+#undef HAVE_DECL_ATANH
+
+/* Define to 1 if you have the declaration of `feof_unlocked', and to 0 if you
+ don't. */
+#undef HAVE_DECL_FEOF_UNLOCKED
+
+/* Define to 1 if you have the declaration of `fgets_unlocked', and to 0 if
+ you don't. */
+#undef HAVE_DECL_FGETS_UNLOCKED
+
+/* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you
+ don't. */
+#undef HAVE_DECL_GETC_UNLOCKED
+
+/* Define to 1 if you have the declaration of `isfinite', and to 0 if you
+ don't. */
+#undef HAVE_DECL_ISFINITE
+
+/* Define to 1 if you have the declaration of `isnan', and to 0 if you don't.
+ */
+#undef HAVE_DECL_ISNAN
+
+/* Define to 1 if you have the declaration of `mkdtemp', and to 0 if you
+ don't. */
+#undef HAVE_DECL_MKDTEMP
+
+/* Define to 1 if you have the declaration of `putenv', and to 0 if you don't.
+ */
+#undef HAVE_DECL_PUTENV
+
+/* Define to 1 if you have the declaration of `realpath', and to 0 if you
+ don't. */
+#undef HAVE_DECL_REALPATH
+
+/* Define to 1 if you have the declaration of `siglongjmp', and to 0 if you
+ don't. */
+#undef HAVE_DECL_SIGLONGJMP
+
+/* Define to 1 if you have the declaration of `sigsetjmp', and to 0 if you
+ don't. */
+#undef HAVE_DECL_SIGSETJMP
+
+/* Define to 1 if you have the declaration of `SIZE_MAX', and to 0 if you
+ don't. */
+#undef HAVE_DECL_SIZE_MAX
+
+/* Define to 1 if you have the declaration of `snprintf', and to 0 if you
+ don't. */
+#undef HAVE_DECL_SNPRINTF
+
+/* Define to 1 if you have the declaration of `strdup', and to 0 if you don't.
+ */
+#undef HAVE_DECL_STRDUP
+
+/* Define to 1 if you have the declaration of `strncasecmp', and to 0 if you
+ don't. */
+#undef HAVE_DECL_STRNCASECMP
+
+/* Define to 1 if you have the declaration of `vasprintf', and to 0 if you
+ don't. */
+#undef HAVE_DECL_VASPRINTF
+
+/* Define to 1 if you have the declaration of `vsnprintf', and to 0 if you
+ don't. */
+#undef HAVE_DECL_VSNPRINTF
+
+/* Define to 1 if you have the declaration of `_snprintf', and to 0 if you
+ don't. */
+#undef HAVE_DECL__SNPRINTF
+
+/* Define to 1 if you have the declaration of `_snwprintf', and to 0 if you
+ don't. */
+#undef HAVE_DECL__SNWPRINTF
+
+/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
+ */
+#undef HAVE_DIRENT_H
+
+/* Define to 1 if you have the <dlfcn.h> header file. */
+#undef HAVE_DLFCN_H
+
+/* Define to 1 if you have the <dl.h> header file. */
+#undef HAVE_DL_H
+
+/* Define to 1 if you have the <elf.h> header file. */
+#undef HAVE_ELF_H
+
+/* Define to 1 if you have the <errno.h> header file. */
+#undef HAVE_ERRNO_H
+
+/* Define to 1 if you have the `execv' function. */
+#undef HAVE_EXECV
+
+/* Define to 1 if you have the `expm1' function. */
+#undef HAVE_EXPM1
+
+/* Define if your Fortran compiler appends an extra_underscore to external
+ names containing an underscore. */
+#undef HAVE_F77_EXTRA_UNDERSCORE
+
+/* Define if your Fortran compiler appends an underscore to external names. */
+#undef HAVE_F77_UNDERSCORE
+
+/* Define to 1 if you have the `fcntl' function. */
+#undef HAVE_FCNTL
+
+/* Define to 1 if you have the <fcntl.h> header file. */
+#undef HAVE_FCNTL_H
+
+/* Define to 1 if you have the `fdopen' function. */
+#undef HAVE_FDOPEN
+
+/* Define to 1 if you have the <floatingpoint.h> header file. */
+#undef HAVE_FLOATINGPOINT_H
+
+/* Define if C's Rcomplex and Fortran's COMPLEX*16 can be interchanged, and
+ can do arithmetic on the latter. */
+#undef HAVE_FORTRAN_DOUBLE_COMPLEX
+
+/* Define to 1 if you have the <fpu_control.h> header file. */
+#undef HAVE_FPU_CONTROL_H
+
+/* Define to 1 if fseeko (and presumably ftello) exists and is declared. */
+#undef HAVE_FSEEKO
+
+/* Define to 1 if you have the `ftello' function. */
+#undef HAVE_FTELLO
+
+/* Define to 1 if you have the `ftruncate' function. */
+#undef HAVE_FTRUNCATE
+
+/* Define to 1 if you have the `fwprintf' function. */
+#undef HAVE_FWPRINTF
+
+/* Define to 1 if you have the `getcwd' function. */
+#undef HAVE_GETCWD
+
+/* Define to 1 if you have the `getegid' function. */
+#undef HAVE_GETEGID
+
+/* Define to 1 if you have the `geteuid' function. */
+#undef HAVE_GETEUID
+
+/* Define to 1 if you have the `getgid' function. */
+#undef HAVE_GETGID
+
+/* Define to 1 if you have the `getgrgid' function. */
+#undef HAVE_GETGRGID
+
+/* Define to 1 if you have the `getpagesize' function. */
+#undef HAVE_GETPAGESIZE
+
+/* Define to 1 if you have the `getpwuid' function. */
+#undef HAVE_GETPWUID
+
+/* Define to 1 if you have the `getrlimit' function. */
+#undef HAVE_GETRLIMIT
+
+/* Define to 1 if you have the `getrusage' function. */
+#undef HAVE_GETRUSAGE
+
+/* Define if the GNU gettext() function is already present or preinstalled. */
+#undef HAVE_GETTEXT
+
+/* Define to 1 if you have the `gettimeofday' function. */
+#undef HAVE_GETTIMEOFDAY
+
+/* Define to 1 if you have the `getuid' function. */
+#undef HAVE_GETUID
+
+/* Define if you have the GNU C library version >= 2. This is needed to fix a
+ problem with getting the prototype of strptime(). */
+#undef HAVE_GLIBC2
+
+/* Define to 1 if you have the `glob' function. */
+#undef HAVE_GLOB
+
+/* Define to 1 if you have the <glob.h> header file. */
+#undef HAVE_GLOB_H
+
+/* Define to 1 if you have the <grp.h> header file. */
+#undef HAVE_GRP_H
+
+/* Define to 1 if you have the `history_truncate_file' function. */
+#undef HAVE_HISTORY_TRUNCATE_FILE
+
+/* Define to 1 if you have the `hypot' function. */
+#undef HAVE_HYPOT
+
+/* Define if you have the iconv() function. */
+#undef HAVE_ICONV
+
+/* Define if you have the `iconvlist' function. */
+#undef HAVE_ICONVLIST
+
+/* Define to 1 if you have the <iconv.h> header file. */
+#undef HAVE_ICONV_H
+
+/* Define if you have support for ftp/http access. */
+#undef HAVE_INTERNET
+
+/* Define if you have the 'intmax_t' type in <stdint.h> or <inttypes.h>. */
+#undef HAVE_INTMAX_T
+
+/* Define to 1 if the system has the type `intptr_t'. */
+#undef HAVE_INTPTR_T
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#undef HAVE_INTTYPES_H
+
+/* Define if <inttypes.h> exists, doesn't clash with <sys/types.h>, and
+ declares uintmax_t. */
+#undef HAVE_INTTYPES_H_WITH_UINTMAX
+
+/* Define to 1 if you have the `isblank' function. */
+#undef HAVE_ISBLANK
+
+/* Define to 1 if you have the `isnan' function. */
+#undef HAVE_ISNAN
+
+/* Define to 1 if you have the `iswblank' function. */
+#undef HAVE_ISWBLANK
+
+/* Define to 1 if you have the `iswctype' function. */
+#undef HAVE_ISWCTYPE
+
+/* Define if you have the JPEG headers and libraries. */
+#undef HAVE_JPEG
+
+/* Define if KERN_USRSTACK sysctl is supported. */
+#undef HAVE_KERN_USRSTACK
+
+/* Define if you have KeySym defined in X11. */
+#undef HAVE_KEYSYM
+
+/* Define if you have <langinfo.h> and nl_langinfo(CODESET). */
+#undef HAVE_LANGINFO_CODESET
+
+/* Define if your <locale.h> file defines LC_MESSAGES. */
+#undef HAVE_LC_MESSAGES
+
+/* Define to 1 if you have the `cc_dynamic' library (-lcc_dynamic). */
+#undef HAVE_LIBCC_DYNAMIC
+
+/* Define if __libc_stack_end is visible. */
+#undef HAVE_LIBC_STACK_END
+
+/* Define to 1 if you have the `dl' library (-ldl). */
+#undef HAVE_LIBDL
+
+/* Define to 1 if you have the `m' library (-lm). */
+#undef HAVE_LIBM
+
+/* Define to 1 if you have the `ncurses' library (-lncurses). */
+#undef HAVE_LIBNCURSES
+
+/* Define to 1 if you have the `readline' library (-lreadline). */
+#undef HAVE_LIBREADLINE
+
+/* Define to 1 if you have the `termcap' library (-ltermcap). */
+#undef HAVE_LIBTERMCAP
+
+/* Define to 1 if you have the `termlib' library (-ltermlib). */
+#undef HAVE_LIBTERMLIB
+
+/* Define to 1 if you have the `tk' library (-ltk). */
+#undef HAVE_LIBTK
+
+/* Define to 1 if you have the <limits.h> header file. */
+#undef HAVE_LIMITS_H
+
+/* Define to 1 if you have the <locale.h> header file. */
+#undef HAVE_LOCALE_H
+
+/* Define to 1 if you have the `log10' function. */
+#undef HAVE_LOG10
+
+/* Define to 1 if you have the `log1p' function. */
+#undef HAVE_LOG1P
+
+/* Define to 1 if you have the `log2' function. */
+#undef HAVE_LOG2
+
+/* Define if you have the 'long double' type. */
+#undef HAVE_LONG_DOUBLE
+
+/* Define to 1 if the system has the type `long long int'. */
+#undef HAVE_LONG_LONG_INT
+
+/* Define to 1 if you have the `matherr' function. */
+#undef HAVE_MATHERR
+
+/* Define to 1 if you have the `mbrtowc' function. */
+#undef HAVE_MBRTOWC
+
+/* Define to 1 if the system has the type `mbstate_t'. */
+#undef HAVE_MBSTATE_T
+
+/* Define to 1 if you have the `mbstowcs' function. */
+#undef HAVE_MBSTOWCS
+
+/* Define to 1 if you have the <memory.h> header file. */
+#undef HAVE_MEMORY_H
+
+/* Define to 1 if you have the `mempcpy' function. */
+#undef HAVE_MEMPCPY
+
+/* Define to 1 if you have the `mkdtemp' function. */
+#undef HAVE_MKDTEMP
+
+/* Define to 1 if you have the `mkfifo' function. */
+#undef HAVE_MKFIFO
+
+/* Define to 1 if you have a working `mmap' system call. */
+#undef HAVE_MMAP
+
+/* Define to 1 if you have the `munmap' function. */
+#undef HAVE_MUNMAP
+
+/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
+#undef HAVE_NDIR_H
+
+/* Define to 1 if you have the <netdb.h> header file. */
+#undef HAVE_NETDB_H
+
+/* Define to 1 if you have the <netinet/in.h> header file. */
+#undef HAVE_NETINET_IN_H
+
+/* Define if you have <langinfo.h> and it defines the NL_LOCALE_NAME macro if
+ _GNU_SOURCE is defined. */
+#undef HAVE_NL_LOCALE_NAME
+
+/* Define if module-loading does not need an underscore to be prepended to
+ external names. */
+#undef HAVE_NO_SYMBOL_UNDERSCORE
+
+/* Define if you have off_t, fseeko and ftello. */
+#undef HAVE_OFF_T
+
+/* Define to 1 if you have pangocairo. */
+#undef HAVE_PANGOCAIRO
+
+/* Define to 1 if you have the <pcre.h> header file. */
+#undef HAVE_PCRE_H
+
+/* Define to 1 if you have the <pcre/pcre.h> header file. */
+#undef HAVE_PCRE_PCRE_H
+
+/* Define if you have the PNG headers and libraries. */
+#undef HAVE_PNG
+
+/* Define to 1 if you have the `popen' function. */
+#undef HAVE_POPEN
+
+/* Define if your system time functions do not count leap seconds, as required
+ by POSIX. */
+#undef HAVE_POSIX_LEAPSECONDS
+
+/* Define if your printf() function supports format strings with positions. */
+#undef HAVE_POSIX_PRINTF
+
+/* Define if you have POSIX.1 compatible sigsetjmp/siglongjmp. */
+#undef HAVE_POSIX_SETJMP
+
+/* Define if the <pthread.h> defines PTHREAD_MUTEX_RECURSIVE. */
+#undef HAVE_PTHREAD_MUTEX_RECURSIVE
+
+/* Define if the POSIX multithreading library has read/write locks. */
+#undef HAVE_PTHREAD_RWLOCK
+
+/* Define to 1 if you have the `putenv' function. */
+#undef HAVE_PUTENV
+
+/* Define if putenv("FOO") can unset an environment variable */
+#undef HAVE_PUTENV_UNSET
+
+/* Define if putenv("FOO=") can unset an environment variable */
+#undef HAVE_PUTENV_UNSET2
+
+/* Define to 1 if you have the <pwd.h> header file. */
+#undef HAVE_PWD_H
+
+/* Define to 1 if you have the <readline/history.h> header file. */
+#undef HAVE_READLINE_HISTORY_H
+
+/* Define to 1 if you have the <readline/readline.h> header file. */
+#undef HAVE_READLINE_READLINE_H
+
+/* Define to 1 if you have the `realpath' function. */
+#undef HAVE_REALPATH
+
+/* Define to 1 if you have the `rint' function. */
+#undef HAVE_RINT
+
+/* Define to 1 if you have the `rl_completion_matches' function. */
+#undef HAVE_RL_COMPLETION_MATCHES
+
+/* Define to 1 if you have the `setenv' function. */
+#undef HAVE_SETENV
+
+/* Define to 1 if you have the `setitimer' function. */
+#undef HAVE_SETITIMER
+
+/* Define to 1 if you have the `setlocale' function. */
+#undef HAVE_SETLOCALE
+
+/* Define to 1 if you have the `sigaction' function. */
+#undef HAVE_SIGACTION
+
+/* Define to 1 if you have the `sigaltstack' function. */
+#undef HAVE_SIGALTSTACK
+
+/* Define to 1 if you have the `sigemptyset' function. */
+#undef HAVE_SIGEMPTYSET
+
+/* Define to 1 if you have the `snprintf' function. */
+#undef HAVE_SNPRINTF
+
+/* Define if you have support for sockets. */
+#undef HAVE_SOCKETS
+
+/* Define to 1 if the system has the type `stack_t'. */
+#undef HAVE_STACK_T
+
+/* Define to 1 if you have the `stat' function. */
+#undef HAVE_STAT
+
+/* Define to 1 if you have the <stdarg.h> header file. */
+#undef HAVE_STDARG_H
+
+/* Define to 1 if you have the <stdbool.h> header file. */
+#undef HAVE_STDBOOL_H
+
+/* Define to 1 if you have the <stddef.h> header file. */
+#undef HAVE_STDDEF_H
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#undef HAVE_STDINT_H
+
+/* Define if <stdint.h> exists, doesn't clash with <sys/types.h>, and declares
+ uintmax_t. */
+#undef HAVE_STDINT_H_WITH_UINTMAX
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#undef HAVE_STDLIB_H
+
+/* Define to 1 if you have the `stpcpy' function. */
+#undef HAVE_STPCPY
+
+/* Define to 1 if you have the `strcasecmp' function. */
+#undef HAVE_STRCASECMP
+
+/* Define to 1 if you have the `strcoll' function. */
+#undef HAVE_STRCOLL
+
+/* Define to 1 if you have the `strdup' function. */
+#undef HAVE_STRDUP
+
+/* Define to 1 if you have the `strerror' function. */
+#undef HAVE_STRERROR
+
+/* 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 `strncasecmp' function. */
+#undef HAVE_STRNCASECMP
+
+/* Define to 1 if you have the `strtoul' function. */
+#undef HAVE_STRTOUL
+
+/* Define to 1 if you have the `symlink' function. */
+#undef HAVE_SYMLINK
+
+/* Define to 1 if you have the `sysconf' function. */
+#undef HAVE_SYSCONF
+
+/* Define to 1 if you have the `system' function. */
+#undef HAVE_SYSTEM
+
+/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
+ */
+#undef HAVE_SYS_DIR_H
+
+/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
+ */
+#undef HAVE_SYS_NDIR_H
+
+/* Define to 1 if you have the <sys/param.h> header file. */
+#undef HAVE_SYS_PARAM_H
+
+/* Define to 1 if you have the <sys/resource.h> header file. */
+#undef HAVE_SYS_RESOURCE_H
+
+/* Define to 1 if you have the <sys/select.h> header file. */
+#undef HAVE_SYS_SELECT_H
+
+/* Define to 1 if you have the <sys/socket.h> header file. */
+#undef HAVE_SYS_SOCKET_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/times.h> header file. */
+#undef HAVE_SYS_TIMES_H
+
+/* Define to 1 if you have the <sys/time.h> header file. */
+#undef HAVE_SYS_TIME_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 <sys/utsname.h> header file. */
+#undef HAVE_SYS_UTSNAME_H
+
+/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
+#undef HAVE_SYS_WAIT_H
+
+/* Define if you have the Tcl/Tk headers and libraries and want Tcl/Tk support
+ to be built. */
+#undef HAVE_TCLTK
+
+/* Define this if libtiff is available. */
+#undef HAVE_TIFF
+
+/* Define to 1 if you have the <tiffio.h> header file. */
+#undef HAVE_TIFFIO_H
+
+/* Define to 1 if you have the `time' function. */
+#undef HAVE_TIME
+
+/* Define to 1 if you have the `times' function. */
+#undef HAVE_TIMES
+
+/* Define to 1 if you have the <time.h> header file. */
+#undef HAVE_TIME_H
+
+/* Define to 1 if you have the `tsearch' function. */
+#undef HAVE_TSEARCH
+
+/* Define if you have the 'uintmax_t' type in <stdint.h> or <inttypes.h>. */
+#undef HAVE_UINTMAX_T
+
+/* Define to 1 if the system has the type `uintptr_t'. */
+#undef HAVE_UINTPTR_T
+
+/* Define to 1 if you have the `umask' function. */
+#undef HAVE_UMASK
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#undef HAVE_UNISTD_H
+
+/* Define to 1 if you have the `unsetenv' function. */
+#undef HAVE_UNSETENV
+
+/* Define if you have the 'unsigned long long' type. */
+#undef HAVE_UNSIGNED_LONG_LONG
+
+/* Define to 1 if the system has the type `unsigned long long int'. */
+#undef HAVE_UNSIGNED_LONG_LONG_INT
+
+/* Define to 1 if you have the `vasprintf' function. */
+#undef HAVE_VASPRINTF
+
+/* Define to 1 if you have the `va_copy' function. */
+#undef HAVE_VA_COPY
+
+/* Defined if framework vecLib is present */
+#undef HAVE_VECLIB_FW
+
+/* Define to 1 or 0, depending whether the compiler supports simple visibility
+ declarations. */
+#undef HAVE_VISIBILITY
+
+/* Define to 1 if __attribute__((visibility())) is supported */
+#undef HAVE_VISIBILITY_ATTRIBUTE
+
+/* Define to 1 if you have the `vsnprintf' function. */
+#undef HAVE_VSNPRINTF
+
+/* Define to 1 if you have the <wchar.h> header file. */
+#undef HAVE_WCHAR_H
+
+/* Define if you have the 'wchar_t' type. */
+#undef HAVE_WCHAR_T
+
+/* Define to 1 if you have the `wcrtomb' function. */
+#undef HAVE_WCRTOMB
+
+/* Define to 1 if you have the `wcscoll' function. */
+#undef HAVE_WCSCOLL
+
+/* Define to 1 if you have the `wcsftime' function. */
+#undef HAVE_WCSFTIME
+
+/* Define to 1 if you have the `wcslen' function. */
+#undef HAVE_WCSLEN
+
+/* Define to 1 if you have the `wcstod' function. */
+#undef HAVE_WCSTOD
+
+/* Define to 1 if you have the `wcstombs' function. */
+#undef HAVE_WCSTOMBS
+
+/* Define to 1 if you have the `wctrans' function. */
+#undef HAVE_WCTRANS
+
+/* Define to 1 if the system has the type `wctrans_t'. */
+#undef HAVE_WCTRANS_T
+
+/* Define to 1 if you have the `wctype' function. */
+#undef HAVE_WCTYPE
+
+/* Define to 1 if you have the <wctype.h> header file. */
+#undef HAVE_WCTYPE_H
+
+/* Define if you have the 'wint_t' type. */
+#undef HAVE_WINT_T
+
+/* Define to 1 if you have cairo. */
+#undef HAVE_WORKING_CAIRO
+
+/* Define if calloc(0) returns a null pointer. */
+#undef HAVE_WORKING_CALLOC
+
+/* Define if your ftell works correctly on files opened for append. */
+#undef HAVE_WORKING_FTELL
+
+/* Define if isfinite() is correct for -Inf/NaN/Inf. */
+#undef HAVE_WORKING_ISFINITE
+
+/* Define if log1p() exists and is accurate enough. */
+#undef HAVE_WORKING_LOG1P
+
+/* Define if sigaction() is complete enough for R's usage */
+#undef HAVE_WORKING_SIGACTION
+
+/* Define if you have the X11 headers and libraries, and want the X11 GUI to
+ be built. */
+#undef HAVE_X11
+
+/* Define if you have the X11/Xmu headers and libraries. */
+#undef HAVE_X11_Xmu
+
+/* Define to 1 if you have the `__fsetlocking' function. */
+#undef HAVE___FSETLOCKING
+
+/* Define to 1 if you have the `__va_copy' function. */
+#undef HAVE___VA_COPY
+
+/* Define as const if the declaration of iconv() needs const. */
+#undef ICONV_CONST
+
+/* Define if `iconv' accepts "UTF-8", "latin1" and "UCS-*". */
+#undef ICONV_LATIN1
+
+/* Define if you have IEEE 754 floating point arithmetic. */
+#undef IEEE_754
+
+/* Define if integer division by zero raises signal SIGFPE. */
+#undef INTDIV0_RAISES_SIGFPE
+
+/* Define if you have 32 bit ints. */
+#undef INT_32_BITS
+
+/* Define to the sub-directory in which libtool stores uninstalled libraries.
+ */
+#undef LT_OBJDIR
+
+/* Define if mktime sets errno. */
+#undef MKTIME_SETS_ERRNO
+
+/* Define if your system needs __setfpucw() to control FPU rounding. This was
+ used to control floating point precision, rounding and floating point
+ exceptions on older Linux systems. As of GLIBC 2.1 this function is not
+ used anymore. */
+#undef NEED___SETFPUCW
+
+/* Define to disable Valgrind instrumentation */
+#undef NVALGRIND
+
+/* Define if using GNU-style Objective C runtime. */
+#undef OBJC_GNU_RUNTIME
+
+/* Define if using NeXT/Apple-style Objective C runtime. */
+#undef OBJC_NEXT_RUNTIME
+
+/* 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 version of this package. */
+#undef PACKAGE_VERSION
+
+/* Define if <inttypes.h> exists and defines unusable PRI* macros. */
+#undef PRI_MACROS_BROKEN
+
+/* Define if the pthread_in_use() detection is hard. */
+#undef PTHREAD_IN_USE_DETECTION_HARD
+
+/* Define as the return type of signal handlers (`int' or `void'). */
+#undef RETSIGTYPE
+
+/* Define this to use architecture-dependent subdirectories of this name. */
+#undef R_ARCH
+
+/* Define this to be the name of the CPU of your system. */
+#undef R_CPU
+
+/* Define as `inline', or `__inline__' or `__inline' if that's what the C
+ compiler calls it, or to nothing if it is not supported. */
+#undef R_INLINE
+
+/* Define this to enable memory profiling. */
+#undef R_MEMORY_PROFILING
+
+/* Define this to be the name of the OS of your system. */
+#undef R_OS
+
+/* Define this to be the canonical name (cpu-vendor-os) of your system. */
+#undef R_PLATFORM
+
+/* Define this to be printing command on your system. */
+#undef R_PRINTCMD
+
+/* Define this to enable R-level profiling. */
+#undef R_PROFILING
+
+/* Type for socket lengths: socklen_t, sock_t, int? */
+#undef R_SOCKLEN_T
+
+/* Define this to be the name of the vendor of your system. */
+#undef R_VENDOR
+
+/* Define this to be the extension used for shared libraries on your system.
+ */
+#undef SHLIB_EXT
+
+/* The size of `double', as computed by sizeof. */
+#undef SIZEOF_DOUBLE
+
+/* The size of `int', as computed by sizeof. */
+#undef SIZEOF_INT
+
+/* The size of `long', as computed by sizeof. */
+#undef SIZEOF_LONG
+
+/* The size of `long double', as computed by sizeof. */
+#undef SIZEOF_LONG_DOUBLE
+
+/* The size of `long long', as computed by sizeof. */
+#undef SIZEOF_LONG_LONG
+
+/* The size of `size_t', as computed by sizeof. */
+#undef SIZEOF_SIZE_T
+
+/* Define as the maximum value of type 'size_t', if the system doesn't define
+ it. */
+#undef SIZE_MAX
+
+/* If using the C implementation of alloca, define if you know the
+ direction of stack growth for your system; otherwise it will be
+ automatically deduced at runtime.
+ STACK_DIRECTION > 0 => grows toward higher addresses
+ STACK_DIRECTION < 0 => grows toward lower addresses
+ STACK_DIRECTION = 0 => direction of growth unknown */
+#undef STACK_DIRECTION
+
+/* Define to 1 if you have the ANSI C header files. */
+#undef STDC_HEADERS
+
+/* Define if you provide support for the libxml ftp/http functions. */
+#undef SUPPORT_LIBXML
+
+/* Define this to enable support for MBCS locales. */
+#undef SUPPORT_MBCS
+
+/* Define this to enable support for UTF-8 locales. */
+#undef SUPPORT_UTF8
+
+/* Define to enable provoking compile errors on write barrier violation. */
+#undef TESTING_WRITE_BARRIER
+
+/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
+#undef TIME_WITH_SYS_TIME
+
+/* Define if your rint() is broken on your system. Apparently needed on HPUX.
+ */
+#undef USE_BUILTIN_RINT
+
+/* Define if the POSIX multithreading library can be used. */
+#undef USE_POSIX_THREADS
+
+/* Define if references to the POSIX multithreading library should be made
+ weak. */
+#undef USE_POSIX_THREADS_WEAK
+
+/* Define if the GNU Pth multithreading library can be used. */
+#undef USE_PTH_THREADS
+
+/* Define if references to the GNU Pth multithreading library should be made
+ weak. */
+#undef USE_PTH_THREADS_WEAK
+
+/* Define if the old Solaris multithreading library can be used. */
+#undef USE_SOLARIS_THREADS
+
+/* Define if references to the old Solaris multithreading library should be
+ made weak. */
+#undef USE_SOLARIS_THREADS_WEAK
+
+/* Define if the Win32 multithreading API can be used. */
+#undef USE_WIN32_THREADS
+
+/* Define according to your operating system type. */
+#undef Unix
+
+/* Define as 1 or 2 to specify levels of Valgrind instrumentation */
+#undef VALGRIND_LEVEL
+
+/* Version number of package */
+#undef VERSION
+
+/* Define to 1 if your processor stores words with the most significant byte
+ first (like Motorola and SPARC, unlike Intel and VAX). */
+#undef WORDS_BIGENDIAN
+
+/* Define according to your operating system type. */
+#undef Win32
+
+/* Define to 1 if the X Window System is missing or not being used. */
+#undef X_DISPLAY_MISSING
+
+/* Number of bits in a file offset, on hosts where this is settable. */
+#undef _FILE_OFFSET_BITS
+
+/* Enable GNU extensions on systems that have them. */
+#ifndef _GNU_SOURCE
+# undef _GNU_SOURCE
+#endif
+
+/* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */
+#undef _LARGEFILE_SOURCE
+
+/* Define for large files, on AIX-style hosts. */
+#undef _LARGE_FILES
+
+/* Define to 'long' if <sys/types.h> does not define. Apparently necessary to
+ fix a GCC bug on AIX? */
+#undef blkcnt_t
+
+/* Define to empty if `const' does not conform to ANSI C. */
+#undef const
+
+/* Define to `__inline__' or `__inline' if that's what the C compiler
+ calls it, or to nothing if 'inline' is not supported under any name. */
+#ifndef __cplusplus
+#undef inline
+#endif
+
+/* Define to `int' if <sys/types.h> does not define. */
+#undef pid_t
+
+/* Define as the type of the result of subtracting two pointers, if the system
+ doesn't define it. */
+#undef ptrdiff_t
+
+/* Define to `unsigned int' if <sys/types.h> does not define. */
+#undef size_t
+
+/* Define to unsigned long or unsigned long long if <stdint.h> and
+ <inttypes.h> don't define. */
+#undef uintmax_t
+
+
+#endif /* not R_CONFIG_H */
+
+
+#define __libc_lock_t gl_lock_t
+#define __libc_lock_define gl_lock_define
+#define __libc_lock_define_initialized gl_lock_define_initialized
+#define __libc_lock_init gl_lock_init
+#define __libc_lock_lock gl_lock_lock
+#define __libc_lock_unlock gl_lock_unlock
+#define __libc_lock_recursive_t gl_recursive_lock_t
+#define __libc_lock_define_recursive gl_recursive_lock_define
+#define __libc_lock_define_initialized_recursive gl_recursive_lock_define_initialized
+#define __libc_lock_init_recursive gl_recursive_lock_init
+#define __libc_lock_lock_recursive gl_recursive_lock_lock
+#define __libc_lock_unlock_recursive gl_recursive_lock_unlock
+#define glthread_in_use libintl_thread_in_use
+#define glthread_lock_init libintl_lock_init
+#define glthread_lock_lock libintl_lock_lock
+#define glthread_lock_unlock libintl_lock_unlock
+#define glthread_lock_destroy libintl_lock_destroy
+#define glthread_rwlock_init libintl_rwlock_init
+#define glthread_rwlock_rdlock libintl_rwlock_rdlock
+#define glthread_rwlock_wrlock libintl_rwlock_wrlock
+#define glthread_rwlock_unlock libintl_rwlock_unlock
+#define glthread_rwlock_destroy libintl_rwlock_destroy
+#define glthread_recursive_lock_init libintl_recursive_lock_init
+#define glthread_recursive_lock_lock libintl_recursive_lock_lock
+#define glthread_recursive_lock_unlock libintl_recursive_lock_unlock
+#define glthread_recursive_lock_destroy libintl_recursive_lock_destroy
+#define glthread_once libintl_once
+#define glthread_once_call libintl_once_call
+#define glthread_once_singlethreaded libintl_once_singlethreaded
+
diff --git a/src/include/Rmath.h b/src/include/Rmath.h
new file mode 100644
index 0000000..2e8e458
--- /dev/null
+++ b/src/include/Rmath.h
@@ -0,0 +1,633 @@
+/* -*- C -*-
+ * Mathlib : A C Library of Special Functions
+ * Copyright (C) 1998-2007 The R Development Core Team
+ * Copyright (C) 2004 The R Foundation
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 2.1 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 Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, a copy is available at
+ * http://www.r-project.org/Licenses/
+ *
+
+ * Rmath.h should contain ALL headers from R's C code in `src/nmath'
+ ------- such that ``the Math library'' can be used by simply
+
+ ``#include <Rmath.h> ''
+
+ and nothing else.
+*/
+#ifndef RMATH_H
+#define RMATH_H
+
+/* Note that on some systems we need to include math.h before the
+ defines below, to avoid redefining ftrunc */
+#ifndef NO_C_HEADERS
+# include <math.h>
+#endif
+
+/*-- Mathlib as part of R -- define this for standalone : */
+/* #undef MATHLIB_STANDALONE */
+
+#define R_VERSION_STRING "@PACKAGE_VERSION@"
+
+#ifndef HAVE_LOG1P
+//@RMATH_HAVE_LOG1P@
+#endif
+
+#ifndef HAVE_EXPM1
+//@RMATH_HAVE_EXPM1@
+#endif
+
+#ifndef HAVE_WORKING_LOG1P
+//@RMATH_HAVE_WORKING_LOG1P@
+#endif
+
+/* not really appropriate
+#include <errno.h>
+#include <limits.h>
+#include <float.h>
+#include <math.h>
+#include <stdlib.h>
+*/
+
+#if defined(HAVE_LOG1P) && !defined(HAVE_WORKING_LOG1P)
+/* remap to avoid problems with getting the right entry point */
+double Rlog1p(double);
+#define log1p Rlog1p
+#endif
+
+
+ /* Undo SGI Madness */
+
+#ifdef ftrunc
+# undef ftrunc
+#endif
+#ifdef qexp
+# undef qexp
+#endif
+#ifdef qgamma
+# undef qgamma
+#endif
+
+
+/* ----- The following constants and entry points are part of the R API ---- */
+
+/* 30 Decimal-place constants */
+/* Computed with bc -l (scale=32; proper round) */
+
+/* SVID & X/Open Constants */
+/* Names from Solaris math.h */
+
+#ifndef M_E
+#define M_E 2.718281828459045235360287471353 /* e */
+#endif
+
+#ifndef M_LOG2E
+#define M_LOG2E 1.442695040888963407359924681002 /* log2(e) */
+#endif
+
+#ifndef M_LOG10E
+#define M_LOG10E 0.434294481903251827651128918917 /* log10(e) */
+#endif
+
+#ifndef M_LN2
+#define M_LN2 0.693147180559945309417232121458 /* ln(2) */
+#endif
+
+#ifndef M_LN10
+#define M_LN10 2.302585092994045684017991454684 /* ln(10) */
+#endif
+
+#ifndef M_PI
+#define M_PI 3.141592653589793238462643383280 /* pi */
+#endif
+
+#ifndef M_2PI
+#define M_2PI 6.283185307179586476925286766559 /* 2*pi */
+#endif
+
+#ifndef M_PI_2
+#define M_PI_2 1.570796326794896619231321691640 /* pi/2 */
+#endif
+
+#ifndef M_PI_4
+#define M_PI_4 0.785398163397448309615660845820 /* pi/4 */
+#endif
+
+#ifndef M_1_PI
+#define M_1_PI 0.318309886183790671537767526745 /* 1/pi */
+#endif
+
+#ifndef M_2_PI
+#define M_2_PI 0.636619772367581343075535053490 /* 2/pi */
+#endif
+
+#ifndef M_2_SQRTPI
+#define M_2_SQRTPI 1.128379167095512573896158903122 /* 2/sqrt(pi) */
+#endif
+
+#ifndef M_SQRT2
+#define M_SQRT2 1.414213562373095048801688724210 /* sqrt(2) */
+#endif
+
+#ifndef M_SQRT1_2
+#define M_SQRT1_2 0.707106781186547524400844362105 /* 1/sqrt(2) */
+#endif
+
+/* R-Specific Constants */
+
+#ifndef M_SQRT_3
+#define M_SQRT_3 1.732050807568877293527446341506 /* sqrt(3) */
+#endif
+
+#ifndef M_SQRT_32
+#define M_SQRT_32 5.656854249492380195206754896838 /* sqrt(32) */
+#endif
+
+#ifndef M_LOG10_2
+#define M_LOG10_2 0.301029995663981195213738894724 /* log10(2) */
+#endif
+
+#ifndef M_SQRT_PI
+#define M_SQRT_PI 1.772453850905516027298167483341 /* sqrt(pi) */
+#endif
+
+#ifndef M_1_SQRT_2PI
+#define M_1_SQRT_2PI 0.398942280401432677939946059934 /* 1/sqrt(2pi) */
+#endif
+
+#ifndef M_SQRT_2dPI
+#define M_SQRT_2dPI 0.797884560802865355879892119869 /* sqrt(2/pi) */
+#endif
+
+
+#ifndef M_LN_SQRT_PI
+#define M_LN_SQRT_PI 0.572364942924700087071713675677 /* log(sqrt(pi)) */
+#endif
+
+#ifndef M_LN_SQRT_2PI
+#define M_LN_SQRT_2PI 0.918938533204672741780329736406 /* log(sqrt(2*pi)) */
+#endif
+
+#ifndef M_LN_SQRT_PId2
+#define M_LN_SQRT_PId2 0.225791352644727432363097614947 /* log(sqrt(pi/2)) */
+#endif
+
+
+#ifdef MATHLIB_STANDALONE
+ #undef FALSE
+ #undef TRUE
+ typedef enum { FALSE = 0, TRUE } Rboolean;
+#else
+# include <R_ext/Boolean.h>
+#endif
+
+
+#ifndef MATHLIB_STANDALONE
+#define bessel_i Rf_bessel_i
+#define bessel_j Rf_bessel_j
+#define bessel_k Rf_bessel_k
+#define bessel_y Rf_bessel_y
+#define beta Rf_beta
+#define choose Rf_choose
+#define dbeta Rf_dbeta
+#define dbinom Rf_dbinom
+#define dcauchy Rf_dcauchy
+#define dchisq Rf_dchisq
+#define dexp Rf_dexp
+#define df Rf_df
+#define dgamma Rf_dgamma
+#define dgeom Rf_dgeom
+#define dhyper Rf_dhyper
+#define digamma Rf_digamma
+#define dlnorm Rf_dlnorm
+#define dlogis Rf_dlogis
+#define dnbeta Rf_dnbeta
+#define dnbinom Rf_dnbinom
+#define dnchisq Rf_dnchisq
+#define dnf Rf_dnf
+#define dnorm4 Rf_dnorm4
+#define dnt Rf_dnt
+#define dpois Rf_dpois
+#define dpsifn Rf_dpsifn
+#define dsignrank Rf_dsignrank
+#define dt Rf_dt
+#define dtukey Rf_dtukey
+#define dunif Rf_dunif
+#define dweibull Rf_dweibull
+#define dwilcox Rf_dwilcox
+#define fmax2 Rf_fmax2
+#define fmin2 Rf_fmin2
+#define fprec Rf_fprec
+#define fround Rf_fround
+#define ftrunc Rf_ftrunc
+#define fsign Rf_fsign
+#define gammafn Rf_gammafn
+#define imax2 Rf_imax2
+#define imin2 Rf_imin2
+#define lbeta Rf_lbeta
+#define lchoose Rf_lchoose
+#define lgammafn Rf_lgammafn
+#define lgammafn_sign Rf_lgammafn_sign
+#define lgamma1p Rf_lgamma1p
+#define log1pmx Rf_log1pmx
+#define logspace_add Rf_logspace_add
+#define logspace_sub Rf_logspace_sub
+#define pbeta Rf_pbeta
+#define pbeta_raw Rf_pbeta_raw
+#define pbinom Rf_pbinom
+#define pcauchy Rf_pcauchy
+#define pchisq Rf_pchisq
+#define pentagamma Rf_pentagamma
+#define pexp Rf_pexp
+#define pf Rf_pf
+#define pgamma Rf_pgamma
+#define pgeom Rf_pgeom
+#define phyper Rf_phyper
+#define plnorm Rf_plnorm
+#define plogis Rf_plogis
+#define pnbeta Rf_pnbeta
+#define pnbinom Rf_pnbinom
+#define pnchisq Rf_pnchisq
+#define pnf Rf_pnf
+#define pnorm5 Rf_pnorm5
+#define pnorm_both Rf_pnorm_both
+#define pnt Rf_pnt
+#define ppois Rf_ppois
+#define psignrank Rf_psignrank
+#define psigamma Rf_psigamma
+#define pt Rf_pt
+#define ptukey Rf_ptukey
+#define punif Rf_punif
+#define pythag Rf_pythag
+#define pweibull Rf_pweibull
+#define pwilcox Rf_pwilcox
+#define qbeta Rf_qbeta
+#define qbinom Rf_qbinom
+#define qcauchy Rf_qcauchy
+#define qchisq Rf_qchisq
+#define qchisq_appr Rf_qchisq_appr
+#define qexp Rf_qexp
+#define qf Rf_qf
+#define qgamma Rf_qgamma
+#define qgeom Rf_qgeom
+#define qhyper Rf_qhyper
+#define qlnorm Rf_qlnorm
+#define qlogis Rf_qlogis
+#define qnbeta Rf_qnbeta
+#define qnbinom Rf_qnbinom
+#define qnchisq Rf_qnchisq
+#define qnf Rf_qnf
+#define qnorm5 Rf_qnorm5
+#define qnt Rf_qnt
+#define qpois Rf_qpois
+#define qsignrank Rf_qsignrank
+#define qt Rf_qt
+#define qtukey Rf_qtukey
+#define qunif Rf_qunif
+#define qweibull Rf_qweibull
+#define qwilcox Rf_qwilcox
+#define rbeta Rf_rbeta
+#define rbinom Rf_rbinom
+#define rcauchy Rf_rcauchy
+#define rchisq Rf_rchisq
+#define rexp Rf_rexp
+#define rf Rf_rf
+#define rgamma Rf_rgamma
+#define rgeom Rf_rgeom
+#define rhyper Rf_rhyper
+#define rlnorm Rf_rlnorm
+#define rlogis Rf_rlogis
+#define rnbeta Rf_rnbeta
+#define rnbinom Rf_rnbinom
+#define rnchisq Rf_rnchisq
+#define rnf Rf_rnf
+#define rnorm Rf_rnorm
+#define rnt Rf_rnt
+#define rpois Rf_rpois
+#define rsignrank Rf_rsignrank
+#define rt Rf_rt
+#define rtukey Rf_rtukey
+#define runif Rf_runif
+#define rweibull Rf_rweibull
+#define rwilcox Rf_rwilcox
+#define sign Rf_sign
+#define tetragamma Rf_tetragamma
+#define trigamma Rf_trigamma
+#endif
+
+#define rround fround
+#define prec fprec
+#undef trunc
+#define trunc ftrunc
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+ /* R's versions with !R_FINITE checks */
+
+double R_pow(double x, double y);
+double R_pow_di(double, int);
+
+ /* Random Number Generators */
+
+double norm_rand(void);
+double unif_rand(void);
+double exp_rand(void);
+#ifdef MATHLIB_STANDALONE
+void set_seed(unsigned int, unsigned int);
+void get_seed(unsigned int *, unsigned int *);
+#endif
+
+ /* Normal Distribution */
+
+#define pnorm pnorm5
+#define qnorm qnorm5
+#define dnorm dnorm4
+
+double dnorm(double, double, double, int);
+double pnorm(double, double, double, int, int);
+double qnorm(double, double, double, int, int);
+double rnorm(double, double);
+void pnorm_both(double, double *, double *, int, int);/* both tails */
+
+ /* Uniform Distribution */
+
+double dunif(double, double, double, int);
+double punif(double, double, double, int, int);
+double qunif(double, double, double, int, int);
+double runif(double, double);
+
+ /* Gamma Distribution */
+
+double dgamma(double, double, double, int);
+double pgamma(double, double, double, int, int);
+double qgamma(double, double, double, int, int);
+double rgamma(double, double);
+
+double log1pmx(double);
+double lgamma1p(double);
+double logspace_add(double, double);
+double logspace_sub(double, double);
+
+ /* Beta Distribution */
+
+double dbeta(double, double, double, int);
+double pbeta(double, double, double, int, int);
+double qbeta(double, double, double, int, int);
+double rbeta(double, double);
+
+ /* Lognormal Distribution */
+
+double dlnorm(double, double, double, int);
+double plnorm(double, double, double, int, int);
+double qlnorm(double, double, double, int, int);
+double rlnorm(double, double);
+
+ /* Chi-squared Distribution */
+
+double dchisq(double, double, int);
+double pchisq(double, double, int, int);
+double qchisq(double, double, int, int);
+double rchisq(double);
+
+ /* Non-central Chi-squared Distribution */
+
+double dnchisq(double, double, double, int);
+double pnchisq(double, double, double, int, int);
+double qnchisq(double, double, double, int, int);
+double rnchisq(double, double);
+
+ /* F Distibution */
+
+double df(double, double, double, int);
+double pf(double, double, double, int, int);
+double qf(double, double, double, int, int);
+double rf(double, double);
+
+ /* Student t Distibution */
+
+double dt(double, double, int);
+double pt(double, double, int, int);
+double qt(double, double, int, int);
+double rt(double);
+
+ /* Binomial Distribution */
+
+double dbinom(double, double, double, int);
+double pbinom(double, double, double, int, int);
+double qbinom(double, double, double, int, int);
+double rbinom(double, double);
+
+ /* Multnomial Distribution */
+
+void rmultinom(int, double*, int, int*);
+
+ /* Cauchy Distribution */
+
+double dcauchy(double, double, double, int);
+double pcauchy(double, double, double, int, int);
+double qcauchy(double, double, double, int, int);
+double rcauchy(double, double);
+
+ /* Exponential Distribution */
+
+double dexp(double, double, int);
+double pexp(double, double, int, int);
+double qexp(double, double, int, int);
+double rexp(double);
+
+ /* Geometric Distribution */
+
+double dgeom(double, double, int);
+double pgeom(double, double, int, int);
+double qgeom(double, double, int, int);
+double rgeom(double);
+
+ /* Hypergeometric Distibution */
+
+double dhyper(double, double, double, double, int);
+double phyper(double, double, double, double, int, int);
+double qhyper(double, double, double, double, int, int);
+double rhyper(double, double, double);
+
+ /* Negative Binomial Distribution */
+
+double dnbinom(double, double, double, int);
+double pnbinom(double, double, double, int, int);
+double qnbinom(double, double, double, int, int);
+double rnbinom(double, double);
+
+ /* Poisson Distribution */
+
+double dpois(double, double, int);
+double ppois(double, double, int, int);
+double qpois(double, double, int, int);
+double rpois(double);
+
+ /* Weibull Distribution */
+
+double dweibull(double, double, double, int);
+double pweibull(double, double, double, int, int);
+double qweibull(double, double, double, int, int);
+double rweibull(double, double);
+
+ /* Logistic Distribution */
+
+double dlogis(double, double, double, int);
+double plogis(double, double, double, int, int);
+double qlogis(double, double, double, int, int);
+double rlogis(double, double);
+
+ /* Non-central Beta Distribution */
+
+double dnbeta(double, double, double, double, int);
+double pnbeta(double, double, double, double, int, int);
+double qnbeta(double, double, double, double, int, int);
+double rnbeta(double, double, double);
+
+ /* Non-central F Distribution */
+
+double dnf(double, double, double, double, int);
+double pnf(double, double, double, double, int, int);
+double qnf(double, double, double, double, int, int);
+
+ /* Non-central Student t Distribution */
+
+double dnt(double, double, double, int);
+double pnt(double, double, double, int, int);
+double qnt(double, double, double, int, int);
+
+ /* Studentized Range Distribution */
+
+double ptukey(double, double, double, double, int, int);
+double qtukey(double, double, double, double, int, int);
+
+ /* Wilcoxon Rank Sum Distribution */
+
+double dwilcox(double, double, double, int);
+double pwilcox(double, double, double, int, int);
+double qwilcox(double, double, double, int, int);
+double rwilcox(double, double);
+
+ /* Wilcoxon Signed Rank Distribution */
+
+double dsignrank(double, double, int);
+double psignrank(double, double, int, int);
+double qsignrank(double, double, int, int);
+double rsignrank(double);
+
+ /* Gamma and Related Functions */
+double gammafn(double);
+double lgammafn(double);
+double lgammafn_sign(double, int*);
+void dpsifn(double, int, int, int, double*, int*, int*);
+double psigamma(double, double);
+double digamma(double);
+double trigamma(double);
+double tetragamma(double);
+double pentagamma(double);
+
+double beta(double, double);
+double lbeta(double, double);
+
+double choose(double, double);
+double lchoose(double, double);
+
+ /* Bessel Functions */
+
+double bessel_i(double, double, double);
+double bessel_j(double, double);
+double bessel_k(double, double, double);
+double bessel_y(double, double);
+
+
+ /* General Support Functions */
+
+double pythag(double, double);
+#ifndef HAVE_EXPM1
+double expm1(double); /* = exp(x)-1 {care for small x} */
+#endif
+#ifndef HAVE_LOG1P
+double log1p(double); /* = log(1+x) {care for small x} */
+#endif
+int imax2(int, int);
+int imin2(int, int);
+double fmax2(double, double);
+double fmin2(double, double);
+double sign(double);
+double fprec(double, double);
+double fround(double, double);
+double fsign(double, double);
+double ftrunc(double);
+
+double log1pmx(double); /* Accurate log(1+x) - x, {care for small x} */
+double lgamma1p(double);/* accurate log(gamma(x+1)), small x (0 < x < 0.5) */
+
+/* Compute the log of a sum or difference from logs of terms, i.e.,
+ *
+ * log (exp (logx) + exp (logy))
+ * or log (exp (logx) - exp (logy))
+ *
+ * without causing overflows or throwing away too much accuracy:
+ */
+double logspace_add(double logx, double logy);
+double logspace_sub(double logx, double logy);
+
+
+
+
+/* ----------------- Private part of the header file ------------------- */
+
+ /* old-R Compatibility */
+
+#ifdef OLD_RMATH_COMPAT
+# define snorm norm_rand
+# define sunif unif_rand
+# define sexp exp_rand
+#endif
+
+#if defined(MATHLIB_STANDALONE) && !defined(MATHLIB_PRIVATE_H)
+/* second is defined by nmath.h */
+
+/* If isnan is a macro, as C99 specifies, the C++
+ math header will undefine it. This happens on OS X */
+# ifdef __cplusplus
+ int R_isnancpp(double); /* in mlutils.c */
+# define ISNAN(x) R_isnancpp(x)
+# else
+# define ISNAN(x) (isnan(x)!=0)
+# endif
+
+# define R_FINITE(x) R_finite(x)
+int R_finite(double);
+
+# ifdef WIN32 /* not Win32 as no config information */
+# ifdef RMATH_DLL
+# define R_EXTERN extern __declspec(dllimport)
+# else
+# define R_EXTERN extern
+# endif
+R_EXTERN double NA_REAL;
+R_EXTERN double R_PosInf;
+R_EXTERN double R_NegInf;
+R_EXTERN int N01_kind;
+# undef R_EXTERN
+# endif
+
+#endif /* MATHLIB_STANDALONE */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* RMATH_H */
diff --git a/src/main.cpp b/src/main.cpp
new file mode 100644
index 0000000..c6f018f
--- /dev/null
+++ b/src/main.cpp
@@ -0,0 +1,936 @@
+//=============================================================================
+// Filename: src/main.cpp
+//
+// Description: ProbABEL head file.
+//
+// Author: Yurii S. Aulchenko (cox, log, lin regressions)
+// Modified by: M. Kooyman,
+// L.C. Karssen,
+// Maksim V. Struchalin
+//
+// modified 14-May-2009 by MVS: interaction with SNP, interaction with SNP
+// with exclusion of interacted covariates,
+// mmscore implemented (poor me)
+// modified 20-Jul-2009 by YSA: small changes, bug fix in mmscore option
+// modified 22-Sep-2009 by YSA: "robust" option added
+//
+// Modified by Han Chen (hanchen at bu.edu) on Nov 9, 2009
+// to extract the covariance between the estimate of beta(SNP) and the estimate
+// of beta(interaction) based on src/main.cpp version 0.1-0 as of Oct 19, 2009
+//
+// Company: Department of Epidemiology, ErasmusMC Rotterdam, The Netherlands.
+//
+//=============================================================================
+#include <stdio.h>
+#include <iostream>
+#include <cstdlib>
+#include <fstream>
+#include <sstream>
+#include <string>
+#include <iomanip>
+#include <vector>
+
+#if EIGEN
+#include "eigen_mematrix.h"
+#include "eigen_mematrix.cpp"
+#else
+#include "mematrix.h"
+#include "mematri1.h"
+#endif
+#include "maskedmatrix.h"
+#include "data.h"
+#include "reg1.h"
+#include "command_line_settings.h"
+
+#include "coxph_data.h"
+//#include "coxph_reg.cpp"
+
+#define MAXITER 10
+
+#define EPS 1.e-8
+#define CHOLTOL 1.5e-12
+
+void update_progress_to_cmd_line(int csnp, int nsnps)
+{
+ std::cout << setprecision(2) << fixed;
+
+ if (csnp % 1000 == 0)
+ {
+ if (csnp == 0)
+ {
+ std::cout << "Analysis: "
+ << setw(5)
+ << 100. * static_cast<double>(csnp)
+ / static_cast<double>(nsnps)
+ << "%...";
+ }
+ else
+ {
+ std::cout << "\b\b\b\b\b\b\b\b\b"
+ << setw(5)
+ << 100. * static_cast<double>(csnp)
+ / static_cast<double>(nsnps)
+ << "%...";
+ }
+ std::cout.flush();
+ }
+ std::cout << setprecision(6);
+}
+
+void open_files_for_output(std::vector<std::ofstream*>& outfile,
+ std::string& outfilename_str)
+{
+ //create a list of filenames
+ const int amount_of_files = 5;
+ std::string filenames[amount_of_files] = {
+ outfilename_str + "_2df.out.txt",
+ outfilename_str + "_add.out.txt",
+ outfilename_str + "_domin.out.txt",
+ outfilename_str + "_recess.out.txt",
+ outfilename_str + "_over_domin.out.txt" };
+
+ for (int i = 0; i < amount_of_files; i++)
+ {
+ outfile.push_back(new std::ofstream());
+ outfile[i]->open((filenames[i]).c_str());
+ if (!outfile[i]->is_open())
+ {
+ std::cerr << "Cannot open file for writing: "
+ << filenames[i]
+ << "\n";
+ exit(1);
+ }
+ }
+}
+
+int create_phenotype(phedata& phd, cmdvars& input_var)
+{
+ phd.set_is_interaction_excluded(input_var.isIsInteractionExcluded());
+ phd.setphedata(input_var.getPhefilename(),
+ input_var.getNoutcomes(),
+ input_var.getNpeople(),
+ input_var.getInteraction(),
+ input_var.isIscox());
+
+ int interaction_cox = input_var.getInteraction();
+#if COXPH
+ interaction_cox--;
+#endif
+
+ if (input_var.getInteraction() < 0 ||
+ input_var.getInteraction() > phd.ncov ||
+ interaction_cox > phd.ncov)
+ {
+ std::cerr << "error: Interaction parameter is out of range "
+ << "(interaction="
+ << input_var.getInteraction()
+ << ") \n";
+ exit(1);
+ }
+
+ return interaction_cox;
+}
+
+void loadInvSigma(cmdvars& input_var, phedata& phd, masked_matrix& invvarmatrix)
+{
+ std::cout << "you are running mmscore...\n";
+ InvSigma inv(input_var.getInverseFilename(), &phd);
+ // invvarmatrix = inv.get_matrix();
+ //double par = 1.; //var(phd.Y)*phd.nids/(phd.nids-phd.ncov-1);
+ invvarmatrix.set_matrix(inv.get_matrix()); // = invvarmatrix * par;
+ std::cout << " loaded InvSigma ..." << std::flush;
+}
+
+void create_start_of_header(std::vector<std::ofstream*>& outfile,
+ cmdvars& input_var, phedata& phd)
+{
+ for (unsigned int i = 0; i < outfile.size(); i++)
+ {
+ (*outfile[i]) << "name"
+ << input_var.getSep()
+ << "A1"
+ << input_var.getSep()
+ << "A2"
+ << input_var.getSep()
+ << "Freq1"
+ << input_var.getSep()
+ << "MAF"
+ << input_var.getSep()
+ << "Quality"
+ << input_var.getSep()
+ << "Rsq"
+ << input_var.getSep()
+ << "n"
+ << input_var.getSep()
+ << "Mean_predictor_allele";
+ if (input_var.getChrom() != "-1")
+ (*outfile[i]) << input_var.getSep() << "chrom";
+ if (input_var.getMapfilename() != NULL)
+ (*outfile[i]) << input_var.getSep() << "position";
+ }
+
+ if (input_var.getAllcov()) //All covariates in output
+ {
+ for (unsigned int file = 0; file < outfile.size(); file++)
+ for (int i = 0; i < phd.n_model_terms - 1; i++)
+ *outfile[file] << input_var.getSep()
+ << "beta_"
+ << phd.model_terms[i]
+ << input_var.getSep()
+ << "sebeta_"
+ << phd.model_terms[i];
+ }
+}
+
+
+void create_header(std::vector<std::ofstream*>& outfile, cmdvars& input_var,
+ phedata& phd, int& interaction_cox)
+{
+ create_start_of_header(outfile, input_var, phd);
+
+ if (input_var.getNgpreds() == 1) // dose data: only additive model
+ {
+ *outfile[0] << input_var.getSep()
+ << "beta_SNP_add"
+ << input_var.getSep()
+ << "sebeta_SNP_add";
+
+ if (input_var.getInteraction() != 0)
+ {
+ *outfile[0] << input_var.getSep()
+ << "beta_SNP_"
+ << phd.model_terms[interaction_cox]
+ << input_var.getSep()
+ << "sebeta_SNP_"
+ << phd.model_terms[interaction_cox];
+ }
+
+ if (input_var.getInverseFilename() == NULL)
+ {
+ //Han Chen
+#if !COXPH
+ if (input_var.getInteraction() != 0 && !input_var.getAllcov())
+ {
+ *outfile[0] << input_var.getSep()
+ << "cov_SNP_int_SNP_"
+ << phd.model_terms[interaction_cox];
+ }
+#endif
+ }
+ *outfile[0] << input_var.getSep() << "chi2_SNP";
+ *outfile[0] << "\n";
+ } // ngpreds == 1
+ else if (input_var.getNgpreds() == 2) // prob data: all models
+ {
+ *outfile[0] << input_var.getSep()
+ << "beta_SNP_A1A2"
+ << input_var.getSep()
+ << "sebeta_SNP_A1A2"
+ << input_var.getSep()
+ << "beta_SNP_A1A1"
+ << input_var.getSep()
+ << "sebeta_SNP_A1A1";
+ *outfile[1] << input_var.getSep()
+ << "beta_SNP_addA1"
+ << input_var.getSep()
+ << "sebeta_SNP_addA1";
+ *outfile[2] << input_var.getSep()
+ << "beta_SNP_domA1"
+ << input_var.getSep()
+ << "sebeta_SNP_domA1";
+ *outfile[3] << input_var.getSep()
+ << "beta_SNP_recA1"
+ << input_var.getSep()
+ << "sebeta_SNP_recA1";
+ *outfile[4] << input_var.getSep()
+ << "beta_SNP_odomA1"
+ << input_var.getSep()
+ << "sebeta_SNP_odomA1";
+ if (input_var.getInteraction() != 0)
+ {
+ //Han Chen
+ *outfile[0] << input_var.getSep()
+ << "beta_SNP_A1A2_"
+ << phd.model_terms[interaction_cox]
+ << input_var.getSep()
+ << "sebeta_SNP_A1A2_"
+ << phd.model_terms[interaction_cox]
+ << input_var.getSep()
+ << "beta_SNP_A1A1_"
+ << phd.model_terms[interaction_cox]
+ << input_var.getSep()
+ << "sebeta_SNP_A1A1_"
+ << phd.model_terms[interaction_cox];
+#if !COXPH
+ if (input_var.getInverseFilename() == NULL && !input_var.getAllcov())
+ {
+ *outfile[0] << input_var.getSep()
+ << "cov_SNP_A1A2_int_SNP_"
+ << phd.model_terms[interaction_cox]
+ << input_var.getSep()
+ << "cov_SNP_A1A1_int_SNP_"
+ << phd.model_terms[interaction_cox];
+ }
+#endif
+ //Oct 26, 2009
+ for (unsigned int file = 1; file < outfile.size(); file++)
+ {
+ *outfile[file] << input_var.getSep()
+ << "beta_SNP_"
+ << phd.model_terms[interaction_cox]
+ << input_var.getSep()
+ << "sebeta_SNP_"
+ << phd.model_terms[interaction_cox];
+ //Han Chen
+#if !COXPH
+ if (input_var.getInverseFilename() == NULL
+ && !input_var.getAllcov())
+ {
+ *outfile[file] << input_var.getSep()
+ << "cov_SNP_int_SNP_"
+ << phd.model_terms[interaction_cox];
+ }
+#endif
+ //Oct 26, 2009
+ }
+ }
+ *outfile[0] << input_var.getSep() << "chi2_SNP_2df\n"; // "loglik\n";
+ *outfile[1] << input_var.getSep() << "chi2_SNP_A1\n"; // "loglik\n";
+ *outfile[2] << input_var.getSep() << "chi2_SNP_domA1\n";// "loglik\n";
+ *outfile[3] << input_var.getSep() << "chi2_SNP_recA1\n";// "loglik\n";
+ *outfile[4] << input_var.getSep() << "chi2_SNP_odomA1\n"; // "loglik\n";
+ } // End: ngpreds == 2
+ else
+ {
+ cerr << "Error: create_header(): ngpreds != 1 or 2.\n";
+ }
+}
+
+
+void write_mlinfo(const std::vector<std::ofstream*>& outfile, unsigned int file,
+ const mlinfo& mli, int csnp, const cmdvars& input_var,
+ int gcount, double freq)
+{
+ *outfile[file] << mli.name[csnp]
+ << input_var.getSep()
+ << mli.A1[csnp]
+ << input_var.getSep()
+ << mli.A2[csnp]
+ << input_var.getSep()
+ << mli.Freq1[csnp]
+ << input_var.getSep()
+ << mli.MAF[csnp]
+ << input_var.getSep()
+ << mli.Quality[csnp]
+ << input_var.getSep()
+ << mli.Rsq[csnp]
+ << input_var.getSep()
+ << gcount
+ << input_var.getSep()
+ << freq;
+ if (input_var.getChrom() != "-1")
+ {
+ *outfile[file] << input_var.getSep() << input_var.getChrom();
+ }
+ if (input_var.getMapfilename() != NULL)
+ {
+ *outfile[file] << input_var.getSep() << mli.map[csnp];
+ }
+}
+
+
+int get_start_position(const cmdvars& input_var, int model,
+ int number_of_rows_or_columns)
+{
+ int start_pos;
+ if (!input_var.getAllcov() &&
+ model == 0 &&
+ input_var.getInteraction() == 0)
+ {
+ if (input_var.getNgpreds() == 2)
+ {
+ start_pos = number_of_rows_or_columns - 2;
+ } else
+ {
+ start_pos = number_of_rows_or_columns - 1;
+ }
+ } else if (!input_var.getAllcov() && model == 0
+ && input_var.getInteraction() != 0)
+ {
+ if (input_var.getNgpreds() == 2)
+ {
+ start_pos = number_of_rows_or_columns - 4;
+ } else
+ {
+ start_pos = number_of_rows_or_columns - 2;
+ }
+ } else if (!input_var.getAllcov() && model != 0
+ && input_var.getInteraction() == 0)
+ {
+ start_pos = number_of_rows_or_columns - 1;
+ } else if (!input_var.getAllcov() && model != 0
+ && input_var.getInteraction() != 0)
+ {
+ start_pos = number_of_rows_or_columns - 2;
+ } else
+ {
+ start_pos = 0;
+ }
+
+ return start_pos;
+}
+
+int main(int argc, char * argv[])
+{
+ cmdvars input_var;
+ input_var.set_variables(argc, argv);
+
+ input_var.printinfo();
+
+ mlinfo mli(input_var.getMlinfofilename(), input_var.getMapfilename());
+ int nsnps = mli.nsnps;
+ phedata phd;
+ int interaction_cox = create_phenotype(phd, input_var);
+
+ masked_matrix invvarmatrix;
+
+ std::cout << "Reading data..." << std::flush;
+ if (input_var.getInverseFilename() != NULL)
+ {
+ loadInvSigma(input_var, phd, invvarmatrix);
+ }
+
+ gendata gtd;
+ if (!input_var.getIsFvf())
+ {
+ // use the non-filevector input format
+ gtd.re_gendata(input_var.getGenfilename(), nsnps,
+ input_var.getNgpreds(), phd.nids_all, phd.nids,
+ phd.allmeasured, input_var.getSkipd(), phd.idnames);
+ }
+ else
+ {
+ // use the filevector input format (missing second last skipd
+ // parameter)
+ gtd.re_gendata(input_var.getStrGenfilename(), nsnps,
+ input_var.getNgpreds(), phd.nids_all, phd.nids,
+ phd.allmeasured, phd.idnames);
+ }
+
+ std::cout << " loaded genotypic data..." << std::flush;
+
+ // estimate null model
+#if COXPH
+ coxph_data nrgd = coxph_data(phd, gtd, -1);
+#else
+ regdata nrgd = regdata(phd, gtd, -1, input_var.isIsInteractionExcluded());
+#endif
+
+ std::cout << " loaded null data..." << std::flush;
+#if LOGISTIC
+ logistic_reg nrd = logistic_reg(nrgd);
+ nrd.estimate(nrgd, 0, MAXITER, EPS, CHOLTOL, 0,
+ input_var.getInteraction(),
+ input_var.getNgpreds(),
+ invvarmatrix,
+ input_var.getRobust(),
+ 1);
+#elif LINEAR
+
+ linear_reg nrd = linear_reg(nrgd);
+#if DEBUG
+ std::cout << "[DEBUG] linear_reg nrd = linear_reg(nrgd); DONE.";
+#endif
+ nrd.estimate(nrgd, 0, CHOLTOL, 0, input_var.getInteraction(),
+ input_var.getNgpreds(), invvarmatrix,
+ input_var.getRobust(), 1);
+#elif COXPH
+ coxph_reg nrd = coxph_reg(nrgd);
+ nrd.estimate(nrgd, 0, MAXITER, EPS, CHOLTOL, 0,
+ input_var.getInteraction(), input_var.getNgpreds(), true, 1);
+#endif
+ double null_loglik = nrd.loglik;
+
+ std::cout << " estimated null model...";
+ // end null
+#if COXPH
+ coxph_data rgd(phd, gtd, 0);
+#else
+ regdata rgd(phd, gtd, 0, input_var.isIsInteractionExcluded());
+#endif
+ std::cout << " formed regression object...\n";
+
+
+ // Open a vector of files that will be used for output. Depending
+ // on the number of genomic predictors we either open 5 files (one
+ // for each model if we have prob data) or one (if we have dosage
+ // data).
+ std::string outfilename_str(input_var.getOutfilename());
+ std::vector<std::ofstream*> outfile;
+
+ // Prob data: All models output. One file per model
+ if (input_var.getNgpreds() == 2)
+ {
+ open_files_for_output(outfile, outfilename_str);
+ if (input_var.getNohead() != 1)
+ {
+ create_header(outfile, input_var, phd, interaction_cox);
+ }
+ } else //Dosage data: Only additive model => only one output file
+ {
+ outfile.push_back(
+ new std::ofstream((outfilename_str + "_add.out.txt").c_str()));
+
+ if (!outfile[0]->is_open())
+ {
+ std::cerr << "Cannot open file for writing: "
+ << outfilename_str
+ << "\n";
+ exit(1);
+ }
+ if (input_var.getNohead() != 1)
+ {
+ create_header(outfile, input_var, phd, interaction_cox);
+ }
+ } // END else: we have dosage data => only one file
+
+
+ int maxmod = 5; // Total number of models (in random
+ // order: additive, recessive,
+ // dominant, over_dominant, 2df). Only
+ // with dosage data can we run all of
+ // them. For dosage data we can only
+ // run the additive model.
+
+ int start_pos, end_pos;
+
+ std::vector<std::ostringstream *> beta_sebeta;
+ //Han Chen
+ std::vector<std::ostringstream *> covvalue;
+ //Oct 26, 2009
+ std::vector<std::ostringstream *> chi2;
+
+ // Create string streams for betas, SEs, etc. These are used to
+ // later store the various output values that will be written to
+ // files.
+ for (int i = 0; i < maxmod; i++)
+ {
+ beta_sebeta.push_back(new std::ostringstream());
+ beta_sebeta[i]->precision(6);
+ //*beta_sebeta[i] << scientific;
+ //Han Chen
+ covvalue.push_back(new std::ostringstream());
+ covvalue[i]->precision(6);
+ //*covvalue[i] << scientific;
+ //Oct 26, 2009
+ chi2.push_back(new std::ostringstream());
+ chi2[i]->precision(6);
+ //*chi2[i] << scientific;
+ }
+
+
+ // Here we start the analysis for each SNP.
+ for (int csnp = 0; csnp < nsnps; csnp++)
+ {
+ rgd.update_snp(gtd, csnp);
+ double freq = 0.;
+ unsigned int gcount = 0;
+ double snpdata1[gtd.nids];
+ double snpdata2[gtd.nids];
+
+ if (input_var.getNgpreds() == 2) // Two predictors (probs)
+ {
+ //freq = ((gtd.G).column_mean(csnp*2)*2. +
+ // (gtd.G).column_mean(csnp*2+1))/2.;
+ gtd.get_var(csnp * 2, snpdata1);
+ gtd.get_var(csnp * 2 + 1, snpdata2);
+ for (unsigned int ii = 0; ii < gtd.nids; ii++)
+ {
+ if (!isnan(snpdata1[ii]) && !isnan(snpdata2[ii]))
+ {
+ gcount++;
+ freq += snpdata1[ii] + snpdata2[ii] * 0.5;
+ }
+ }
+ }
+ else // Only one predictor (dosage data)
+ {
+ // freq = (gtd.G).column_mean(csnp)/2.;
+ gtd.get_var(csnp, snpdata1);
+ for (unsigned int ii = 0; ii < gtd.nids; ii++)
+ {
+ if (!isnan(snpdata1[ii]))
+ {
+ gcount++;
+ freq += snpdata1[ii] * 0.5;
+ }
+ }
+ }
+ freq /= static_cast<double>(gcount); // Allele frequency
+
+ int poly = 1;
+ if (fabs(freq) < 1.e-16 || fabs(1. - freq) < 1.e-16)
+ {
+ poly = 0;
+ }
+
+ if (fabs(mli.Rsq[csnp]) < 1.e-16)
+ {
+ poly = 0;
+ }
+
+ // Write mlinfo information to the output file(s)
+ // Prob data: All models output. One file per model
+ if (input_var.getNgpreds() == 2)
+ {
+ for (unsigned int file = 0; file < outfile.size(); file++)
+ {
+ write_mlinfo(outfile, file, mli, csnp, input_var,
+ gcount, freq);
+ }
+ } else
+ {
+ // Dosage data: only additive model
+ int file = 0;
+ write_mlinfo(outfile, file, mli, csnp, input_var, gcount, freq);
+ maxmod = 1; // We can only calculate the additive
+ // model with dosage data
+ }
+
+ // Run regression for each model for the current SNP
+ for (int model = 0; model < maxmod; model++)
+ {
+ if (poly) // Allele freq is not too rare
+ {
+#if LOGISTIC
+ logistic_reg rd(rgd);
+ if (input_var.getScore())
+ {
+ rd.score(nrd.residuals, rgd, 0, CHOLTOL, model,
+ input_var.getInteraction(),
+ input_var.getNgpreds(),
+ invvarmatrix);
+ }
+ else
+ {
+ rd.estimate(rgd, 0, MAXITER, EPS, CHOLTOL, model,
+ input_var.getInteraction(),
+ input_var.getNgpreds(),
+ invvarmatrix,
+ input_var.getRobust());
+ }
+#elif LINEAR
+ linear_reg rd(rgd);
+ if (input_var.getScore())
+ {
+ rd.score(nrd.residuals, rgd, 0, CHOLTOL, model,
+ input_var.getInteraction(),
+ input_var.getNgpreds(),
+ invvarmatrix);
+ }
+ else
+ {
+ rd.estimate(rgd, 0, CHOLTOL, model,
+ input_var.getInteraction(),
+ input_var.getNgpreds(),
+ invvarmatrix,
+ input_var.getRobust());
+ }
+#elif COXPH
+ coxph_reg rd(rgd);
+ rd.estimate(rgd, 0, MAXITER, EPS, CHOLTOL, model,
+ input_var.getInteraction(),
+ input_var.getNgpreds(), true, 0);
+#endif
+
+ int number_of_rows_or_columns = rd.beta.nrow;
+ start_pos = get_start_position(input_var, model,
+ number_of_rows_or_columns);
+
+ // The regression coefficients for the SNPs are in the
+ // last rows of beta[] and sebeta[].
+ for (int pos = start_pos; pos < rd.beta.nrow; pos++)
+ {
+ *beta_sebeta[model] << input_var.getSep()
+ << rd.beta[pos]
+ << input_var.getSep()
+ << rd.sebeta[pos];
+ //Han Chen
+#if !COXPH
+ if (input_var.getInverseFilename() == NULL
+ && !input_var.getAllcov()
+ && input_var.getInteraction() != 0)
+ {
+ if (pos > start_pos)
+ {
+ if (model == 0)
+ {
+ if (input_var.getNgpreds() == 2)
+ {
+ if (pos > start_pos + 2)
+ {
+ *covvalue[model]
+ << rd.covariance[pos - 3]
+ << input_var.getSep()
+ << rd.covariance[pos - 2];
+ }
+
+ } // END ngpreds=2
+ else
+ {
+ *covvalue[model] << rd.covariance[pos - 1];
+ }
+
+ } //END model == 0
+ else
+ {
+ *covvalue[model] << rd.covariance[pos - 1];
+ } // END model != 0
+ } // END if pos > start_pos
+ }
+#endif
+ //Oct 26, 2009
+ } // END for(pos = start_pos; pos < rd.beta.nrow; pos++)
+
+
+ //calculate chi^2
+ //________________________________
+ //cout << rd.loglik<<" "<<input_var.getNgpreds() << "\n";
+
+ if (input_var.getInverseFilename() == NULL)
+ { // Only if we don't have an inv.sigma file can we use LRT
+ if (input_var.getScore() == 0)
+ {
+ double loglik = rd.loglik;
+ if (gcount != gtd.nids)
+ {
+ // If SNP data is missing we didn't
+ // correctly compute the null likelihood
+
+ // Recalculate null likelihood by
+ // stripping the SNP data column(s) from
+ // the X matrix in the regression object
+ // and run the null model estimation again
+ // for this SNP.
+#ifdef LINEAR
+ regdata new_rgd = rgd;
+ new_rgd.remove_snp_from_X();
+ linear_reg new_null_rd(new_rgd);
+ new_null_rd.estimate(new_rgd, 0,
+ CHOLTOL, model,
+ input_var.getInteraction(),
+ input_var.getNgpreds(),
+ invvarmatrix,
+ input_var.getRobust(), 1);
+
+#elif LOGISTIC
+ regdata new_rgd = rgd;
+ new_rgd.remove_snp_from_X();
+ logistic_reg new_null_rd(new_rgd);
+ new_null_rd.estimate(new_rgd, 0, MAXITER, EPS,
+ CHOLTOL, model,
+ input_var.getInteraction(),
+ input_var.getNgpreds(),
+ invvarmatrix,
+ input_var.getRobust(), 1);
+
+#elif COXPH
+ coxph_data new_rgd = rgd;
+ new_rgd.remove_snp_from_X();
+ coxph_reg new_null_rd(new_rgd);
+ new_null_rd.estimate(new_rgd, 0, MAXITER, EPS,
+ CHOLTOL, model,
+ input_var.getInteraction(),
+ input_var.getNgpreds(),
+ true, 1);
+#endif
+ *chi2[model] << 2. * (loglik - new_null_rd.loglik);
+ }
+ else
+ {
+ // No missing SNP data, we can compute the LRT
+ *chi2[model] << 2. * (loglik - null_loglik);
+ }
+ } else
+ {
+ // We want score test output
+ *chi2[model] << rd.chi2_score;
+ }
+ } // END if( inv.sigma == NULL )
+ else if (input_var.getInverseFilename() != NULL)
+ {
+ // We can't use the LRT here, because mmscore is a
+ // REML method. Therefore go for the Wald test
+ if (input_var.getNgpreds() == 2 && model == 0)
+ {
+ /* For the 2df model we can't simply use the
+ * Wald statistic. This can be fixed using the
+ * equation just below Eq.(4) in the ProbABEL
+ * paper. TODO LCK
+ */
+ *chi2[model] << "nan";
+ }
+ else
+ {
+ double Z = rd.beta[start_pos] / rd.sebeta[start_pos];
+ *chi2[model] << Z * Z;
+ }
+ }
+ } // END first part of if(poly); allele not too rare
+ else
+ { // SNP is rare: beta, sebeta, chi2 = nan
+
+ int number_of_rows_or_columns = rgd.X.ncol;
+ start_pos = get_start_position(input_var, model,
+ number_of_rows_or_columns);
+
+ if (input_var.getInteraction() != 0 && !input_var.getAllcov()
+ && input_var.getNgpreds() != 2)
+ {
+ start_pos++;
+ }
+
+ if (input_var.getNgpreds() == 0)
+ {
+ end_pos = rgd.X.ncol;
+ } else
+ {
+ end_pos = rgd.X.ncol - 1;
+ }
+
+ if (input_var.getInteraction() != 0)
+ {
+ end_pos++;
+ }
+
+ for (int pos = start_pos; pos <= end_pos; pos++)
+ {
+ *beta_sebeta[model] << input_var.getSep()
+ << "nan"
+ << input_var.getSep()
+ << "nan";
+ }
+
+ if (input_var.getNgpreds() == 2)
+ {
+ //Han Chen
+#if !COXPH
+ if (!input_var.getAllcov()
+ && input_var.getInteraction() != 0)
+ {
+ if (model == 0)
+ {
+ *covvalue[model] << "nan"
+ << input_var.getSep()
+ << "nan";
+ } else
+ {
+ *covvalue[model] << "nan";
+ }
+ }
+#endif
+ //Oct 26, 2009
+ *chi2[model] << "nan";
+ } else
+ { //ngpreds==1 (and SNP is rare)
+ if (input_var.getInverseFilename() == NULL)
+ {
+ // Han Chen
+#if !COXPH
+ if (!input_var.getAllcov()
+ && input_var.getInteraction() != 0)
+ {
+ *covvalue[model] << "nan";
+ }
+#endif
+ //Oct 26, 2009
+ } // END if getInverseFilename == NULL
+ *chi2[model] << "nan";
+ } // END ngpreds == 1 (and SNP is rare)
+ } // END else: SNP is rare
+ } // END of model cycle
+
+
+ // Start writing beta's, se_beta's etc. to file
+ if (input_var.getNgpreds() == 2)
+ {
+ for(int model=0; model < maxmod; model++)
+ {
+ *outfile[model] << beta_sebeta[model]->str()
+ << input_var.getSep();
+#if !COXPH
+ if (!input_var.getAllcov() && input_var.getInteraction() != 0)
+ {
+ *outfile[model] << covvalue[model]->str()
+ << input_var.getSep();
+ }
+#endif
+ *outfile[model] << chi2[model]->str()
+ << "\n";
+ } // END for loop over all models
+ }
+ else // Dose data: only additive model. Only one output file
+ {
+ *outfile[0] << beta_sebeta[0]->str() << input_var.getSep();
+#if !COXPH
+ if (!input_var.getAllcov() && input_var.getInteraction() != 0)
+ {
+ *outfile[0] << covvalue[0]->str() << input_var.getSep();
+ }
+#endif
+ *outfile[0] << chi2[0]->str() << "\n";
+ } // End ngpreds == 1 when writing output files
+
+
+ // Clean chi2 and other streams
+ for (int model = 0; model < maxmod; model++)
+ {
+ beta_sebeta[model]->str("");
+ //Han Chen
+ covvalue[model]->str("");
+ //Oct 26, 2009
+ chi2[model]->str("");
+ }
+
+ update_progress_to_cmd_line(csnp, nsnps);
+ } // END for loop over all SNPs
+
+
+ // We're almost done. All computations have finished, time to
+ // clean up.
+
+ std::cout << setprecision(2) << fixed;
+ std::cout << "\b\b\b\b\b\b\b\b\b" << 100.;
+ std::cout << "%... done\n";
+
+ // Close output files
+ for (unsigned int i = 0; i < outfile.size(); i++)
+ {
+ outfile[i]->close();
+ delete outfile[i];
+ }
+
+ // delete gtd;
+
+ // Clean up a couple of vectors
+ std::vector<std::ostringstream *>::iterator it = beta_sebeta.begin();
+ while (it != beta_sebeta.end())
+ {
+ delete *it;
+ ++it;
+ }
+ it = covvalue.begin();
+ while (it != covvalue.end())
+ {
+ delete *it;
+ ++it;
+ }
+ it = chi2.begin();
+ while (it != chi2.end())
+ {
+ delete *it;
+ ++it;
+ }
+
+ return (0);
+}
diff --git a/src/maskedmatrix.cpp b/src/maskedmatrix.cpp
new file mode 100644
index 0000000..f5d90de
--- /dev/null
+++ b/src/maskedmatrix.cpp
@@ -0,0 +1,133 @@
+/*
+ * maskedmatrix.cpp
+ *
+ * Created on: May 22, 2012
+ * Author: mkooyman
+ */
+
+#include "maskedmatrix.h"
+#if EIGEN
+#include "eigen_mematrix.h"
+#include "eigen_mematrix.cpp"
+#else
+#include "mematrix.h"
+#include "mematri1.h"
+#endif
+
+masked_matrix::masked_matrix()
+{
+ length_of_mask = 0;
+ masked_data = NULL;
+ mask_of_old = NULL;
+}
+
+masked_matrix::masked_matrix(mematrix<double> M) : matrix_original(M)
+{
+// matrix_original = M;
+ masked_data = &matrix_original;
+ mask_of_old = new unsigned short int[M.nrow];
+ for (int i = 0; i < M.nrow; i++)
+ {
+ mask_of_old[i] = 0;
+ }
+ //TODO:set length of mask for all types
+ length_of_mask = M.nrow;
+ //TODO:set type (row,column,symmetric)
+ //type="symmetric";
+}
+
+void masked_matrix::set_matrix(const mematrix<double> &M)
+{
+ matrix_original = M;
+ masked_data = &matrix_original;
+ mask_of_old = new unsigned short int[M.nrow];
+ for (int i = 0; i < M.nrow; i++)
+ {
+ mask_of_old[i] = 0;
+ }
+ //TODO:set length of mask for all types
+ length_of_mask = M.nrow;
+ //TODO:set type (row,column,symmetric)
+ //type="symmetric";
+}
+
+masked_matrix::~masked_matrix()
+{
+ delete[] mask_of_old;
+}
+
+void masked_matrix::update_mask(short unsigned int *newmask)
+{
+ //find length of masked matrix
+ int nmeasured = 0;
+ for (int i = 0; i < length_of_mask; i++)
+ {
+ if (newmask[i] == 0)
+ {
+ nmeasured++;
+ }
+ }
+
+ //Check update mask is the same as original matrix
+ if (nmeasured == length_of_mask)
+ {
+ //masked matrix is the same as original matrix
+ masked_data = &matrix_original;
+ }
+ else
+ {
+ //Check update mask is the same as old matrix
+ if (is_equal_array(newmask, mask_of_old, length_of_mask))
+ {
+ //new mask is the same as old matrix
+ masked_data = &matrix_masked_data;
+ }
+ else
+ {
+ // new mask differs from old matrix and create new.
+ // mask_of_old = newmask;
+ //TODO(maarten): there must be a smarter way to copy these values
+ for (int i = 0; i < length_of_mask; i++)
+ {
+ mask_of_old[i] = newmask[i];
+ }
+ mask_symmetric(nmeasured);
+ masked_data = &matrix_masked_data;
+ }
+ }
+}
+
+void masked_matrix::mask_symmetric(int nmeasured)
+{
+ // Mask a symmetric matrix: this matrix is always a square matrix and will
+ // mask rows and columns. The result is always a square matrix
+ matrix_masked_data.reinit(nmeasured, nmeasured);
+ int i1 = 0, j1 = 0;
+
+ for (int i = 0; i < length_of_mask; i++)
+ if (mask_of_old[i] == 0)
+ {
+ j1 = 0;
+ for (int j = 0; j < length_of_mask; j++)
+ if (mask_of_old[j] == 0)
+ {
+ //std::cout << "val" << i1 << " " << j1 << "\n";
+ matrix_masked_data.put(matrix_original.get(i, j), i1, j1);
+ j1++;
+ }
+ i1++;
+ }
+}
+
+bool masked_matrix::is_equal_array(unsigned short int *a, unsigned short int *b,
+ int size)
+{
+ for (int i = 0; i < size; i++)
+ {
+ if (a[i] != b[i])
+ {
+ return false;
+ }
+ }
+ return true;
+}
diff --git a/src/maskedmatrix.h b/src/maskedmatrix.h
new file mode 100644
index 0000000..66699f0
--- /dev/null
+++ b/src/maskedmatrix.h
@@ -0,0 +1,38 @@
+/*
+ * maskedmatrix.h
+ *
+ * Created on: May 22, 2012
+ * Author: mkooyman
+ */
+
+#ifndef MASKEDMATRIX_H_
+#define MASKEDMATRIX_H_
+
+#if EIGEN
+#include "eigen_mematrix.h"
+#include "eigen_mematrix.cpp"
+#else
+#include "mematrix.h"
+#include "mematri1.h"
+#endif
+
+class masked_matrix {
+public:
+ masked_matrix();
+ masked_matrix(mematrix<double> M);
+ void set_matrix(const mematrix<double> &M);
+ ~masked_matrix();
+ void update_mask(short unsigned int *newmask);
+// mematrix<double>* get_matrix();
+ mematrix<double> matrix_original;
+ mematrix<double> *masked_data;
+ int length_of_mask;
+private:
+ //char type;
+ mematrix<double> matrix_masked_data;
+ unsigned short int *mask_of_old;
+ void mask_symmetric(int nmeasured);
+ bool is_equal_array(unsigned short int *a, unsigned short int *b, int size);
+};
+
+#endif /* MASKEDMATRIX_H_ */
diff --git a/src/mematri1.h b/src/mematri1.h
new file mode 100644
index 0000000..43817a9
--- /dev/null
+++ b/src/mematri1.h
@@ -0,0 +1,613 @@
+#ifndef MEMATRI1_H
+#define MEMATRI1_H
+
+#include <cstdlib>
+#include <string>
+#include <cstdarg>
+#include <cstdio>
+
+//
+// constructors
+//
+
+template<class DT>
+mematrix<DT>::mematrix(int nr, int nc)
+{
+ if (nr <= 0)
+ {
+ fprintf(stderr, "mematrix(): nr <= 0\n");
+ exit(1);
+ }
+ if (nc <= 0)
+ {
+ fprintf(stderr, "mematrix(): nc <= 0\n");
+ exit(1);
+ }
+ nrow = nr;
+ ncol = nc;
+ nelements = nr * nc;
+ data = new (nothrow) DT[ncol * nrow];
+ if (!data)
+ {
+ fprintf(stderr, "mematrix(nr,nc): cannot allocate memory (%d,%d)\n",
+ nrow, ncol);
+ exit(1);
+ }
+}
+
+template<class DT>
+mematrix<DT>::mematrix(const mematrix<DT> & M)
+{
+ ncol = M.ncol;
+ nrow = M.nrow;
+ nelements = M.nelements;
+ data = new (nothrow) DT[M.ncol * M.nrow];
+ if (!data)
+ {
+ fprintf(stderr,
+ "mematrix const(mematrix): cannot allocate memory (%d,%d)\n",
+ M.nrow, M.ncol);
+ exit(1);
+ }
+ // std::cerr << "mematrix const(mematrix): can allocate memory ("
+ // << M.nrow << "," << M.ncol << ")\n";
+ for (int i = 0; i < M.ncol * M.nrow; i++)
+ data[i] = M.data[i];
+}
+
+//
+// operators
+//
+template<class DT>
+mematrix<DT> &mematrix<DT>::operator=(const mematrix<DT> &M)
+{
+ if (this != &M)
+ {
+ if (data != NULL)
+ delete[] data;
+ data = new (nothrow) DT[M.ncol * M.nrow];
+ if (!data)
+ {
+ fprintf(stderr, "mematrix=: cannot allocate memory (%d,%d)\n",
+ M.nrow, M.ncol);
+ delete[] data;
+ exit(1);
+ }
+ ncol = M.ncol;
+ nrow = M.nrow;
+ nelements = M.nelements;
+ for (int i = 0; i < M.ncol * M.nrow; i++)
+ {
+ data[i] = M.data[i];
+ }
+ }
+ return *this;
+}
+
+template<class DT>
+DT &mematrix<DT>::operator[](int i)
+{
+ if (i < 0 || i >= (ncol * nrow))
+ {
+ fprintf(stderr, "mematrix[]: %d out of bounds (0,%d)\n", i,
+ nrow * ncol - 1);
+ exit(1);
+ }
+ return data[i];
+}
+
+template<class DT>
+mematrix<DT> mematrix<DT>::operator+(DT toadd)
+{
+ mematrix<DT> temp(nrow, ncol);
+ for (int i = 0; i < nelements; i++)
+ temp.data[i] = data[i] + toadd;
+ return temp;
+}
+
+template<class DT>
+mematrix<DT> mematrix<DT>::operator+(mematrix<DT> &M)
+{
+ if (ncol != M.ncol || nrow != M.nrow)
+ {
+ fprintf(stderr,
+ "mematrix+: matrices not equal in size (%d,%d) and (%d,%d)",
+ nrow, ncol, M.nrow, M.ncol);
+ exit(1);
+ }
+ mematrix<DT> temp(nrow, ncol);
+ for (int i = 0; i < nelements; i++)
+ temp.data[i] = data[i] + M.data[i];
+ return temp;
+}
+
+template<class DT>
+mematrix<DT> mematrix<DT>::operator-(DT toadd)
+{
+ mematrix<DT> temp(nrow, ncol);
+ for (int i = 0; i < nelements; i++)
+ temp.data[i] = data[i] - toadd;
+ return temp;
+}
+
+template<class DT>
+mematrix<DT> mematrix<DT>::operator-(mematrix<DT> &M)
+{
+ if (ncol != M.ncol || nrow != M.nrow)
+ {
+ fprintf(stderr,
+ "mematrix-: matrices not equal in size (%d,%d) and (%d,%d)",
+ nrow, ncol, M.nrow, M.ncol);
+ exit(1);
+ }
+ mematrix<DT> temp(nrow, ncol);
+ for (int i = 0; i < nelements; i++)
+ temp.data[i] = data[i] - M.data[i];
+ return temp;
+}
+
+template<class DT>
+mematrix<DT> mematrix<DT>::operator*(DT toadd)
+{
+ // A che naschet std::string vmesto DT? Maksim.
+ mematrix<DT> temp(nrow, ncol);
+ for (int i = 0; i < nelements; i++)
+ temp.data[i] = data[i] * toadd;
+ return temp;
+}
+
+template<class DT>
+mematrix<DT> mematrix<DT>::operator*(mematrix<DT> &M)
+{
+ if (ncol != M.nrow)
+ {
+ fprintf(stderr, "mematrix*: ncol != nrow (%d,%d) and (%d,%d)", nrow,
+ ncol, M.nrow, M.ncol);
+ exit(1);
+ }
+ mematrix<DT> temp(nrow, M.ncol);
+ for (int j = 0; j < temp.nrow; j++)
+ {
+ for (int i = 0; i < temp.ncol; i++)
+ {
+ DT sum = 0;
+ for (int j1 = 0; j1 < ncol; j1++)
+ sum += data[j * ncol + j1] * M.data[j1 * M.ncol + i];
+ temp[j * temp.ncol + i] = sum;
+ }
+ }
+ return temp;
+}
+
+template<class DT>
+mematrix<DT> mematrix<DT>::operator*(mematrix<DT> *M)
+{
+ if (ncol != M->nrow)
+ {
+ fprintf(stderr, "mematrix*: ncol != nrow (%d,%d) and (%d,%d)", nrow,
+ ncol, M->nrow, M->ncol);
+ exit(1);
+ }
+ mematrix<DT> temp(nrow, M->ncol);
+ for (int j = 0; j < temp.nrow; j++)
+ {
+ for (int i = 0; i < temp.ncol; i++)
+ {
+ DT sum = 0;
+ for (int j1 = 0; j1 < ncol; j1++)
+ sum += data[j * ncol + j1] * M->data[j1 * M->ncol + i];
+ temp[j * temp.ncol + i] = sum;
+ }
+ }
+ return temp;
+}
+
+//
+// operations
+//
+template<class DT>
+void mematrix<DT>::reinit(int nr, int nc)
+{
+ if (nelements > 0)
+ delete[] data;
+ if (nr <= 0)
+ {
+ fprintf(stderr, "mematrix(): number of rows smaller then 1\n");
+ exit(1);
+ }
+ if (nc <= 0)
+ {
+ fprintf(stderr, "mematrix(): number of columns smaller then 1\n");
+ exit(1);
+ }
+ nrow = nr;
+ ncol = nc;
+ nelements = nr * nc;
+ data = new (nothrow) DT[ncol * nrow];
+ if (!data)
+ {
+ fprintf(stderr, "mematrix(nr,nc): cannot allocate memory (%d,%d)\n",
+ nrow, ncol);
+ exit(1);
+ }
+}
+
+template<class DT>
+DT mematrix<DT>::get(int nr, int nc)
+{
+ if (nc < 0 || nc > ncol -1)
+ {
+ std::cerr << "mematrix::get: column out of range: " << nc + 1
+ << " not between (1," << ncol << ")\n" << std::flush;
+ exit(1);
+ }
+ if (nr < 0 || nr > nrow -1)
+ {
+ std::cerr << "mematrix::get: row out of range: " << nr + 1
+ << " not between (1," << nrow << ")\n" << std::flush;
+ exit(1);
+ }
+ DT temp = data[nr * ncol + nc];
+ return temp;
+}
+
+template<class DT>
+void mematrix<DT>::put(DT value, int nr, int nc)
+{
+ if (nc < 0 || nc > ncol -1)
+ {
+ std::cerr << "mematrix::put: column out of range: " << nc + 1
+ << " not between (1," << ncol << ")\n" << std::flush;
+ exit(1);
+ }
+ if (nr < 0 || nr > nrow -1)
+ {
+ std::cerr << "mematrix::put: row out of range: " << nr + 1
+ << " not between (1," << nrow << ")\n" << std::flush;
+ exit(1);
+ }
+ data[nr * ncol + nc] = value;
+}
+
+template<class DT>
+DT mematrix<DT>::column_mean(int nc)
+{
+ if (nc >= ncol || nc < 0)
+ {
+ fprintf(stderr, "colmM bad column\n");
+ exit(1);
+ }
+ DT out = 0.0;
+ for (int i = 0; i < nrow; i++)
+ out += DT(data[i * ncol + nc]);
+ out /= DT(nrow);
+ return out;
+}
+
+template<class DT>
+void mematrix<DT>::print(void)
+{
+ cout << "nrow=" << nrow << "; ncol=" << ncol << "; nelements=" << nelements
+ << "\n";
+ for (int i = 0; i < nrow; i++)
+ {
+ cout << "nr=" << i << ":\t";
+ for (int j = 0; j < ncol; j++)
+ {
+ printf("%e\t", data[i * ncol + j]);
+ }
+ cout << "\n";
+ }
+}
+
+template<class DT>
+void mematrix<DT>::delete_column(const int delcol)
+{
+ if (delcol > ncol || delcol < 0)
+ {
+ fprintf(stderr, "mematrix::delete_column: column out of range\n");
+ exit(1);
+ }
+ mematrix<DT> temp = *this;
+ if (nelements > 0)
+ delete[] data;
+ ncol--;
+ nelements = ncol * nrow;
+ data = new (nothrow) DT[ncol * nrow];
+ if (!data)
+ {
+ fprintf(stderr,
+ "mematrix::delete_column: cannot allocate memory (%d,%d)\n",
+ nrow, ncol);
+ delete[] data;
+ exit(1);
+ }
+ int newcol = 0;
+ for (int nr = 0; nr < temp.nrow; nr++)
+ {
+ newcol = 0;
+ for (int nc = 0; nc < temp.ncol; nc++)
+ if (nc != delcol)
+ data[nr * ncol + (newcol++)] = temp[nr * temp.ncol + nc];
+ }
+}
+
+template<class DT>
+void mematrix<DT>::delete_row(const int delrow)
+{
+ if (delrow > nrow || delrow < 0)
+ {
+ fprintf(stderr, "mematrix::delete_row: row out of range\n");
+ exit(1);
+ }
+ mematrix<DT> temp = *this;
+ if (nelements > 0)
+ delete[] data;
+ nrow--;
+ nelements = ncol * nrow;
+ data = new (nothrow) DT[ncol * nrow];
+ if (!data)
+ {
+ fprintf(stderr,
+ "mematrix::delete_row: cannot allocate memory (%d,%d)\n", nrow,
+ ncol);
+ delete[] data;
+ exit(1);
+ }
+ int newrow = 0;
+ for (int nc = 0; nc < temp.ncol; nc++)
+ {
+ newrow = 0;
+ for (int nr = 0; nr < temp.nrow; nr++)
+ if (nr != delrow)
+ data[nr * ncol + (newrow++)] = temp[nr * temp.ncol + nc];
+ }
+}
+
+//
+// other functions
+//
+template<class DT>
+mematrix<DT> column_sum(mematrix<DT> &M)
+{
+ mematrix<DT> out;
+ out.reinit(1, M.ncol);
+ for (int j = 0; j < M.ncol; j++)
+ {
+ DT sum = 0;
+ for (int i = 0; i < M.nrow; i++)
+ sum = sum + DT(M.data[i * M.ncol + j]);
+ out.put(sum, 0, j);
+ }
+ return out;
+}
+
+template<class DT>
+mematrix<DT> column_mean(mematrix<DT> &M)
+{
+ mematrix<DT> out;
+ out.reinit(1, M.ncol);
+ for (int j = 0; j < M.ncol; j++)
+ {
+ DT sum = 0;
+ for (int i = 0; i < M.nrow; i++)
+ sum = sum + DT(M.data[i * M.ncol + j]);
+ sum /= DT(M.nrow);
+ out.put(sum, 0, j);
+ }
+ return out;
+}
+
+template<class DT>
+mematrix<DT> transpose(mematrix<DT> &M)
+{
+ mematrix<DT> temp(M.ncol, M.nrow);
+ for (int i = 0; i < temp.nrow; i++)
+ for (int j = 0; j < temp.ncol; j++)
+ temp.data[i * temp.ncol + j] = M.data[j * M.ncol + i];
+ return temp;
+}
+
+template<class DT>
+mematrix<DT> reorder(mematrix<DT> &M, mematrix<int> order)
+{
+ if (M.nrow != order.nrow)
+ {
+ std::cerr << "reorder: M & order have different # of rows\n";
+ exit(1);
+ }
+ mematrix<DT> temp(M.nrow, M.ncol);
+ for (int i = 0; i < temp.nrow; i++)
+ for (int j = 0; j < temp.ncol; j++)
+ temp.data[order[i] * temp.ncol + j] = M.data[i * M.ncol + j];
+ return temp;
+}
+
+template<class DT>
+mematrix<DT> productMatrDiag(mematrix<DT> &M, mematrix<DT> &D)
+{
+ //multiply all rows of M by value of first row of D
+ if (M.ncol != D.nrow)
+ {
+ fprintf(stderr, "productMatrDiag: wrong dimenstions");
+ exit(1);
+ }
+ mematrix<DT> temp(M.nrow, M.ncol);
+ for (int i = 0; i < temp.nrow; i++){
+ for (int j = 0; j < temp.ncol; j++){
+ temp.data[i * temp.ncol + j] = M.data[i * M.ncol + j] * D.data[j];
+ // temp.put(M.get(i,j)*D.get(j,0),i,j);
+ }
+ }
+ return temp;
+}
+
+template<class DT>
+mematrix<double> todouble(mematrix<DT> &M)
+{
+ mematrix<double> temp(M.nrow, M.ncol);
+ for (int i = 0; i < temp.nelements; i++)
+ temp.data[i] = double(M.data[i]);
+ return temp;
+}
+
+template<class DT>
+mematrix<DT> productXbySymM(mematrix<DT> &X, mematrix<DT> &M)
+{
+ if (M.ncol < 1 || M.nrow < 1 || X.ncol < 1 || X.nrow < 1)
+ {
+ fprintf(stderr,
+ "productXbySymM: M.ncol<1 || M.nrow<1 || X.ncol<1 || X.nrow < 1\n");
+ exit(1);
+ }
+ if (M.ncol != M.nrow)
+ {
+ fprintf(stderr, "productXbySymM: M.ncol != M.nrow\n");
+ exit(1);
+ }
+ if (M.ncol != X.ncol)
+ {
+ fprintf(stderr, "productXbySymM: M.ncol != X.ncol\n");
+ exit(1);
+ }
+ if (M.ncol != X.ncol)
+ {
+ fprintf(stderr, "productXbySymM: M.ncol != X.ncol\n");
+ exit(1);
+ }
+
+ mematrix<DT> out(X.nrow, X.ncol);
+ int i, j, k;
+
+ double temp1, temp2, value1, value2; // not good should be of <DT>!
+ for (k = 0; k < X.nrow; k++)
+ {
+ temp1 = 0.;
+ for (i = 0; i < X.ncol; i++)
+ {
+ temp1 = X.get(k, i);
+ temp2 = 0.;
+ for (j = (i + 1); j < X.ncol; j++)
+ {
+ value1 = out.get(k, j) + temp1 * M.get(i, j);
+ out.put(value1, k, j);
+ temp2 += M.get(i, j) * X.get(k, j);
+ }
+ value2 = out.get(k, i) + temp2 + M.get(i, i) * X.get(k, i);
+ out.put(value2, k, i);
+ }
+ }
+
+ return out;
+}
+
+// written by Mike Dinolfo 12/98
+// modified Yurii Aulchenko 2008-04-22
+template<class DT>
+mematrix<DT> invert(mematrix<DT> &M)
+{
+ if (M.ncol != M.nrow)
+ {
+ fprintf(stderr, "invert: only square matrices possible\n");
+ exit(1);
+ }
+ if (M.ncol == 1)
+ {
+ mematrix<DT> temp(1, 1);
+ temp[0] = 1. / M[0];
+ }
+ /*
+ for (int i=0;i<M.ncol;i++)
+ if (M.data[i*M.ncol+i]==0)
+ {
+ fprintf(stderr,"invert: zero elements in diagonal\n");
+ mematrix<DT> temp = M;
+ for (int i = 0; i < M.ncol; i++)
+ for (int j = 0; j < M.ncol; j++)
+ temp.put(NAN,i,j);
+ return temp;
+ //exit(1);
+ }
+ */
+ int actualsize = M.ncol;
+ int maxsize = M.ncol;
+ mematrix<DT> temp = M;
+ for (int i = 1; i < actualsize; i++)
+ temp.data[i] /= temp.data[0]; // normalize row 0
+ for (int i = 1; i < actualsize; i++)
+ {
+ for (int j = i; j < actualsize; j++)
+ { // do a column of L
+ DT sum = 0.0;
+ for (int k = 0; k < i; k++)
+ sum += temp.data[j * maxsize + k] * temp.data[k * maxsize + i];
+ temp.data[j * maxsize + i] -= sum;
+ }
+ if (i == actualsize - 1)
+ continue;
+ for (int j = i + 1; j < actualsize; j++)
+ { // do a row of U
+ DT sum = 0.0;
+ for (int k = 0; k < i; k++)
+ sum += temp.data[i * maxsize + k] * temp.data[k * maxsize + j];
+ temp.data[i * maxsize + j] = (temp.data[i * maxsize + j] - sum)
+ / temp.data[i * maxsize + i];
+ }
+ }
+ for (int i = 0; i < actualsize; i++) // invert L
+ for (int j = i; j < actualsize; j++)
+ {
+ DT x = 1.0;
+ if (i != j)
+ {
+ x = 0.0;
+ for (int k = i; k < j; k++)
+ x -= temp.data[j * maxsize + k]
+ * temp.data[k * maxsize + i];
+ }
+ temp.data[j * maxsize + i] = x / temp.data[j * maxsize + j];
+ }
+ for (int i = 0; i < actualsize; i++) // invert U
+ for (int j = i; j < actualsize; j++)
+ {
+ if (i == j)
+ continue;
+ DT sum = 0.0;
+ for (int k = i; k < j; k++)
+ sum += temp.data[k * maxsize + j]
+ * ((i == k) ? 1.0 : temp.data[i * maxsize + k]);
+ temp.data[i * maxsize + j] = -sum;
+ }
+ for (int i = 0; i < actualsize; i++) // final inversion
+ for (int j = 0; j < actualsize; j++)
+ {
+ DT sum = 0.0;
+ for (int k = ((i > j) ? i : j); k < actualsize; k++)
+ sum += ((j == k) ? 1.0 : temp.data[j * maxsize + k])
+ * temp.data[k * maxsize + i];
+ temp.data[j * maxsize + i] = sum;
+ }
+ return temp;
+}
+
+//_________Maksim____________
+template<class DT>
+DT var(mematrix<DT> &M)
+{
+ DT sum = 0;
+ for (int i = 0; i < M.nelements; i++)
+ {
+ sum += M.data[i];
+ }
+ DT mean = sum / M.nelements;
+
+ DT sum2 = 0;
+ for (int i = 0; i < M.nelements; i++)
+ {
+ sum2 += pow(M.data[i] - mean, 2);
+ }
+
+ return sum2 / (M.nelements - 1);
+}
+//_________Maksim____________
+#endif /* MEMATRI1_H */
diff --git a/src/mematrix.h b/src/mematrix.h
new file mode 100644
index 0000000..508fdcc
--- /dev/null
+++ b/src/mematrix.h
@@ -0,0 +1,59 @@
+#ifndef __MEMATRIX_H__
+#define __MEMATRIX_H__
+#include <iostream>
+using namespace std;
+
+template<class DT> class mematrix
+{
+public:
+ int nrow;
+ int ncol;
+ int nelements;
+ DT * data;
+
+ mematrix()
+ {
+ nrow = ncol = nelements = 0;
+ data = NULL;
+ }
+ mematrix(int nr, int nc);
+ mematrix(const mematrix &M);
+ ~mematrix()
+ {
+ if (nelements > 0)
+ delete[] data;
+ }
+
+ mematrix & operator=(const mematrix &M);
+ DT & operator[](int i);
+ mematrix operator+(DT toadd);
+ mematrix operator+(mematrix &M);
+ mematrix operator-(DT toadd);
+ mematrix operator-(mematrix &M);
+ mematrix operator*(DT toadd);
+ mematrix operator*(mematrix &M);
+ mematrix operator*(mematrix *M);
+
+ void reinit(int nr, int nc);
+
+ unsigned int getnrow(void)
+ {
+ return nrow;
+ }
+ unsigned int getncol(void)
+ {
+ return ncol;
+ }
+ DT get(int nr, int nc);
+ void put(DT value, int nr, int nc);
+ DT column_mean(int nc);
+ void print(void);
+ void delete_column(const int delcol);
+ void delete_row(const int delrow);
+
+};
+
+// mematrix transpose(mematrix M);
+// mematrix invert(mematrix M);
+
+#endif
diff --git a/src/phedata.cpp b/src/phedata.cpp
new file mode 100644
index 0000000..7ac5857
--- /dev/null
+++ b/src/phedata.cpp
@@ -0,0 +1,237 @@
+#include <string>
+#include <sstream>
+#include <fstream>
+#include <cstdarg>
+#include <cstdlib>
+#include <phedata.h>
+
+phedata::phedata(char * fname, int noutc, int npeople, int interaction,
+ bool iscox)
+{
+ setphedata(fname, noutc, npeople, interaction, iscox);
+}
+
+void phedata::set_is_interaction_excluded(bool int_exl)
+{
+ is_interaction_excluded = int_exl;
+}
+
+void phedata::setphedata(char * fname, int noutc, int npeople, int interaction,
+ bool iscox)
+{
+ static const unsigned int BFS = 1000;
+ std::ifstream myfile(fname);
+ char line[BFS];
+ char tmp[100];
+ noutcomes = noutc;
+ is_interaction_excluded = false;
+
+ int nphenocols = 0;
+ int savenpeople = npeople;
+ npeople = 0;
+ if (myfile.is_open())
+ {
+ myfile.getline(line, BFS);
+ std::stringstream line_stream(line);
+ // std::cout << line << "\n ";
+ while (line_stream >> tmp)
+ {
+ nphenocols++;
+ // std::cout << tmp << " " << nphenocols << " ";
+ }
+
+ while (myfile.getline(line, BFS))
+ {
+ int tmplins = 0;
+ std::stringstream line_stream(line);
+ while (line_stream >> tmp)
+ tmplins++;
+ if (tmplins != nphenocols)
+ {
+ std::cerr << "phenofile: number of variables different from "
+ << nphenocols << " in line " << tmplins << endl;
+ myfile.close();
+ exit(1);
+ }
+ npeople++;
+ };
+ myfile.close();
+ }
+ else
+ {
+ std::cerr << "Unable to open file " << fname << endl;
+ exit(1);
+ }
+ std::cout << "Actual number of people in phenofile = " << npeople;
+
+ if (savenpeople > 0)
+ {
+ npeople = savenpeople;
+ std::cout << "; using only " << npeople << " first\n";
+ }
+ else
+ {
+ std::cout << "; using all of these\n";
+ }
+
+ ncov = nphenocols - 1 - noutcomes;
+ nids_all = npeople;
+ model_terms = new std::string[ncov + 2];
+
+ // first pass -- find unmeasured people
+ std::ifstream infile(fname);
+ if (!infile)
+ {
+ std::cerr << "phedata: cannot open file " << fname << endl;
+ }
+
+ infile >> tmp;
+ model = "( ";
+ infile >> tmp;
+ model = model + tmp;
+ for (int i = 1; i < noutcomes; i++)
+ {
+ infile >> tmp;
+ model = model + " , ";
+ model = model + tmp;
+ }
+ n_model_terms = 0;
+#if COXPH
+ model = model + " ) ~ ";
+#else
+ model = model + " ) ~ mu + ";
+ model_terms[n_model_terms++] = "mu";
+#endif
+
+ if (nphenocols > noutcomes + 1)
+ {
+ infile >> tmp;
+ model = model + tmp;
+ model_terms[n_model_terms++] = tmp;
+ for (int i = (2 + noutcomes); i < nphenocols; i++)
+ {
+ infile >> tmp;
+
+ // if(iscox && ) {if(n_model_terms+1 == interaction-1) {continue;} }
+ // else {if(n_model_terms+1 == interaction) {continue;} }
+ model = model + " + ";
+ model = model + tmp;
+ model_terms[n_model_terms++] = tmp;
+ }
+ }
+ model = model + " + SNP_A1";
+ if (interaction != 0)
+ {
+ if (iscox)
+ {
+ model = model + " + " + model_terms[interaction - 1] + "*SNP_A1";
+ }
+ else
+ {
+ model = model + " + " + model_terms[interaction] + "*SNP_A1";
+ }
+ }
+ model_terms[n_model_terms++] = "SNP_A1";
+
+ if (is_interaction_excluded) // exclude covariates from covariate names
+ {
+ if (iscox)
+ {
+ std::cout << "model is running without "
+ << model_terms[interaction - 1] << ", term\n";
+ }
+ else
+ {
+ std::cout << "model is running without " << model_terms[interaction]
+ << ", term\n";
+ }
+ }
+
+#if LOGISTIC
+ std::cout << "Logistic ";
+#elif LINEAR
+ std::cout << "Linear ";
+#elif COXPH
+ std::cout << "Coxph ";
+#else
+ std::cout << "Unrecognised ";
+#endif
+ std::cout << "model: " << model << "\n";
+
+ allmeasured = new unsigned short int[npeople];
+ nids = 0;
+ for (int i = 0; i < npeople; i++)
+ {
+ allmeasured[i] = 1;
+ for (int j = 0; j < nphenocols; j++)
+ {
+ infile >> tmp;
+ if (j > 0 && (tmp[0] == 'N' || tmp[0] == 'n'))
+ allmeasured[i] = 0;
+ }
+ if (allmeasured[i] == 1)
+ nids++;
+ }
+ infile.close();
+ // std::cout << "npeople = " << nids_all
+ // << ", no. all measured = " << nids << "\n";
+
+ // allocate objects
+ int ntmpcov = 1;
+ if (ncov > 0)
+ {
+ ntmpcov = ncov;
+ }
+ idnames = new std::string[nids];
+
+ X.reinit(nids, ntmpcov);
+ Y.reinit(nids, noutcomes);
+ // second pass -- read the data
+ infile.open(fname);
+ if (!infile)
+ {
+ std::cerr << "phedata: cannot open file " << fname << endl;
+ exit(1);
+ }
+
+ for (int i = 0; i < nphenocols; i++)
+ {
+ infile >> tmp;
+ }
+
+ //TODO: remove this unused variable if there is not a reason to keep it
+ //int k = 0;
+ int m = 0;
+ for (int i = 0; i < npeople; i++)
+ if (allmeasured[i] == 1)
+ {
+ infile >> tmp;
+ idnames[m] = tmp;
+ for (int j = 0; j < noutcomes; j++)
+ {
+ infile >> tmp;
+ Y.put(atof(tmp), m, j);
+ }
+ for (int j = (1 + noutcomes); j < nphenocols; j++)
+ {
+ infile >> tmp;
+ X.put(atof(tmp), m, (j - 1 - noutcomes));
+ }
+ m++;
+ }
+ else
+ {
+ for (int j = 0; j < nphenocols; j++)
+ infile >> tmp;
+ }
+ infile.close();
+}
+
+phedata::~phedata()
+{
+ // delete X;
+ // delete Y;
+ delete [] allmeasured;
+ delete [] model_terms;
+ delete [] idnames;
+}
diff --git a/src/phedata.h b/src/phedata.h
new file mode 100644
index 0000000..16312d7
--- /dev/null
+++ b/src/phedata.h
@@ -0,0 +1,57 @@
+/*
+ * phedata.h
+ *
+ * Created on: Mar 6, 2012
+ * Author: mkooyman
+ */
+
+#ifndef PHEDATA_H_
+#define PHEDATA_H_
+
+#if EIGEN
+#include "eigen_mematrix.h"
+#include "eigen_mematrix.cpp"
+#else
+#include "mematrix.h"
+#include "mematri1.h"
+#endif
+
+class phedata {
+public:
+ phedata()
+ {
+ is_interaction_excluded = 0;
+ nids_all = 0;
+ nids = 0;
+ noutcomes = 0;
+ ncov = 0;
+ n_model_terms = 0;
+ allmeasured = NULL;
+ idnames = NULL;
+ model_terms = NULL;
+ }
+
+ phedata(char * fname, int noutc, int npeople, int interaction, bool iscox);
+
+ void setphedata(char * fname, int noutc, int npeople, int interaction,
+ bool iscox);
+
+ void set_is_interaction_excluded(bool inter_excluded);
+
+ bool is_interaction_excluded;
+ int nids_all;
+ int nids;
+ int noutcomes;
+ int ncov;
+ int n_model_terms;
+ unsigned short int * allmeasured;
+ std::string * idnames;
+ std::string model;
+ std::string * model_terms;
+ mematrix<double> X; /* Will contain the values of the covariate(s) */
+ mematrix<double> Y; /* Will contain the values of the outcome(s) */
+
+ ~phedata();
+};
+
+#endif /* PHEDATA_H_ */
diff --git a/src/prepare_data.R b/src/prepare_data.R
new file mode 100644
index 0000000..1ec331c
--- /dev/null
+++ b/src/prepare_data.R
@@ -0,0 +1,72 @@
+# This R script serves as an example of how to create input files for
+# running ProbABEL.
+# It requires several files (listed below) and basically selects the
+# phenotype and covariates you want from a larger phenotype file,
+# orders them in the same order as the mldose file. At the end it
+# converts existing dose and prob files to DatABEL format.
+
+#
+# file containing all phenotypes
+# variables should be separated by space or tab, missing values coded as NA
+# header line should contain variable names.
+# Compulsory key variable should be named "id"
+# All people listed in ids_order_file should be present in original_phenofile
+#
+original_phenofile <- "allheight.txt"
+
+#
+# IDs present in mldose file (in mldoes file order)
+# normally generated with extIDS.pl
+#
+ids_order_file <- "mldose.IDS"
+
+#
+# output file names (the one used by linear/logistic)
+#
+output_phenofile <- "height.txt"
+
+#
+# trait to be analysed
+# (name should be the same as in the header line of original_phenofile)
+# the analysed trait comes first
+#
+trait <- c("height")
+
+#
+# covariates to be included into model
+# (names should be the same as in the header line of original_phenofile)
+#
+covars <- c("sex","age")
+
+#
+# code
+#
+
+ophe <- read.table(original_phenofile, header=TRUE, stringsAsFactors=FALSE)
+rownames(ophe) <- ophe$id
+idso <- scan(ids_order_file, what=character())
+
+newphe <- ophe[idso, c("id", trait,covars)]
+
+write.table(newphe, file=output_phenofile, quote=FALSE, row.names=FALSE)
+
+if (!require(GenABEL))
+ stop("further code requires the GenABEL library to be installed")
+if (!require(DatABEL))
+ stop("further code requires the DatABEL library to be installed")
+
+
+fvdose <- mach2databel(imputedg="test.mldose",
+ mlinfo="test.mlinfo",
+ out="test.dose")
+fvprob <- mach2databel(imputedg="test.mlprob",
+ mlinfo="test.mlinfo",
+ out="test.prob",
+ isprob=TRUE)
+mmdose <- mach2databel("mmscore_gen.mldose",
+ "mmscore_gen.mlinfo",
+ "mmscore_gen.dose")
+mmprob <- mach2databel("mmscore_gen.mlprob",
+ "mmscore_gen.mlinfo",
+ "mmscore_gen.prob",
+ isprob=TRUE)
diff --git a/src/probabel.pl b/src/probabel.pl
new file mode 100755
index 0000000..67bcbac
--- /dev/null
+++ b/src/probabel.pl
@@ -0,0 +1,340 @@
+#! /usr/bin/perl -W
+#==========================================================================
+#
+# Filename: probabel.pl
+#
+# Description: Handy perl wrapper for ProbABEL functions
+#
+#==========================================================================
+use strict;
+
+#==========================================================================
+# Set variables
+my $version="PROBABEL_VERSION";
+
+# Define some filename postfixes
+my $_2df_file_postfix = "_2df.out.txt";
+my $_add_file_postfix = "_add.out.txt";
+my $_domin_file_postfix = "_domin.out.txt";
+my $_recess_file_postfix = "_recess.out.txt";
+my $_over_domin_file_postfix = "_over_domin.out.txt";
+
+# Separators in the config file
+my $separator_cfg = ",";
+my $chr_replacement = "_._chr_._";
+my $chunk_replacement = "_._chunk_._";
+
+# Set file locations
+my $base_path = "./";
+my @anprog = ($base_path . "palinear",
+ $base_path . "palogist",
+ $base_path . "pacoxph");
+my $config = "probabel_config.cfg";
+
+# Define the regression methods that are implemented
+my @method = ("linear", "logistic", "coxph");
+
+my %cohorts;
+my @mlinfos;
+my @mldoses;
+my @mlprobs;
+my @legends;
+
+
+#==========================================================================
+# Read config file
+open(CFG, "$config") or die "Reading configuration file $config failed: $!" .
+ "\nDid you forget to edit and rename the probabel_config.cfg.example file?\n";
+
+<CFG>; #skip the first line (header)
+
+for(my $i=0 ; my $line = <CFG> ; $i++)
+{
+ chomp($line);
+ next if ($line =~ /^#/);
+ next if ($line =~ /^$/);
+ my @line_array = split(/$separator_cfg/, $line);
+ $cohorts{$line_array[0]} = $i;
+ $mlinfos[$i] = $line_array[1];
+ $mldoses[$i] = $line_array[2];
+ $mlprobs[$i] = $line_array[3];
+ $legends[$i] = $line_array[4];
+}
+close(CFG);
+
+
+#==========================================================================
+# Print usage info if arguments are not correct
+if(@ARGV<6 || $ARGV[0] eq "--help" || $ARGV[0] eq "-h") {
+ print "Usage:
+ probabel.pl chrom-start chrom-end method cohort <--allmodels OR --additive> trait <other available options of ProbABEL functions>\n";
+ print "\n * chrom-start - the first chromosome number, chrom-end - the last one; X or Y have to be run separately (specify them twice, once as chrom-start and once as chrom-end)";
+ print "\n * method can be ";
+ foreach my $me(@method) {print "\"".$me."\", "};
+ print "\n * use --allmodels if you need dominant, recessive and heterozygous models
+ and --additive if additive only\n";
+ print " * Available cohorts are ";
+ foreach my $coh(keys %cohorts) {
+ print "\"".$coh."\", "
+ };
+ print "\n * example:
+ probabel.pl 1 22 linear \"ERF\" --additive filename
+ (filename has to be saved as filename.PHE)\n\n";
+
+ if(@ARGV == 1 && ($ARGV[0] eq "--help" || $ARGV[0] eq "-h")) {
+ print "\nDetails:\n";
+ print " The probabel.pl script is used for analysis of imputed data. First you have to create a file with the phenotype values that you are going to use. The first column contains ids in special order, the second one contains the trait which you are going analyze, the others contain covariates. For example:
+
+ id phen1 covariate1 covariate2
+ 1_2094 0 334 0
+ 1_5060 1 56 1
+ 1_4077 1 346 6
+ .
+ .
+ .
+
+ This implies the model:
+ phen1 ~ covariate1 + covariate2 + SNP
+
+
+ Then save it to folder where you are doing the analysis. The name of the file must be name_of_file.PHE, where name_of_file is any name.
+
+ Then run the following on the command line:
+ probabel.pl 1 22 \"method\" \"cohort\" --model name_of_file
+ Change \"method\", \"cohort\" and --model to appropriate values\n";
+ print "\n Version: $version";
+ print "\n\n Authors: Lennart Karssen - l.karssen\@erasmusmc.nl,
+ Maksim Struchalin - m.struchalin\@erasmusmc.nl,
+ Yurii Aulchenko - yurii.aulchenko\@gmail.com.\n\n";
+ }
+ else {
+ print "Type probabel.pl --help for more details.\n";
+ }
+ exit;
+}
+
+
+#==========================================================================
+# Put the command line arguments into variables and verify them
+my $startchr = $ARGV[0];
+my $endchr = $ARGV[1];
+my $method = $ARGV[2];
+my $chohort = $ARGV[3];
+my $model = $ARGV[4];
+
+die "error: chrom-start is > 22" if($startchr > 22 && $startchr != "X") ;
+die "error: chrom-end is > 22" if($endchr > 22 && $endchr != "X");
+die "error: chrom-start > chrom-end" if($startchr > $endchr);
+
+
+my $cohort_position = $cohorts{$chohort};
+
+
+if(!defined($cohort_position)) {
+ print "\nerror: Wrong cohort name, \"$chohort\" is not an available cohort.
+Available cohorts are ";
+ foreach my $coh(keys %cohorts) {
+ print "\"".$coh."\", ";
+ }
+ print "\n\n";
+ exit;
+}
+
+my $mlinfo = $mlinfos[$cohort_position];
+my $mldose = $mldoses[$cohort_position];
+my $mlprob = $mlprobs[$cohort_position];
+my $legend = $legends[$cohort_position];
+
+
+my $passed = 0;
+my $prog;
+for (my $i=0; $i<@method; $i++) {
+ if ($ARGV[2] eq $method[$i]) {
+ $passed = 1;
+ $prog = $anprog[$i];
+ }
+}
+die "error: Wrong method. method has to be one of: @method\n" if (!$passed);
+
+
+my $phename = $ARGV[5];
+# By default the output file prefix is the same as the name of the
+# phenotype file (minus the .PHE extension and any paths)
+use File::Basename;
+my $outfile_prefix = basename($phename);
+my $keys="";
+for (my $i=6; $i<@ARGV; $i++) {
+ if ($ARGV[$i] eq "-o")
+ {
+ # Apparently the user wants to change the output file name
+ $outfile_prefix = $ARGV[$i+1];
+
+ # Skip the next argument (supposedly the addition to the
+ # output file name).
+ $i++;
+ }
+ else
+ {
+ $keys = $keys.$ARGV[$i]." ";
+ }
+}
+chop($keys);
+
+my $model_option_num = 0;
+my $mldose_prob;
+if($model eq "--additive") {
+ $mldose_prob = $mldose;
+ $model_option_num = 1;
+} elsif($model eq "--allmodels") {
+ $mldose_prob = $mlprob;
+ $model_option_num = 2;
+} else {
+ die "error: Wrong key for model. You can use \"--additive\" or \"--allmodels\" only\n";
+}
+
+
+#==========================================================================
+# Start the analysis now that the input has been validated
+print "Start...\n";
+
+my $chr = $startchr;
+my $hadhead=0;
+my $head;
+my $mlinfo_arg;
+my $mldose_arg;
+my $legend_arg;
+my $outfile_arg;
+
+# Separate command for the sex chromosomes.
+if ($chr eq "X" || $chr eq "Y") {
+ $mlinfo_arg = $mlinfo;
+ $mlinfo_arg =~ s/$chr_replacement/$chr/g;
+
+ $mldose_arg = $mldose_prob;
+ $mldose_arg =~ s/$chr_replacement/$chr/g;
+
+ $legend_arg = $legend;
+ $legend_arg =~ s/$chr_replacement/$chr/g;
+
+ if($hadhead==0) {
+ $head="";
+ $hadhead=1;
+ } else {
+ my $head="--no-head";
+ }
+
+ system "$prog -p $phename.PHE --ngpreds $model_option_num -i $mlinfo_arg -d $mldose_arg -m $legend_arg --chrom $chr -o $outfile_prefix $head $keys";
+
+ exit;
+}
+
+# Clean up any existing output files
+if($model_option_num==2)
+{
+ system "rm ${outfile_prefix}${_2df_file_postfix} 2>/dev/null";
+ system "rm ${outfile_prefix}${_add_file_postfix} 2>/dev/null";
+ system "rm ${outfile_prefix}${_domin_file_postfix} 2>/dev/null";
+ system "rm ${outfile_prefix}${_recess_file_postfix} 2>/dev/null";
+ system "rm ${outfile_prefix}${_over_domin_file_postfix} 2>/dev/null";
+} else {
+ system "rm ${outfile_prefix}${_add_file_postfix} 2>/dev/null";
+}
+
+# Commands for the autosomes
+for($chr=$startchr; $chr<=$endchr; $chr++) {
+
+ my $nrchunks = 0;
+ # Find out the number of chunks for the current chromosome
+ my $infofiles = $mlinfo;
+ $infofiles =~ s/$chr_replacement/$chr/g;
+ $infofiles =~ s/$chunk_replacement/*/g;
+ $nrchunks = `ls $infofiles 2>/dev/null | wc -l`;
+ if ($nrchunks==0) {
+ # If no chunked info files exist the 'wc -l' command returns 0
+ # so that actually means 1 chunk containing all data.
+ $nrchunks = 1;
+ }
+ print "Nr. of chunks: $nrchunks";
+
+ # Loop over all chunks
+ for (my $chunk=1; $chunk <= $nrchunks; $chunk++)
+ {
+ if($hadhead==0) {
+ $head="";
+ $hadhead=1;
+ } else {
+ $head="--no-head";
+ }
+ $mlinfo_arg = $mlinfo;
+ $mlinfo_arg =~ s/$chr_replacement/$chr/g;
+ $mlinfo_arg =~ s/$chunk_replacement/$chunk/g;
+
+ $mldose_arg = $mldose_prob;
+ $mldose_arg =~ s/$chr_replacement/$chr/g;
+ $mldose_arg =~ s/$chunk_replacement/$chunk/g;
+
+ $legend_arg = $legend;
+ $legend_arg =~ s/$chr_replacement/$chr/g;
+ $legend_arg =~ s/$chunk_replacement/$chunk/g;
+
+ $outfile_arg = "$outfile_prefix.chunk${chunk}.chr${chr}";
+
+ my $command = "$prog -p $phename.PHE --ngpreds $model_option_num ";
+ $command = $command . "-i $mlinfo_arg -d $mldose_arg -m $legend_arg";
+ $command = $command . " --chrom $chr";
+ $command = $command . " -o $outfile_arg ";
+ $command = $command . "$head $keys";
+ print "$command \n";
+ system $command;
+
+ # Combine the output data for all chunks of this chromosome
+ if($model_option_num==2)
+ {
+ `cat $outfile_arg$_2df_file_postfix >> ${outfile_prefix}.${chr}${_2df_file_postfix}`;
+ `rm $outfile_arg$_2df_file_postfix`;
+
+ `cat $outfile_arg$_add_file_postfix >> ${outfile_prefix}.${chr}${_add_file_postfix}`;
+ `rm $outfile_arg$_add_file_postfix`;
+
+ `cat $outfile_arg$_domin_file_postfix >> ${outfile_prefix}.${chr}${_domin_file_postfix}`;
+ `rm $outfile_arg$_domin_file_postfix`;
+
+ `cat $outfile_arg$_recess_file_postfix >> ${outfile_prefix}.${chr}${_recess_file_postfix}`;
+ `rm $outfile_arg$_recess_file_postfix`;
+
+ `cat $outfile_arg$_over_domin_file_postfix >> ${outfile_prefix}.${chr}${_over_domin_file_postfix}`;
+ `rm $outfile_arg$_over_domin_file_postfix`;
+ } else {
+ `cat $outfile_arg$_add_file_postfix >> $outfile_prefix.${chr}${_add_file_postfix}`;
+ print "cat $outfile_arg$_add_file_postfix >> $outfile_prefix.chr${chr}${_add_file_postfix}\n";
+ `rm $outfile_arg$_add_file_postfix`;
+ print "rm $outfile_arg$_add_file_postfix\n";
+ }
+ }
+
+ # Combine the output data for all chromosomes into one file
+ if($model_option_num==2)
+ {
+ `cat $outfile_prefix.${chr}$_2df_file_postfix >> ${outfile_prefix}${_2df_file_postfix}`;
+ `rm $outfile_prefix.${chr}$_2df_file_postfix`;
+
+ `cat $outfile_prefix.${chr}$_add_file_postfix >> ${outfile_prefix}${_add_file_postfix}`;
+ `rm $outfile_prefix.${chr}$_add_file_postfix`;
+
+ `cat $outfile_prefix.${chr}$_domin_file_postfix >> ${outfile_prefix}${_domin_file_postfix}`;
+ `rm $outfile_prefix.${chr}$_domin_file_postfix`;
+
+ `cat $outfile_prefix.${chr}$_recess_file_postfix >> ${outfile_prefix}${_recess_file_postfix}`;
+ `rm $outfile_prefix.${chr}$_recess_file_postfix`;
+
+ `cat $outfile_prefix.${chr}$_over_domin_file_postfix >> ${outfile_prefix}${_over_domin_file_postfix}`;
+ `rm $outfile_prefix.${chr}$_over_domin_file_postfix`;
+ } else {
+ `cat $outfile_prefix.${chr}$_add_file_postfix >> ${outfile_prefix}${_add_file_postfix}`;
+ print "cat $outfile_prefix.${chr}$_add_file_postfix >> ${outfile_prefix}${_add_file_postfix}\n";
+ `rm $outfile_prefix.${chr}$_add_file_postfix`;
+ print "rm $outfile_prefix.${chr}$_add_file_postfix\n";
+ }
+}
+
+print "Finished all chromosomes ...\n";
diff --git a/src/probabel_config.cfg.example b/src/probabel_config.cfg.example
new file mode 100644
index 0000000..ed201b6
--- /dev/null
+++ b/src/probabel_config.cfg.example
@@ -0,0 +1,29 @@
+cohort,info_path,dose_path,prob_path,legend_path
+# Configuration file for the probabel.pl wrapper script
+#
+# This file contains the location of the files with imputed data for the
+# cohorts/imputations that are available to the user.
+#
+# Use one line per cohort configuration. Each line consists of the following
+# entries, separated by a comma:
+# - cohort: a discriptive name for the cohort/imputation, e.g. MyCohort_HM2
+# - mlinfo_path: path to the file with the SNP imputation information
+# - mldose_path: path to the file with imputed genotype dosages
+# - mlprob_path: path to the file with imputed genotype probabilities
+# - legend_path: path to the legend file used for the imputations
+#
+# If the dosage and probability files are in DatABEL format (i.e. filenames
+# ending in .fvi and .fvd), either of these extensions can be used.
+#
+# Use "_._chr_._" to specify a chromosome number in the configured paths. This
+# can be used multiple times per line, e.g.:
+#
+# mldose_path: /data/Cohort1/MachFiles/_._chr_._/mach_._chr_._-out.mldose
+#
+# For chromosome 1 this will be replaced with:
+# /data/Cohort1/MachFiles/1/mach1-out.mldose
+#
+#
+
+STUDY_1,script_test/merlin._._chr_._.collected.ped.out.mlinfo,script_test/merlin._._chr_._.collected.ped.out.mldose,script_test/merlin._._chr_._.collected.ped.out.mlprob,script_test/genotypes_chr_._chr_.__CEU_r22_nr.b36_fwd_legend.txt
+STUDY_2,/tmp/PAtest/chunk_._chunk_._-chr_._chr_._.mlinfo,/tmp/PAtest/chunk_._chunk_._-chr_._chr_._.mldose,/tmp/PAtest/chunk_._chunk_._-chr_._chr_._.mlprob,/tmp/PAtest/genotypes_chr_._chr_.__CEU_r22_nr.b36_fwd_legend.txt
diff --git a/src/reg1.cpp b/src/reg1.cpp
new file mode 100644
index 0000000..1217787
--- /dev/null
+++ b/src/reg1.cpp
@@ -0,0 +1,836 @@
+#include "reg1.h"
+
+
+mematrix<double> apply_model(mematrix<double>& X, int model, int interaction,
+ int ngpreds, bool is_interaction_excluded,
+ bool iscox, int nullmodel)
+// if ngpreds==1 (dose data):
+// model 0 = additive 1 df
+// if ngpreds==2 (prob data):
+// model 0 = 2 df
+// model 1 = additive 1 df
+// model 2 = dominant 1 df
+// model 3 = recessive 1 df
+// model 4 = over-dominant 1 df
+{
+ if(nullmodel)
+ {
+ // No need to apply any genotypic model when calculating the
+ // null model
+ return (X);
+ }
+
+ if (model == 0)
+ {
+ if (interaction != 0 && !nullmodel)
+ {
+ if (ngpreds == 2)
+ {
+ mematrix<double> nX;
+ nX.reinit(X.nrow, X.ncol + 2);
+ int csnp_p1 = nX.ncol - 4;
+ int csnp_p2 = nX.ncol - 3;
+ int c1 = nX.ncol - 2;
+ int c2 = nX.ncol - 1;
+ for (int i = 0; i < X.nrow; i++)
+ for (int j = 0; j < (X.ncol); j++)
+ nX[i * nX.ncol + j] = X[i * X.ncol + j];
+ for (int i = 0; i < nX.nrow; i++)
+ {
+ if (iscox)
+ {
+ //Maksim: interaction with SNP;;
+ nX[i * nX.ncol + c1] = X[i * X.ncol + csnp_p1]
+ * X[i * X.ncol + interaction - 1];
+ nX[i * nX.ncol + c2] = X[i * X.ncol + csnp_p2]
+ * X[i * X.ncol + interaction - 1];
+ }
+ else
+ {
+ //Maksim: interaction with SNP;;
+ nX[i * nX.ncol + c1] = X[i * X.ncol + csnp_p1]
+ * X[i * X.ncol + interaction];
+ nX[i * nX.ncol + c2] = X[i * X.ncol + csnp_p2]
+ * X[i * X.ncol + interaction];
+ }
+ }
+ //________________________
+ if (is_interaction_excluded)
+ {
+ mematrix<double> nX_without_interact_phe;
+ nX_without_interact_phe.reinit(nX.nrow, nX.ncol - 1);
+ int col_new;
+ for (int row = 0; row < nX.nrow; row++)
+ {
+ //Han Chen
+ col_new = -1;
+ for (int col = 0; col < nX.ncol; col++)
+ {
+ if (col != interaction && !iscox)
+ {
+ col_new++;
+ nX_without_interact_phe[row
+ * nX_without_interact_phe.ncol + col_new] =
+ nX[row * nX.ncol + col];
+ }
+ if (col != interaction - 1 && iscox)
+ {
+ col_new++;
+ nX_without_interact_phe[row
+ * nX_without_interact_phe.ncol + col_new] =
+ nX[row * nX.ncol + col];
+ }
+ } //interaction_only, model==0, ngpreds==2
+ //Oct 26, 2009
+ }
+ return nX_without_interact_phe;
+ } //end of is_interaction_excluded
+ //________________________
+ return (nX);
+ }
+ if (ngpreds == 1)
+ {
+ mematrix<double> nX;
+ nX.reinit(X.nrow, X.ncol + 1);
+ int csnp_p1 = nX.ncol - 2;
+ int c1 = nX.ncol - 1;
+ for (int i = 0; i < X.nrow; i++)
+ for (int j = 0; j < (X.ncol); j++)
+ nX[i * nX.ncol + j] = X[i * X.ncol + j];
+ for (int i = 0; i < nX.nrow; i++)
+ {
+ if (iscox)
+ {
+ nX[i * nX.ncol + c1] = X[i * X.ncol + csnp_p1]
+ * X[i * X.ncol + interaction - 1]; //Maksim: interaction with SNP;;
+ }
+ else
+ {
+ nX[i * nX.ncol + c1] = X[i * X.ncol + csnp_p1]
+ * X[i * X.ncol + interaction]; //Maksim: interaction with SNP;;
+ }
+ }
+ //________________________
+ if (is_interaction_excluded)
+ {
+ int col_new;
+ mematrix<double> nX_without_interact_phe;
+ nX_without_interact_phe.reinit(nX.nrow, nX.ncol - 1);
+ for (int row = 0; row < nX.nrow; row++)
+ {
+ col_new = -1;
+ for (int col = 0; col < nX.ncol; col++)
+ {
+ if (col != interaction && !iscox)
+ {
+ col_new++;
+ nX_without_interact_phe[row
+ * nX_without_interact_phe.ncol
+ + col_new] =
+ nX[row * nX.ncol + col];
+ }
+ if (col != interaction - 1 && iscox)
+ {
+ col_new++;
+ nX_without_interact_phe[row
+ * nX_without_interact_phe.ncol
+ + col_new] =
+ nX[row * nX.ncol + col];
+ }
+ }
+ }
+ return nX_without_interact_phe;
+ } //end of is_interaction_excluded
+ //________________________
+ return (nX);
+ }
+ }
+ else
+ {
+ return (X);
+ }
+ }
+
+ mematrix<double> nX;
+ if (interaction != 0)
+ {
+ nX.reinit(X.nrow, (X.ncol));
+ }
+ else
+ {
+ nX.reinit(X.nrow, (X.ncol - 1));
+ }
+
+ int c1 = X.ncol - 2; // column with Prob(A1A2)
+ int c2 = X.ncol - 1; // column with Prob(A1A1). Note the order is swapped cf the file!
+ for (int i = 0; i < X.nrow; i++)
+ for (int j = 0; j < (X.ncol - 2); j++)
+ nX[i * nX.ncol + j] = X[i * X.ncol + j];
+
+ for (int i = 0; i < nX.nrow; i++)
+ {
+ if (model == 1) // additive
+ nX[i * nX.ncol + c1] = X[i * X.ncol + c1] + 2. * X[i * X.ncol + c2];
+ else if (model == 2) //dominant
+ nX[i * nX.ncol + c1] = X[i * X.ncol + c1] + X[i * X.ncol + c2];
+ else if (model == 3) // recessive
+ nX[i * nX.ncol + c1] = X[i * X.ncol + c2];
+ else if (model == 4) // over-dominant
+ nX[i * nX.ncol + c1] = X[i * X.ncol + c1];
+
+ if (interaction != 0)
+ nX[i * nX.ncol + c2] = X[i * nX.ncol + interaction]
+ * nX[i * nX.ncol + c1]; //Maksim: interaction with SNP
+ }
+
+ //Han Chen
+ if (is_interaction_excluded)
+ {
+ mematrix<double> nX_without_interact_phe;
+ nX_without_interact_phe.reinit(nX.nrow, nX.ncol - 1);
+ int col_new;
+ for (int row = 0; row < nX.nrow; row++)
+ {
+ col_new = -1;
+ for (int col = 0; col < nX.ncol; col++)
+ {
+ if (col != interaction && !iscox)
+ {
+ col_new++;
+ nX_without_interact_phe[row * nX_without_interact_phe.ncol
+ + col_new] = nX[row * nX.ncol + col];
+ }
+ if (col != interaction - 1 && iscox)
+ {
+ col_new++;
+ nX_without_interact_phe[row * nX_without_interact_phe.ncol
+ + col_new] = nX[row * nX.ncol + col];
+ }
+ }
+ }
+ return nX_without_interact_phe;
+ } //interaction_only, model!=0, ngpreds==2
+ return nX;
+}
+
+mematrix<double> t_apply_model(mematrix<double>& X, int model, int interaction,
+ int ngpreds, bool iscox, int nullmodel)
+{
+ mematrix<double> tmpX = transpose(X);
+ mematrix<double> nX = apply_model(tmpX, model, interaction, ngpreds,
+ interaction, iscox, nullmodel);
+ mematrix<double> out = transpose(nX);
+ return out;
+}
+
+linear_reg::linear_reg(regdata& rdatain)
+{
+ regdata rdata = rdatain.get_unmasked_data();
+ // std::cout << "linear_reg: " << rdata.nids << " " << (rdata.X).ncol
+ // << " " << (rdata.Y).ncol << "\n";
+ int length_beta = (rdata.X).ncol;
+ beta.reinit(length_beta, 1);
+ sebeta.reinit(length_beta, 1);
+ //Han Chen
+ if (length_beta > 1)
+ {
+ covariance.reinit(length_beta - 1, 1);
+ }
+ //Oct 26, 2009
+ residuals.reinit(rdata.nids, 1);
+ sigma2 = -1.;
+ loglik = -9.999e+32;
+ chi2_score = -1.;
+}
+
+void base_reg::base_score(mematrix<double>& resid, regdata& rdata, int verbose,
+ double tol_chol, int model, int interaction,
+ int ngpreds, const masked_matrix& invvarmatrix,
+ int nullmodel)
+{
+ mematrix<double> oX = rdata.extract_genotypes();
+ mematrix<double> X = apply_model(oX, model, interaction, ngpreds,
+ rdata.is_interaction_excluded, false,
+ nullmodel);
+ beta.reinit(X.ncol, 1);
+ sebeta.reinit(X.ncol, 1);
+ double N = static_cast<double>(resid.nrow);
+ mematrix<double> tX = transpose(X);
+ if (invvarmatrix.length_of_mask != 0)
+ tX = tX * invvarmatrix.masked_data;
+
+ mematrix<double> u = tX * resid;
+ mematrix<double> v = tX * X;
+ mematrix<double> csum = column_sum(X);
+ csum = transpose(csum) * csum;
+ csum = csum * (1. / N);
+ v = v - csum;
+ // use cholesky to invert
+ mematrix<double> v_i = v;
+ cholesky2_mm(v_i, tol_chol);
+ chinv2_mm(v_i);
+ // before was
+ // mematrix<double> v_i = invert(v);
+ beta = v_i * u;
+ double sr = 0.;
+ double srr = 0.;
+ for (int i = 0; i < resid.nrow; i++)
+ {
+ sr += resid[i];
+ srr += resid[i] * resid[i];
+ }
+ double mean_r = sr / N;
+ double sigma2_internal = (srr - N * mean_r * mean_r) / (N - beta.nrow);
+ for (int i = 0; i < beta.nrow; i++)
+ sebeta[i] = sqrt(v_i.get(i, i) * sigma2_internal);
+
+ mematrix<double> chi2 = transpose(u) * v_i * u;
+ chi2 = chi2 * (1. / sigma2_internal);
+ chi2_score = chi2[0];
+}
+
+void linear_reg::estimate(regdata& rdatain, int verbose, double tol_chol,
+ int model, int interaction, int ngpreds,
+ masked_matrix& invvarmatrixin, int robust,
+ int nullmodel)
+{
+ // suda interaction parameter
+ // model should come here
+ regdata rdata = rdatain.get_unmasked_data();
+ if (invvarmatrixin.length_of_mask != 0)
+ {
+ invvarmatrixin.update_mask(rdatain.masked_data);
+ // invvarmatrixin.masked_data->print();
+ }
+ if (verbose)
+ {
+ cout << rdata.is_interaction_excluded
+ << " <-rdata.is_interaction_excluded\n";
+ // std::cout << "invvarmatrix:\n";
+ // invvarmatrixin.masked_data->print();
+ std::cout << "rdata.X:\n";
+ rdata.X.print();
+ }
+
+ mematrix<double> X = apply_model(rdata.X, model, interaction, ngpreds,
+ rdata.is_interaction_excluded, false,
+ nullmodel);
+ if (verbose)
+ {
+ std::cout << "X:\n";
+ X.print();
+ std::cout << "Y:\n";
+ rdata.Y.print();
+ }
+
+ int length_beta = X.ncol;
+ beta.reinit(length_beta, 1);
+ sebeta.reinit(length_beta, 1);
+ //Han Chen
+ if (length_beta > 1)
+ {
+ if (model == 0 && interaction != 0 && ngpreds == 2 && length_beta > 2)
+ {
+ covariance.reinit(length_beta - 2, 1);
+ }
+ else
+ {
+ covariance.reinit(length_beta - 1, 1);
+ }
+ }
+
+ //Oct 26, 2009
+ mematrix<double> tX = transpose(X);
+ if (invvarmatrixin.length_of_mask != 0)
+ {
+ tX = tX * invvarmatrixin.masked_data;
+ //!check if quicker
+ //tX = productXbySymM(tX,invvarmatrix);
+ // = invvarmatrix*X;
+ // std::cout<<"new tX.nrow="<<X.nrow<<" tX.ncol="<<X.ncol<<"\n";
+ }
+
+ mematrix<double> tXX = tX * X;
+ double N = X.nrow;
+
+#if EIGEN_COMMENTEDOUT
+ MatrixXd Xeigen = X.data;
+ MatrixXd tXeigen = Xeigen.transpose();
+ MatrixXd tXXeigen = tXeigen * Xeigen;
+ VectorXd Yeigen = rdata.Y.data;
+ VectorXd tXYeigen = tXeigen * Yeigen;
+ // Solve X^T * X * beta = X^T * Y for beta:
+ VectorXd betaeigen = tXXeigen.fullPivLu().solve(tXYeigen);
+ beta.data = betaeigen;
+
+ if (verbose)
+ {
+ std::cout << setprecision(9) << "Xeigen:\n" << Xeigen << endl;
+ std::cout << setprecision(9) << "tX:\n" << tXeigen << endl;
+ std::cout << setprecision(9) << "tXX:\n" << tXXeigen << endl;
+ std::cout << setprecision(9) << "tXY:\n" << tXYeigen << endl;
+ std::cout << setprecision(9) << "beta:\n"<< betaeigen << endl;
+ printf("----\n");
+ printf("beta[0] = %e\n", betaeigen.data()[0]);
+ printf("----\n");
+// (beta).print();
+ double relative_error = (tXXeigen * betaeigen - tXYeigen).norm() / tXYeigen.norm(); // norm() is L2 norm
+ cout << "The relative error is:\n" << relative_error << endl;
+
+ }
+
+ // This one is needed later on in this function
+ mematrix<double> tXX_i = invert(tXX);
+#else
+ //
+ // use cholesky to invert
+ //
+ mematrix<double> tXX_i = tXX;
+ cholesky2_mm(tXX_i, tol_chol);
+ chinv2_mm(tXX_i);
+ // before was
+ // mematrix<double> tXX_i = invert(tXX);
+
+ mematrix<double> tXY = tX * (rdata.Y);
+ beta = tXX_i * tXY;
+
+ if (verbose)
+ {
+ std::cout << "tX:\n";
+ tX.print();
+ std::cout << "tXX:\n";
+ tXX.print();
+ std::cout << "chole tXX:\n";
+ tXX_i.print();
+ std::cout << "tXX-1:\n";
+ tXX_i.print();
+ std::cout << "tXY:\n";
+ tXY.print();
+ std::cout << "beta:\n";
+ (beta).print();
+ }
+#endif
+ // now compute residual variance
+ sigma2 = 0.;
+ mematrix<double> ttX = transpose(tX);
+ mematrix<double> sigma2_matrix = rdata.Y;
+ mematrix<double> sigma2_matrix1 = ttX * beta;
+ // std::cout << "sigma2_matrix\n";
+ // sigma2_matrix.print();
+ //
+ // std::cout << "sigma2_matrix1\n";
+ // sigma2_matrix1.print();
+ sigma2_matrix = sigma2_matrix - sigma2_matrix1;
+ // std::cout << "sigma2_matrix\n";
+ // sigma2_matrix.print();
+ static double val;
+ // std::cout << "sigma2_matrix.nrow=" << sigma2_matrix.nrow
+ // << "sigma2_matrix.ncol" << sigma2_matrix.ncol
+ // <<"\n";
+
+ for (int i = 0; i < sigma2_matrix.nrow; i++)
+ {
+ val = sigma2_matrix.get(i, 0);
+ // std::cout << "val = " << val << "\n";
+ sigma2 += val * val;
+ // std::cout << "sigma2+= " << sigma2 << "\n";
+ }
+
+ double sigma2_internal = sigma2 / (N - static_cast<double>(length_beta));
+ // now compute residual variance
+ // sigma2 = 0.;
+ // for (int i =0;i<(rdata.Y).nrow;i++)
+ // sigma2 += ((rdata.Y).get(i,0))*((rdata.Y).get(i,0));
+ // for (int i=0;i<length_beta;i++)
+ // sigma2 -= 2. * (beta.get(i,0)) * tXY.get(i,0);
+ // for (int i=0;i<(length_beta);i++)
+ // for (int j=0;j<(length_beta);j++)
+ // sigma2 += (beta.get(i,0)) * (beta.get(j,0)) * tXX.get(i,j);
+ // std::cout<<"sigma2="<<sigma2<<"\n";
+ // std::cout<<"sigma2_internal="<<sigma2_internal<<"\n";
+ // replaced for ML
+ // sigma2_internal = sigma2/(N - double(length_beta) - 1);
+ // std::cout << "sigma2/=N = "<< sigma2 << "\n";
+ sigma2 /= N;
+ // std::cout<<"N="<<N<<", length_beta="<<length_beta<<"\n";
+ if (verbose)
+ {
+ std::cout << "sigma2 = " << sigma2 << "\n";
+ }
+ /*
+ loglik = 0.;
+ double ss=0;
+ for (int i=0;i<rdata.nids;i++) {
+ double resid = rdata.Y[i] - beta.get(0,0); // intercept
+ for (int j=1;j<beta.nrow;j++) resid -= beta.get(j,0)*X.get(i,j);
+ // residuals[i] = resid;
+ ss += resid*resid;
+ }
+ sigma2 = ss/N;
+ */
+ //cout << "estimate " << rdata.nids << "\n";
+ //(rdata.X).print();
+ //for (int i=0;i<rdata.nids;i++) cout << rdata.masked_data[i] << " ";
+ //cout << endl;
+ loglik = 0.;
+ double halfrecsig2 = .5 / sigma2;
+ for (int i = 0; i < rdata.nids; i++)
+ {
+ double resid = rdata.Y[i] - beta.get(0, 0); // intercept
+ for (int j = 1; j < beta.nrow; j++)
+ resid -= beta.get(j, 0) * X.get(i, j);
+ residuals[i] = resid;
+ loglik -= halfrecsig2 * resid * resid;
+ }
+ loglik -= static_cast<double>(rdata.nids) * log(sqrt(sigma2));
+ // cout << "estimate " << rdata.nids << "\n";
+ //
+ // Ugly fix to the fact that if we do mmscore, sigma2 is already
+ // in the matrix...
+ // YSA, 2009.07.20
+ //
+ //cout << "estimate 0\n";
+ if (invvarmatrixin.length_of_mask != 0)
+ sigma2_internal = 1.0;
+
+ mematrix<double> robust_sigma2(X.ncol, X.ncol);
+ if (robust)
+ {
+ mematrix<double> XbyR = X;
+ for (int i = 0; i < X.nrow; i++)
+ for (int j = 0; j < X.ncol; j++)
+ {
+ double tmpval = XbyR.get(i, j) * residuals[i];
+ XbyR.put(tmpval, i, j);
+ }
+ XbyR = transpose(XbyR) * XbyR;
+ robust_sigma2 = tXX_i * XbyR;
+ robust_sigma2 = robust_sigma2 * tXX_i;
+ }
+ //cout << "estimate 0\n";
+ for (int i = 0; i < (length_beta); i++)
+ {
+ if (robust)
+ {
+ // cout << "estimate :robust\n";
+ double value = sqrt(robust_sigma2.get(i, i));
+ sebeta.put(value, i, 0);
+ //Han Chen
+ if (i > 0)
+ {
+ if (model == 0 && interaction != 0 && ngpreds == 2
+ && length_beta > 2)
+ {
+ if (i > 1)
+ {
+ double covval = robust_sigma2.get(i, i - 2);
+ covariance.put(covval, i - 2, 0);
+ }
+ }
+ else
+ {
+ double covval = robust_sigma2.get(i, i - 1);
+ covariance.put(covval, i - 1, 0);
+ }
+ }
+ //Oct 26, 2009
+ }
+ else
+ {
+ // cout << "estimate :non-robust\n";
+ double value = sqrt(sigma2_internal * tXX_i.get(i, i));
+ sebeta.put(value, i, 0);
+ //Han Chen
+ if (i > 0)
+ {
+ if (model == 0 && interaction != 0 && ngpreds == 2
+ && length_beta > 2)
+ {
+ if (i > 1)
+ {
+ double covval = sigma2_internal * tXX_i.get(i, i - 2);
+ covariance.put(covval, i - 2, 0);
+ }
+ }
+ else
+ {
+ double covval = sigma2_internal * tXX_i.get(i, i - 1);
+ covariance.put(covval, i - 1, 0);
+ }
+ }
+ //Oct 26, 2009
+ }
+ }
+ //cout << "estimate E\n";
+ if (verbose)
+ {
+ std::cout << "sebeta (" << sebeta.nrow << "):\n";
+ sebeta.print();
+ }
+}
+
+void linear_reg::score(mematrix<double>& resid, regdata& rdatain, int verbose,
+ double tol_chol, int model, int interaction, int ngpreds,
+ const masked_matrix& invvarmatrix, int nullmodel)
+{
+ regdata rdata = rdatain.get_unmasked_data();
+ base_score(resid, rdata, verbose, tol_chol, model, interaction, ngpreds,
+ invvarmatrix, nullmodel = 0);
+}
+
+logistic_reg::logistic_reg(regdata& rdatain)
+{
+ regdata rdata = rdatain.get_unmasked_data();
+ int length_beta = (rdata.X).ncol;
+ beta.reinit(length_beta, 1);
+ sebeta.reinit(length_beta, 1);
+ //Han Chen
+ if (length_beta > 1)
+ {
+ covariance.reinit(length_beta - 1, 1);
+ }
+ //Oct 26, 2009
+ residuals.reinit((rdata.X).nrow, 1);
+ sigma2 = -1.;
+ loglik = -9.999e+32; // should actually be MAX of the corresponding type
+ niter = -1;
+ chi2_score = -1.;
+}
+
+void logistic_reg::estimate(regdata& rdatain, int verbose, int maxiter,
+ double eps, double tol_chol, int model,
+ int interaction, int ngpreds,
+ masked_matrix& invvarmatrixin, int robust,
+ int nullmodel)
+{
+ // In contrast to the 'linear' case 'invvarmatrix' contains the
+ // inverse of correlation matrix (not the inverse of var-cov matrix)
+ // h2.object$InvSigma * h.object2$h2an$estimate[length(h2$h2an$estimate)]
+ // the inverse of var-cov matrix scaled by total variance
+ regdata rdata = rdatain.get_unmasked_data();
+ // a lot of code duplicated between linear and logistic...
+ // e.g. a piece below...
+ mematrix<double> invvarmatrix;
+ if (invvarmatrixin.length_of_mask != 0)
+ {
+ invvarmatrixin.update_mask(rdatain.masked_data);
+ }
+
+ mematrix<double> X = apply_model(rdata.X, model, interaction, ngpreds,
+ rdata.is_interaction_excluded, false,
+ nullmodel);
+ int length_beta = X.ncol;
+ beta.reinit(length_beta, 1);
+ sebeta.reinit(length_beta, 1);
+ //Han Chen
+ if (length_beta > 1)
+ {
+ if (model == 0 && interaction != 0 && ngpreds == 2 && length_beta > 2)
+ {
+ covariance.reinit(length_beta - 2, 1);
+ }
+ else
+ {
+ covariance.reinit(length_beta - 1, 1);
+ }
+ }
+ //Oct 26, 2009
+ mematrix<double> W((X).nrow, 1);
+ mematrix<double> z((X).nrow, 1);
+ mematrix<double> tXWX(length_beta, length_beta);
+ mematrix<double> tXWX_i(length_beta, length_beta);
+ mematrix<double> tXWz(length_beta, 1);
+ double prev = (rdata.Y).column_mean(0);
+ if (prev >= 1. || prev <= 0.)
+ {
+ std::cerr << "prevalence not within (0,1)\n";
+ exit(1);
+ }
+ for (int i = 0; i < length_beta; i++)
+ beta.put(0., i, 0);
+
+ beta.put(log(prev / (1. - prev)), 0, 0);
+ mematrix<double> tX = transpose(X);
+ if (invvarmatrix.nrow != 0 && invvarmatrix.ncol != 0)
+ {
+ //TODO(maarten):invvarmatix is symmetric:is there an more effective way?
+ tX = tX * invvarmatrix;
+ }
+ /*
+ std::cout << "\n";
+ std::cout << "X " << X.get(0,0) << " " << X.get(0,1) << " "
+ << X.get(0,2) << "\n";
+ if (X.ncol==4) std::cout << "X[4] " << X.get(0,3) << "\n";
+ std::cout << "Inv " << invvarmatrix.get(0,0) << " "
+ << invvarmatrix.get(0,1) << " "
+ << invvarmatrix.get(0,2) << "\n";
+
+ if (X.ncol==4) std::cout << ,"X[4] " << invvarmatrix.get(0,3) << "\n";
+ std::cout << "tXInv " << tX.get(0,0) << " " << tX.get(1,0) << " "
+ << tX.get(2,0) << "%f\n";
+ if (X.ncol==4) std::cout << "X[4] " << tX.get(3,0) << "\n";
+ */
+ niter = 0;
+ double delta = 1.;
+ double prevlik = 0.;
+ while (niter < maxiter && delta > eps)
+ {
+ mematrix<double> eMu = (X) * beta;
+ mematrix<double> eMu_us = eMu;
+ for (int i = 0; i < eMu.nrow; i++)
+ {
+ double emu = eMu.get(i, 0);
+ double value = emu;
+ double zval = 0.;
+ value = exp(value) / (1. + exp(value));
+ residuals[i] = (rdata.Y).get(i, 0) - value;
+ eMu.put(value, i, 0);
+ W.put(value * (1. - value), i, 0);
+ zval = emu
+ + (1. / (value * (1. - value)))
+ * (((rdata.Y).get(i, 0)) - value);
+ z.put(zval, i, 0);
+ }
+
+ mematrix<double> tmp = productMatrDiag(tX, W);
+ if (verbose)
+ {
+ std::cout << "tXW:\n";
+ tmp.print();
+ }
+ mematrix<double> tXWX = tmp * (X);
+ //N = tXWX.get(0, 0);
+ if (verbose)
+ {
+ std::cout << "tXWX:\n";
+ tXWX.print();
+ }
+ // std::cout << "tXWX:\n";tXWX.print();
+ //
+ // use cholesky to invert
+ //
+ // tXWX_i = tXWX;
+ //cholesky2_mm(tXWX_i,tol_chol);
+ //if (verbose) {std::cout << "chole tXWX:\n"; tXWX_i.print();}
+ //std::cout << "chole tXWX:\n"; tXWX_i.print();
+ //chinv2_mm(tXWX_i);
+ // was before
+ tXWX_i = invert(tXWX);
+ if (verbose)
+ {
+ std::cout << "tXWX-1:\n";
+ tXWX_i.print();
+ }
+ // std::cout << "*** tXWX_i\n"; tXWX_i.print();
+ mematrix<double> tmp1 = productMatrDiag(tX, W);
+ mematrix<double> tXWz = tmp1 * z;
+ if (verbose)
+ {
+ std::cout << "tXWz:\n";
+ tXWz.print();
+ }
+ beta = tXWX_i * tXWz;
+ // std::cout << "*** res: " << residuals[0] << " "
+ // << residuals[1] << " " << residuals[2] << "\n";
+ //mematrix<double> txres = tx * residuals;
+ // std::cout << "*** txres\n";txres.print();
+ //beta = txwx_i* txres;
+ if (verbose)
+ {
+ std::cout << "beta:\n";
+ beta.print();
+ }
+ // std::cout << "beta:\n"; beta.print();
+ // compute likelihood
+ prevlik = loglik;
+ loglik = 0.;
+ for (int i = 0; i < eMu.nrow; i++)
+ loglik += rdata.Y[i] * eMu_us[i] - log(1. + exp(eMu_us[i]));
+
+ delta = fabs(1. - (prevlik / loglik));
+ niter++;
+ }
+ sigma2 = 0.;
+ mematrix<double> robust_sigma2(X.ncol, X.ncol);
+ if (robust)
+ {
+ mematrix<double> XbyR = X;
+ for (int i = 0; i < X.nrow; i++)
+ for (int j = 0; j < X.ncol; j++)
+ {
+ double tmpval = XbyR.get(i, j) * residuals[i];
+ XbyR.put(tmpval, i, j);
+ }
+ XbyR = transpose(XbyR) * XbyR;
+ robust_sigma2 = tXWX_i * XbyR;
+ robust_sigma2 = robust_sigma2 * tXWX_i;
+ }
+ for (int i = 0; i < (length_beta); i++)
+ {
+ if (robust)
+ {
+ double value = sqrt(robust_sigma2.get(i, i));
+ sebeta.put(value, i, 0);
+ //Han Chen
+ if (i > 0)
+ {
+ if (model == 0 && interaction != 0 && ngpreds == 2
+ && length_beta > 2)
+ {
+ if (i > 1)
+ {
+ double covval = robust_sigma2.get(i, i - 2);
+ covariance.put(covval, i - 2, 0);
+ }
+ }
+ else
+ {
+ double covval = robust_sigma2.get(i, i - 1);
+ covariance.put(covval, i - 1, 0);
+ }
+ }
+ //Oct 26, 2009
+ }
+ else
+ {
+ double value = sqrt(tXWX_i.get(i, i));
+ sebeta.put(value, i, 0);
+ //Han Chen
+ if (i > 0)
+ {
+ if (model == 0 && interaction != 0 && ngpreds == 2
+ && length_beta > 2)
+ {
+ if (i > 1)
+ {
+ double covval = tXWX_i.get(i, i - 2);
+ covariance.put(covval, i - 2, 0);
+ }
+ }
+ else
+ {
+ double covval = tXWX_i.get(i, i - 1);
+ covariance.put(covval, i - 1, 0);
+ }
+ }
+ //Oct 26, 2009
+ }
+ }
+ if (verbose)
+ {
+ std::cout << "sebeta (" << sebeta.nrow << "):\n";
+ sebeta.print();
+ }
+ // std::cout << "beta (" << beta.nrow << "):\n"; beta.print();
+ // std::cout << "sebeta (" << sebeta.nrow << "):\n"; sebeta.print();
+ // exit(1);
+}
+
+void logistic_reg::score(mematrix<double>& resid, regdata& rdata, int verbose,
+ double tol_chol, int model, int interaction,
+ int ngpreds, masked_matrix& invvarmatrix,
+ int nullmodel)
+{
+ base_score(resid, rdata, verbose, tol_chol, model, interaction, ngpreds,
+ invvarmatrix, nullmodel = 0);
+}
diff --git a/src/reg1.h b/src/reg1.h
new file mode 100644
index 0000000..f4bf490
--- /dev/null
+++ b/src/reg1.h
@@ -0,0 +1,98 @@
+//==============================================================================
+//
+// Filename: src/reg1.h
+//
+// Description: ProbABEL
+//
+// Version: 0.1-3
+// Created: ---
+// Revision: none
+// last modification: 11-Jan-2009
+//
+// Author: Yurii S. Aulchenko
+// modified by: Maksim V. Struchalin, 11-Jan-2009
+//
+// Modified by Han Chen (hanchen at bu.edu) on Nov 9, 2009
+// based on src/reg1.h version 0.2 as of Oct 19, 2009
+//
+// Company: ErasmusMC,
+// Epidemiology & Biostatistics Department,
+// Rotterdam,
+// The Netherlands.
+// Email: i.aoultchenko at erasmusmc.nl, m.struchalin at erasmusmc.nl
+//
+//==============================================================================
+//#include "coxph_data.h"
+#ifndef REG1_H_
+#define REG1_H_
+#include <cmath>
+#include "cholesky.h"
+#include "regdata.h"
+#include "maskedmatrix.h"
+
+mematrix<double> apply_model(mematrix<double>& X, int model, int interaction,
+ int ngpreds, bool is_interaction_excluded, bool iscox = false,
+ int nullmodel = 0);
+
+mematrix<double> t_apply_model(mematrix<double>& X, int model, int interaction,
+ int ngpreds, bool iscox, int nullmodel = 0);
+
+class base_reg {
+public:
+ mematrix<double> beta;
+ mematrix<double> sebeta;
+ //Han Chen
+ mematrix<double> covariance;
+ //Oct 26, 2009
+ mematrix<double> residuals;
+ double sigma2;
+ double loglik;
+ double chi2_score;
+
+ void base_score(mematrix<double>& resid, regdata& rdata, int verbose,
+ double tol_chol, int model, int interaction, int ngpreds,
+ const masked_matrix& invvarmatrix, int nullmodel);
+};
+
+class linear_reg: public base_reg {
+public:
+ linear_reg(regdata& rdatain);
+ ~linear_reg()
+ {
+ // delete beta;
+ // delete sebeta;
+ // delete residuals;
+ }
+
+ void estimate(regdata& rdatain, int verbose, double tol_chol, int model,
+ int interaction, int ngpreds,
+ masked_matrix& invvarmatrixin,
+ int robust, int nullmodel = 0);
+
+ void score(mematrix<double>& resid, regdata& rdatain, int verbose,
+ double tol_chol, int model, int interaction, int ngpreds,
+ const masked_matrix& invvarmatrix, int nullmodel = 0);
+};
+
+class logistic_reg: public base_reg {
+public:
+ int niter;
+
+ logistic_reg(regdata& rdatain);
+ ~logistic_reg()
+ {
+ // delete beta;
+ // delete sebeta;
+ }
+
+ void estimate(regdata& rdatain, int verbose, int maxiter, double eps,
+ double tol_chol, int model, int interaction, int ngpreds,
+ masked_matrix& invvarmatrixin, int robust,
+ int nullmodel = 0);
+ // just a stupid copy from linear_reg
+ void score(mematrix<double>& resid, regdata& rdata, int verbose,
+ double tol_chol, int model, int interaction, int ngpreds,
+ masked_matrix& invvarmatrix, int nullmodel = 0);
+};
+
+#endif
diff --git a/src/regdata.cpp b/src/regdata.cpp
new file mode 100644
index 0000000..19ec576
--- /dev/null
+++ b/src/regdata.cpp
@@ -0,0 +1,212 @@
+/*
+ * regdata.cpp
+ *
+ * Created on: Mar 29, 2012
+ * Author: mkooyman
+ */
+
+#include "fvlib/AbstractMatrix.h"
+#include "fvlib/CastUtils.h"
+#include "fvlib/const.h"
+#include "fvlib/convert_util.h"
+#include "fvlib/FileVector.h"
+#include "fvlib/frutil.h"
+#include "fvlib/frversion.h"
+#include "fvlib/Logger.h"
+#include "fvlib/Transposer.h"
+
+#include "regdata.h"
+
+regdata::regdata()
+{
+ nids = 0;
+ ncov = 0;
+ ngpreds = 0;
+ noutcomes = 0;
+ is_interaction_excluded = false;
+ masked_data = NULL;
+}
+
+
+regdata::regdata(const regdata &obj) : X(obj.X), Y(obj.Y)
+{
+ nids = obj.nids;
+ ncov = obj.ncov;
+ ngpreds = obj.ngpreds;
+ noutcomes = obj.noutcomes;
+ is_interaction_excluded = obj.is_interaction_excluded;
+ masked_data = new unsigned short int[nids];
+
+ for (int i = 0; i < nids; i++)
+ {
+ masked_data[i] = obj.masked_data[i];
+ }
+}
+
+regdata::regdata(phedata &phed, gendata &gend, int snpnum,
+ bool ext_is_interaction_excluded)
+{
+ nids = gend.nids;
+ masked_data = new unsigned short int[nids];
+ for (int i = 0; i < nids; i++)
+ {
+ masked_data[i] = 0;
+ }
+
+ ngpreds = gend.ngpreds;
+ if (snpnum >= 0)
+ {
+ ncov = phed.ncov + ngpreds;
+ }
+ else
+ {
+ ncov = phed.ncov;
+ }
+ noutcomes = phed.noutcomes;
+ X.reinit(nids, (ncov + 1));
+ Y.reinit(nids, noutcomes);
+ for (int i = 0; i < nids; i++)
+ {
+ X.put(1., i, 0);
+ Y.put((phed.Y).get(i, 0), i, 0);
+ }
+
+ for (int j = 1; j <= phed.ncov; j++)
+ {
+ for (int i = 0; i < nids; i++)
+ {
+ X.put((phed.X).get(i, j - 1), i, j);
+ }
+ }
+
+ if (snpnum > 0)
+ for (int j = 0; j < ngpreds; j++)
+ {
+ double snpdata[nids];
+ gend.get_var(snpnum * ngpreds + j, snpdata);
+ for (int i = 0; i < nids; i++)
+ X.put(snpdata[i], i, (ncov - ngpreds + 1 + j));
+ }
+ // for (int i=0;i<nids;i++)
+ // for (int j=0;j<ngpreds;j++)
+ // X.put((gend.G).get(i,(snpnum*ngpreds+j)),i,(ncov-ngpreds+1+j));
+ is_interaction_excluded = ext_is_interaction_excluded;
+}
+
+void regdata::update_snp(gendata &gend, int snpnum)
+{
+ // Add genotypic data (dosage or probabilities) to the design
+ // matrix X.
+
+ for (int j = 0; j < ngpreds; j++)
+ {
+ double snpdata[nids];
+ for (int i = 0; i < nids; i++)
+ {
+ masked_data[i] = 0;
+ }
+
+ gend.get_var(snpnum * ngpreds + j, snpdata);
+
+ for (int i = 0; i < nids; i++)
+ {
+ X.put(snpdata[i], i, (ncov - j));
+ if (isnan(snpdata[i]))
+ {
+ masked_data[i] = 1;
+ }
+ }
+ }
+}
+
+void regdata::remove_snp_from_X()
+{
+ // update_snp() adds SNP information to the design matrix. This
+ // function allows you to strip that information from X again.
+ // This is used for example when calculating the null model.
+
+ if(ngpreds == 1)
+ {
+ X.delete_column(X.ncol -1);
+ }
+ else if(ngpreds == 2)
+ {
+ X.delete_column(X.ncol -1);
+ X.delete_column(X.ncol -1);
+ }
+ else
+ {
+ cerr << "Error: ngpreds should be 1 or 2. "
+ << "You should never come here!\n";
+ }
+}
+
+regdata::~regdata()
+{
+ delete[] regdata::masked_data;
+ // delete X;
+ // delete Y;
+}
+
+regdata regdata::get_unmasked_data()
+{
+ regdata to; // = regdata(*this);
+ int nmeasured = 0;
+ for (int i = 0; i < nids; i++)
+ {
+ if (masked_data[i] == 0)
+ nmeasured++;
+ }
+
+ to.nids = nmeasured;
+ to.ncov = ncov;
+ to.ngpreds = ngpreds;
+ to.noutcomes = noutcomes;
+ to.is_interaction_excluded = is_interaction_excluded;
+ int dim2Y = Y.ncol;
+ int dim2X = X.ncol;
+ (to.X).reinit(to.nids, dim2X);
+ (to.Y).reinit(to.nids, dim2Y);
+
+ int j = 0;
+ for (int i = 0; i < nids; i++)
+ {
+ if (masked_data[i] == 0)
+ {
+ for (int nc = 0; nc < dim2X; nc++)
+ {
+ (to.X).put(X.get(i, nc), j, nc);
+ }
+
+ for (int nc = 0; nc < dim2Y; nc++)
+ {
+ (to.Y).put(Y.get(i, nc), j, nc);
+ }
+ j++;
+ }
+ }
+
+ //delete [] to.masked_data;
+ to.masked_data = new unsigned short int[to.nids];
+ for (int i = 0; i < to.nids; i++)
+ {
+ to.masked_data[i] = 0;
+ }
+ // std::cout << "get_unmasked: " << to.nids << " "
+ // << dim2X << " " << dim2Y << "\n";
+ return (to);
+}
+
+mematrix<double> regdata::extract_genotypes(void)
+{
+ mematrix<double> out;
+ out.reinit(X.nrow, ngpreds);
+ for (int i = 0; i < X.nrow; i++)
+ {
+ for (int j = 0; j < ngpreds; j++)
+ {
+ out[i * ngpreds + j] = X.get(i, (ncov - ngpreds + 1 + j));
+ }
+ }
+ return out;
+}
diff --git a/src/regdata.h b/src/regdata.h
new file mode 100644
index 0000000..a6e53da
--- /dev/null
+++ b/src/regdata.h
@@ -0,0 +1,44 @@
+/*
+ * regdata.h
+ *
+ * Created on: Mar 29, 2012
+ * Author: mkooyman
+ */
+
+#ifndef REGDATA_H_
+#define REGDATA_H_
+
+#if EIGEN
+#include "eigen_mematrix.h"
+#include "eigen_mematrix.cpp"
+#else
+#include "mematrix.h"
+#include "mematri1.h"
+#endif
+#include "gendata.h"
+#include "phedata.h"
+
+class regdata {
+public:
+ int nids;
+ int ncov;
+ int ngpreds;
+ int noutcomes;
+ bool is_interaction_excluded;
+ unsigned short int * masked_data;
+ mematrix<double> X;
+ mematrix<double> Y;
+ regdata();
+ regdata(const regdata &obj);
+ regdata(phedata &phed, gendata &gend, int snpnum,
+ bool ext_is_interaction_excluded);
+ mematrix<double> extract_genotypes();
+ void update_snp(gendata &gend, int snpnum);
+ void remove_snp_from_X();
+ regdata get_unmasked_data();
+ ~regdata();
+
+private:
+};
+
+#endif /* REGDATA_H_ */
diff --git a/src/survS.h b/src/survS.h
new file mode 100644
index 0000000..4496998
--- /dev/null
+++ b/src/survS.h
@@ -0,0 +1,12 @@
+#include "R.h"
+#include "R_ext/Memory.h"
+#define ALLOC(a,b) S_alloc(a,b)
+
+#include "Rmath.h"
+#ifndef erf
+#define erf(x) (2*pnorm5((x)*M_SQRT2,0,1,1,0)-1)
+#endif
+#ifndef erfc
+#define erfc(x) (2*pnorm5(-(x)*M_SQRT2,0,1,1,0))
+#endif
+
diff --git a/src/survproto.h b/src/survproto.h
new file mode 100644
index 0000000..6ec12d5
--- /dev/null
+++ b/src/survproto.h
@@ -0,0 +1,216 @@
+/** Main R changes
+ *** long to int everywhere. Penalised functions get
+ *** some extra arguments, init_callback functions not needed
+ **/
+
+/*
+ ** SCCS @(#)survproto.h 5.2 10/28/98
+ ** prototypes of all the survival functions
+ ** along with a few macros
+ */
+
+void agexact(int *maxiter, int *nusedx, int *nvarx, double *start, double *stop,
+ int *event, double *covar2, double *offset, int *strata, double *means,
+ double *beta, double *u, double *imat2, double loglik[2], int *flag,
+ double *work, int *work2, double *eps, double *tol_chol,
+ double *sctest);
+
+void agfit2(int *maxiter, int *nusedx, int *nvarx, double *start, double *stop,
+ int *event, double *covar2, double *offset, double *weights,
+ int *strata, double *means, double *beta, double *u, double *imat2,
+ double loglik[2], int *flag, double *work, int *end, double *eps,
+ double *tol_chol, double *sctest);
+
+void agfit3(int *maxiter, int *nusedx, int *nvarx, double *start, double *stop,
+ int *event, double *covar2, double *offset, double *weights,
+ int *nstrat, int *strata, int *sort1, int *sort2, double *means,
+ double *beta, double *u, double *imat2, double loglik[2], int *flag,
+ double *work, double *eps, double *tol_chol, double *sctest);
+
+void agfit5_a(int *nusedx, int *nvarx, double *yy, double *covar2,
+ double *offset2, double *weights2, int *strata, int *sort,
+ double *means, double *beta, double *u, double *loglik, int *methodx,
+ int *ptype2, int *pdiag2, int *nfrail, int *frail2, void *fexpr1,
+ void *fexpr2, void *rho);
+
+void agfit5_b(int *maxiter, int *nusedx, int *nvarx, int *strata, double *beta,
+ double *u, double *imat2, double *jmat2, double *loglik, int *flag,
+ double *eps, double *tolerch, int *methodx, int *nfrail, double *fbeta,
+ double *fdiag,
+ /* R callback information */
+ void *fexpr1, void *fexpr2, void *rho);
+
+void agfit5_c(int *nusedx, int *nvar, int *strata, int *methodx,
+ double *expect);
+
+void agfit_null(int *n, int *method, double *start, double *stop, int *event,
+ double * offset, double *weights, int *strata, double loglik[2]);
+/*
+ void aghaz2(int *n, double *start, double *stop, int *event,
+ double *score, int * strata, double *hazard, double * cumhaz);
+ */
+void agmart(int *n, int *method, double *start, double *stop, int *event,
+ double *score, double *wt, int *strata, double *resid);
+
+void agmart2(int *n, int *method, double *start, double *stop, int *event,
+ int *nstrat, int *strata, int *sort1, int *sort2, double *score,
+ double *wt, double *resid, double *haz);
+
+void agres12(int *nx, int *nvarx, double *y, double *covar2, int *strata,
+ double *score, int *method, double *resid2, double *a);
+
+void agscore(int *nx, int *nvarx, double *y, double *covar2, int *strata,
+ double *score, double *weights, int *method, double *resid2, double *a);
+
+void agsurv1(int *sn, int *snvar, double *y, double *score, int *strata,
+ double *surv, double *varh, int *snsurv, double *xmat, double *d,
+ double *varcov, double *yy, int *shisn, double *hisy, double *hisxmat,
+ double *hisrisk, int *hisstrat);
+
+void agsurv2(int *sn, int *snvar, double *y, double *score, int *strata,
+ double *surv, double *varh, double *xmat, double *varcov, int *snsurv,
+ double *d, int *sncurve, double *newx, double *newrisk);
+
+void agsurv3(int *sn, int *snvar, int *sncurve, int *snpt, int *sse,
+ double *score, double *sy, double *r, double *coef, double *var,
+ double *cmean, int *scn, double *cy, double *cx, double *ssurv,
+ double *varh, double *sused, int *smethod);
+
+void chinv2(double **matrix, int n);
+int cholesky2(double **matrix, int n, double toler);
+void chsolve2(double **matrix, int n, double *y);
+void chinv3(double **matrix, int n, int m, double *fdiag);
+int cholesky3(double **matrix, int n, int m, double *diag, double toler);
+void chsolve3(double **matrix, int n, int m, double *diag, double *y);
+
+void coxdetail(int *nusedx, int *nvarx, int *ndeadx, double *y, double *covar2,
+ int *strata, double *score, double *weights, double *means2, double *u2,
+ double *var, double *work);
+
+void coxfit2(int *maxiter, int *nusedx, int *nvarx, double *Time, int *status,
+ double *covar2, double *offset, double *weights, int *strata,
+ double *means, double *beta, double *u, double *imat2, double loglik[2],
+ int *flag, double *work, double *eps, double *tol_chol, double *sctest);
+
+void coxfit5_a(int *nusedx, int *nvarx, double *yy, double *covar2,
+ double *offset2, double *weights2, int *strata, int *sorted,
+ double *means, double *beta, double *u, double *loglik, int *methodx,
+ int *ptype2, int *pdiag2, int *nfrail, int *frail2, void *fexpr1,
+ void *fexpr2, void *rho);
+void coxfit5_b(int *maxiter, int *nusedx, int *nvarx, int *strata, double *beta,
+ double *u, double *imat2, double *jmat2, double *loglik, int *flag,
+ double *eps, double *tolerch, int *methodx, int *nfrail, double *fbeta,
+ double *fdiag, void *fexpr1, void *fexpr2, void *rho);
+
+void coxfit5_c(int *nusedx, int *nvar, int *strata, int *methodx,
+ double *expect);
+
+void coxfit_null(int *nusedx, int *method, double *Time, int *status,
+ double *score, double *weights, int *strata, double *loglik,
+ double *resid);
+
+void coxhaz2(int *n, double *score, int *mark, int *strata, double *hazard,
+ double *cumhaz);
+
+void coxmart(int *sn, int *method, double *Time, int *status, int * strata,
+ double *score, double *wt, double *expect);
+
+void coxph_wtest(int *nvar2, int *ntest, double *var, double *b,
+ double *scratch, double *tolerch);
+
+void coxscho(int *nusedx, int *nvarx, double *y, double *covar2, double *score,
+ int *strata, int *method2, double *work);
+
+void coxscore(int *nx, int *nvarx, double *y, double *covar2, int *strata,
+ double *score, double *weights, int *method, double *resid2,
+ double *scratch);
+
+double **dmatrix(double *array, int ncol, int nrow);
+
+void init_doloop(int min, int max);
+int doloop(int nloops, int *index);
+
+/* void init_coxcall1(long *ptr1, vector **ptr2);
+ void init_coxcall2(long *ptr1, vector **ptr2);
+ */
+void cox_callback(int which, double *coef, double *first, double *second,
+ double *penalty, int *flag, int p, void *fexpr, void *rho);
+
+void pyears1(int *sn, int *sny, int *sdoevent, double *sy, double *weight,
+ int *sedim, int *efac, int *edims, double *secut, double *expect,
+ double *sedata, int *sodim, int *ofac, int *odims, double *socut,
+ int *smethod, double *sodata, double *pyears, double *pn,
+ double *pcount, double *pexpect, double *offtable);
+
+void pyears2(int *sn, int *sny, int *sdoevent, double *sy, double *wt,
+ int *sodim, int *ofac, int *odims, double *socut, double *sodata,
+ double *pyears, double *pn, double *pcount, double *offtable);
+
+void pyears3(int *sdeath, int *sn, int *sedim, int *efac, int *edims,
+ double *secut, double *expect, double *sx, double *y, int *sntime,
+ int *sngrp, double *times, double *esurv, int *nsurv);
+
+double pystep(int nc, int *index, int *index2, double *wt, double *data,
+ int *fac, int *dims, double **cuts, double step, int edge);
+
+/** This doesn't seem to exist, but since nothing calls it we probably don't care.
+ Does this mean we could lose the space allocated to savediag?
+ int rnewton(int *maxiter, int n, int nvar, double *beta,
+ double *u, double **imat, double loglik[2], double eps,
+ void (*dolk)(), void (*doimat)(), double *tol_chol,
+ double *newbeta, double *savediag, int debug);
+ */
+
+void surv_callback(double *z, double *dist, int n, void *fn, void *rho);
+
+void survdiff2(int *nn, int *nngroup, int *nstrat, double *rho, double *Time,
+ int *status, int *group, int *strata, double *obs, double *exp,
+ double *var, double *risk, double *kaplan);
+
+void survfit2(int *sn, double *y, double *wt, int *strata, int *method,
+ int *error, double *mark, double *surv, double *varh, double *risksum);
+
+void survfit3(int *sn, double *y, double *wt, int *strata, int *method,
+ int *error, int *nstrat, double *ntimes_strata, double *timelist,
+ double *weighted_event, double *surv, double *varh, double *risksum,
+ double *enter, double *exit_censored);
+
+/* void survindex2(int *n, double *stime, int *strata, */
+/* int *ntime, double *time, int *nstrat, */
+/* int *o_n_risk, int *o_n_event, double *o_surv, */
+/* double *o_std_err, double *o_upper, double *o_lower, */
+/* int *n_risk, int *n_event, double *surv, */
+/* double *std_err, double *upper, double *lower, */
+/* double *new_start, int *num_extend, int *times_strata, */
+/* double *temp_times); */
+void survindex2(int *n, double *stime, int *strata, int *ntime, double *time,
+ int *nstrat, int *indx, int *indx2);
+
+void survreg2(int *maxiter, int *nx, int *nvarx, double *y, int *ny,
+ double *covar2, double *wtx, double *offset2, double *beta,
+ int *nstratx, int *stratax, double *ux, double *imatx, double *loglik,
+ int *flag, double *eps, double *tol_chol, int *dist, int *ddebug,
+ void *placeholder1, void *placeholder2);
+
+void survreg4(int *maxiter, int *nx, int *nvarx, double *y, int *ny,
+ double *covar2, double *wt2, double *offset2, double *beta,
+ int *nstratx, int *stratax, double *ux, double *imatx, double *jmatx,
+ double *loglik, int *flag, double *eps, double *tol_chol, int *dist,
+ int *ddebug, int *ptype2, int *pdiag2, int *nfrail2, int *frail2,
+ double *fdiag2, void *fexpr1, void *fexpr2, void *placeholder,
+ void *rho);
+
+void survreg3(int *maxiter, int *nx, int *nvarx, double *y, int *ny,
+ double *covar2, double *wtx, double *offset2, double *beta,
+ int *nstratx, int *stratax, double *ux, double *imatx, double *loglik,
+ int *flag, double *eps, double *tol_chol, int *dist, int *ddebug,
+ void* density, void *rho);
+
+void survreg5(int *maxiter, int *nx, int *nvarx, double *y, int *ny,
+ double *covar2, double *wt2, double *offset2, double *beta,
+ int *nstratx, int *stratax, double *ux, double *imatx, double *jmatx,
+ double *loglik, int *flag, double *eps, double *tol_chol, int *dist,
+ int *ddebug, int *ptype2, int *pdiag2, int *nfrail2, int *frail2,
+ double *fdiag2, void *fexpr1, void *fexpr2, void *density, void *rho);
+
+void char_date(int *n, int *order, char *cdate, int *month, int*day, int *year);
diff --git a/src/usage.cpp b/src/usage.cpp
new file mode 100644
index 0000000..dcb4ee0
--- /dev/null
+++ b/src/usage.cpp
@@ -0,0 +1,90 @@
+#include <iostream>
+#include <fstream>
+#include <cstdlib>
+#include <cstdio>
+#include "command_line_settings.h"
+
+#if HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#if EIGEN
+#include "eigen_mematrix.h"
+#endif
+
+
+using namespace std;
+
+void print_usage(char * program_name, int exit_code)
+{
+ cout << "\nUsage: " << program_name << " options" << endl;
+ cout << "Options:" << endl;
+ cout << "\t --pheno : phenotype file name" << endl;
+ cout << "\t --info : information (e.g. MLINFO) file name" << endl;
+ cout << "\t --dose : predictor (e.g. MLDOSE/MLPROB) file name"
+ << endl;
+ cout << "\t --map : [optional] map file name" << endl;
+ cout << "\t --nids : [optional] number of people to analyse" << endl;
+ cout << "\t --chrom : [optional] chromosome (to be passed to output)"
+ << endl;
+ cout << "\t --out : [optional] output file name "
+ << "(default is regression.out.txt)"
+ << endl;
+ cout << "\t --skipd : [optional] how many columns to skip in the predictor"
+ << "\n\t (dose/prob) file (default 2)"
+ << endl;
+#if COXPH
+ cout << "\t --ntraits : [optional] how many traits are analysed (default 2)"
+ << endl;
+#else
+ cout << "\t --ntraits : [optional] how many traits are analysed (default 1)"
+ << endl;
+#endif
+ cout << "\t --ngpreds : [optional] how many predictor columns per marker"
+ <<"\n\t (default 1 = MLDOSE; else use 2 for MLPROB)"
+ << endl;
+ cout << "\t --separat : [optional] character to separate fields "
+ << "(default is space)"
+ << endl;
+ cout << "\t --score : use score test" << endl;
+ cout << "\t --no-head : do not report header line" << endl;
+ cout << "\t --allcov : report estimates for all covariates (large outputs!)"
+ << endl;
+ cout << "\t --interaction: Which covariate to use for interaction with "
+ << "SNP analysis (default is no interaction, 0)"
+ << endl;
+ cout << "\t --interaction_only: like previous but without covariate acting"
+ << " in interaction with SNP (default is no interaction, 0)"
+ << endl;
+#if !COXPH
+ cout << "\t --mmscore : score test in samples of related individuals. "
+ << "File with inverse of variance-covariance matrix (for palinear)"
+ << " or inverse correlation (for palogist) as input parameter"
+ << endl;
+ cout << "\t --robust : report robust (aka sandwich, aka Hubert-White) "
+ << "standard errors"
+ << endl;
+#endif
+ cout << "\t --help : print help" << endl;
+ exit(exit_code);
+}
+
+
+void print_version(void){
+ cout << PACKAGE
+ << " v. " << PACKAGE_VERSION
+ << "\n(C) Yurii Aulchenko, Lennart C. Karssen, Maksim Struchalin, "
+ << "EMCR\n\n";
+#if EIGEN
+ cout << "Using EIGEN version " << EIGEN_WORLD_VERSION
+ << "." << EIGEN_MAJOR_VERSION << "." << EIGEN_MINOR_VERSION
+ << " for matrix operations\n";
+#endif
+}
+
+
+void print_help(char * program_name, int exit_code)
+{
+ print_version();
+ print_usage(program_name, exit_code);
+}
diff --git a/src/usage.h b/src/usage.h
new file mode 100644
index 0000000..b6be61e
--- /dev/null
+++ b/src/usage.h
@@ -0,0 +1,16 @@
+/*
+ * usage.h
+ *
+ * Created on: Mar 6, 2012
+ * Author: mkooyman
+ */
+
+#ifndef USAGE_H_
+#define USAGE_H_
+void print_usage(char * program_name, int exit_code);
+
+void print_help(char * program_name, int exit_code);
+
+void print_version(void);
+
+#endif /* USAGE_H_ */
diff --git a/src/utilities.cpp b/src/utilities.cpp
new file mode 100644
index 0000000..437da3f
--- /dev/null
+++ b/src/utilities.cpp
@@ -0,0 +1,23 @@
+/*
+ * utilities.cpp
+ *
+ * Created on: Mar 15, 2012
+ * Author: mkooyman
+ */
+#include <string>
+#include <cstdarg>
+#include <cstdio>
+#include <iostream>
+#include <cstdlib>
+
+void report_error(const char * format, ...)
+{
+ va_list args;
+ char buffer[256];
+ va_start(args, format);
+ vsprintf(buffer, format, args);
+ va_end(args);
+
+ std::cerr << "ERROR: " << buffer << std::endl;
+ exit(EXIT_FAILURE);
+}
diff --git a/src/utilities.h b/src/utilities.h
new file mode 100644
index 0000000..8057129
--- /dev/null
+++ b/src/utilities.h
@@ -0,0 +1,12 @@
+/*
+ * utilities.h
+ *
+ * Created on: Mar 15, 2012
+ * Author: mkooyman
+ */
+
+#ifndef UTILITIES_H_
+#define UTILITIES_H_
+void report_error(const char * format, ...);
+
+#endif /* UTILITIES_H_ */
--
Alioth's /git/debian-med/git-commit-notice on /srv/git.debian.org/git/debian-med/probabel.git
More information about the debian-med-commit
mailing list